How the work gets done

Risk Modeler

Estimates detention and compliance risk as a transparent, sourced range.

3 min readUpdated Aug 6, 2026

Deterministic service. The only number on the Simulation screen that isn't a direct read from a regulatory source — and it's labelled as such, returned as a range, with the formula in plain view.

What it does

Given a classified, screened entry, returns the expected detention cost as a probability-weighted dollar range, plus a "cargo at risk" exclusion- scenario figure shown separately. The output is intentionally honest: this is a planning-grade scenario cost, not a CBP detention prediction.

The model exists because the question "what could go wrong, and what would it cost me?" is the most-asked importer question pre-PO. We needed a transparent answer that we can defend. A black-box LLM "this shipment has 73% risk" is not defensible; a published formula with documented bands is.

Inputs

{
  classification: { htsCode, htsChapter, confidence },
  screening:      { band, blocking, topHit },
  duty:           { effectiveRatePct, totalDutyCents },
  shipment: {
    valueCents, originCountry, mode,
  },
}

Outputs

{
  detentionProbabilityLow:  0.06,    // 6%
  detentionProbabilityHigh: 0.12,    // 12%
  delayDays: 21,                     // expected delay band
  carryingCostCents: 82_849,         // value × 12% cost-of-capital × delay/365
  responseCostLowCents:  300_000,    // legal + consultant fees, low end
  responseCostHighCents: 700_000,    // legal + consultant fees, high end
  expectedAdditionLowCents: 22_971,  // P_low × (carry + response_low)
  expectedAdditionHighCents: 93_942, // P_high × (carry + response_high)
  cargoValueAtRiskCents: 0,          // full declared value on a block-band hit; 0 otherwise (this case has no entity hit). Reported SEPARATELY, not added.
  assumptions: [                     // plain-language basis for each band, shown in-app
    'China-origin goods in a UFLPA-sensitive chapter — elevated baseline detention rate even without an entity-list hit.',
    'Delay carrying cost: 21 days at 12%/yr cost of capital on declared value.',
  ],
}

When it runs

  • Every Simulation — the range you see in the result panel. This is a pre-purchase-order, read-only what-if; it computes classification, duty, and denied-party screening live and folds them into the modelled detention cost. It does not run on live filed entries and there is no "Risk" panel in the entry drawer.

The formula (the whole thing)

Expected detention cost  =  P(detention)  ×  ( delay carrying cost  +  response cost )

Cargo at risk (exclusion scenario)  =  full declared value
      — shown ONLY when the supplier hits a block-band record
        (denied-party / UFLPA Entity List); otherwise 0 / not shown.
      [reported separately, NOT added]

P(detention) — bands, driven by the live screening result

Screening resultProbability band
Block hit (UFLPA / Entity List)50 – 70 %
Review-band match15 – 25 %
China-origin, UFLPA-sensitive chapter (42/52/61/62/63/64), no entity hit6 – 12 %
All other1 – 3 %

Delay carrying cost

declared value × 12% annual cost of capital × delay days / 365
ResultDelay days
Block60
Review30
UFLPA-sensitive geographic21
Clear0
ResultRange
Block$15K – $25K
Review$5K – $10K
UFLPA-sensitive$3K – $7K
Clear$0

What success looks like

MetricBarToday
Transparency — formula visible in-appYes✓ Methodology modal §7
Returned as a range, never a single numberAlways
Labeled "modelled, not a prediction" in-appAlways
Auditable per layerYes — each component sourced

We do not track recall/precision metrics on this model because we don't have ground truth (no public CBP detention dataset to evaluate against). Once Aduaria has its own data flywheel — real entries flowing, real detentions observed — we'll replace the heuristic bands with empirical rates per (origin × chapter × supplier-risk-band) cell.

What it does NOT do

  • Does NOT claim to predict CBP detentions. It produces a planning-grade cost so the importer can size the risk. We say this out loud in the modal.
  • Does NOT account for first-time-importer effects, broker reputation, port-specific intensive-exam rates, or commodity-specific intensive-exam patterns.
  • Does NOT sum cargo-at-risk into the expected cost. Cargo at risk is the exclusion scenario, reported separately to avoid double-counting.
  • Does NOT model FDA / FCC / USDA hold cost — those are PGA-specific with their own delay distributions. Flagged but not costed yet.
  • Does NOT apply to entries already filed and cleared — risk is a pre-file concept here.

Roadmap

  • Q4 2026 — Once we have ≥ 200 live entries, replace the broad heuristic bands with empirical detention rates per (origin × chapter × supplier-risk-band) cell.
  • Q4 2026 — Port-specific exam-rate adjustment (LAX has very different intensive-exam rates than Norfolk).
  • Q1 2027 — First-time-importer penalty (CBP applies more scrutiny to new importer numbers).
  • Q1 2027 — PGA-specific delay distributions (FDA detention is different from CBP, and the response process is different too).
Ready to see it live?

Put your own book of entries through Aduaria.