How the numbers are built, and what they do not tell you
A plain description of what a SpendRFX brief draws on, how sanctions screening behaves when a source fails, and how Forward Exposure estimates are calculated.
Last reviewed October 7, 2026, against the current product code.
What a brief is built from
For each supplier, a brief draws on more than 70 public data sources. They include SEC filings, federal enforcement and safety records, government sanctions and exclusion lists, court records and news.
Not every source returns a result for every company. Each brief records how many sources returned a result (a result saying a screen could not run still counts as a result) and a health status for each source: ok, no-data, error or skipped. A screen that could not run is recorded as error, not ok.
Briefs are cached for 24 hours. A brief you open can be up to 24 hours old.
Sanctions and exclusion screening
The company being researched is checked against four lists:
- The US Consolidated Screening List published by trade.gov, which includes the OFAC SDN list, the BIS Entity, Denied Persons, Unverified and Military End User lists, and the State Department ITAR debarred and nonproliferation lists.
- The DHS Uyghur Forced Labor Prevention Act (UFLPA) Entity List.
- The HHS-OIG List of Excluded Individuals/Entities (LEIE), business entries.
- SAM.gov federal exclusion status.
The first three are downloaded and matched by name. A match is either an exact normalized name or, for multi-word names, a word overlap of at least 75%. Each screening result carries a disclaimer that a potential match is not a determination that the party is listed, and that a clean result is not an OFAC or export-compliance determination.
SAM.gov works differently. It is a lookup of registrants by legal business name, and the registrant's exclusion-status flag is read as excluded or not excluded.
When a source fails, the result is never recorded as clean
Each screen records a status in the brief data. The sanctions screen uses one of four:
| Status | Meaning for event calibrations |
|---|---|
| clean | Every list loaded and there were no matches. |
| hit | At least one potential match. Manual review required. |
| partial | No matches, but at least one list was unavailable. For example, the Consolidated Screening List loaded and the UFLPA list did not. |
| not_screened | The Consolidated Screening List was unavailable, so nothing was screened. |
Each list is also recorded as ok, stale-cache or unavailable, with an as-of time when it loaded. The same rule holds for the other checks:
- The HHS-OIG check records not_screened when its list is unavailable.
- The SAM.gov check records not_screened when the API key is missing or rejected, the daily request quota is exhausted, the request fails, or the response cannot be read.
- If SAM.gov finds no registrant under the name searched, the SAM.gov check records not_screened with that reason, because legal names often differ from trading names.
A failure is never recorded as clean. The text of an AI-written brief is instructed to report partial and not_screened results plainly and not to describe the supplier as cleared. That is an instruction to the writing step, not a guarantee of the wording. The simpler rule-based fallback brief, used when AI synthesis is unavailable, reports only the Consolidated Screening List and UFLPA results.
If a fresh download of a list fails, the last good copy is used for up to 7 days and the list is recorded as stale-cache. Downloads that return fewer entries than a minimum floor are rejected, so a format change on the publisher's side cannot silently produce a near-empty list.
How Forward Exposure is calculated
Forward Exposure estimates the dollar impact on your business if a detected supplier event turns into a disruption. For each detected event:
event_dollar_impact = annual_buyer_spend × P × M × C_substitution
- annual_buyer_spend is your annual spend with that supplier.
- P (P_disruption) and M (M_magnitude) are fixed values set for each event type in a calibration file. There are 26 event types.
- C_substitution is a range that depends on the supplier type, so each event is reported as a low and a high dollar figure. If no supplier type is available, C defaults to 1.0 and the low and high figures are equal.
When more than one event is detected, the combined probability is calculated as 1 − Π(1 − p_i × m_i). This assumes the events are independent of each other, which is an assumption and not a measured fact. Each event in the output carries a stamp showing the P, M, C and spend values that produced it.
Confidence labels
Every event and every spend input carries one of three confidence labels. The definitions in this table apply to event calibrations. Spend inputs use the same three labels with the meanings given under “Where annual spend comes from” below.
| Label | Meaning |
|---|---|
| anchored | A citable public-source anchor exists for the assumption. |
| calibrated | A heuristic informed by industry consensus. It lacks ground-truth outcome data. |
| directional | Use as a directional signal only. There is no reliable public anchor. |
Where annual spend comes from
The spend figure comes from the first of these that is available. If none is available, and there is no supplier revenue to estimate from, no Forward Exposure is produced for that supplier.
- Uploaded spend with line-level detail, such as SKU, unit price, category or date columns (labeled anchored).
- Uploaded spend with a total amount only (labeled anchored).
- A manual entry (labeled calibrated).
- A cohort estimate (labeled directional): the supplier's revenue multiplied by a typical share for the buyer's size band, capped at $50 million. The brief notes when the cap was applied. Upload spend data or enter a figure manually for a higher-confidence estimate.
For spend inputs, anchored means uploaded spend data, calibrated means a figure entered manually by your team, and directional means a cohort estimate. These are not the event definitions in the table above.
The event calibration is heuristic and anchored to public research. It is not ground-truth outcome data. Treat Forward Exposure as an estimate from stated assumptions, not a prediction of a specific event.
What is out of scope
- Supply-chain tiers: Forward Exposure is calculated for the supplier you research. The sub-tier supply graph (Tier 2 and beyond) is out of scope.
- Real-time signals: the engine runs on the 24-hour brief cache, not on live alerts.
- Determinations: screening results are name-based indicators for review, not legal or export-compliance determinations.
Questions about a figure in a brief? Contact us. See also how SpendRFX compares to enterprise platforms and the free carrier check.