Skip to content

Factors and weights

A factor is one question asked of a merchant, scored 1–5, with a weight saying how much it counts. All of it is configuration: Settings → Risk model, needing risk_configuration.manage.

The default set

Eight factors, all read from data Verity already holds, totalling 21 points of weight. Install them with Install the default factors.

FactorWeightReads
Registered activity4The activities on the commercial registration, judged against this country's activity rules
Registration age3Months since the CR was issued
Identity assurance3Whether a government source verified the people behind the merchant
Portfolio linkage3Links to other merchants in your account, and whether any was rejected
Country risk3Per-country score
Screening outcome2PEP-class matches only
Ownership churn2Months since ownership last changed
Legal form1The registered legal form

Two ship deliberately empty

Country risk and Legal form arrive with only a no_input row and no scores. Ranking legal forms is a credit judgement and a country risk table is a compliance artifact — neither is something engineering should invent. Until a compliance team fills them in, those 4 points of weight can never be evidenced by any merchant, which is worth knowing when reading the evidence threshold.

Country risk can be seeded from the FATF public statements with one action — see below.

Scoring examples

Registered activity — prohibited activity scores 5 and pins the band to high outright; high-risk scores 4; nothing flagged scores 2.

Registration age — under 6 months scores 5, over 10 years scores 1. A brand-new registration taking volume is the classic bust-out shape.

Identity assurance — read on the weakest party, not the best. One verified owner does not make the merchant verified.

How a value is scored

Each factor has ordered rows. A row matches by:

  • exact — the observed value equals the configured value
  • range — a numeric value falls in [min, max). Bounds are half-open, so adjacent bands cannot both claim a boundary: exactly 6 months belongs to the 6–24 band, not to 0–6.
  • no_input — the fallback, used when nothing else matched or nothing was observed

A factor that matches nothing is never skipped. Skipping would mean missing data quietly improved a merchant's score.

Overrides

A row may carry an override_level that pins the whole band regardless of the arithmetic — used by prohibited activity, which forces high.

An override only counts when the factor actually matched a configured value. A no_input fallback cannot pin the band, or an absence would be able to decide the outcome.

Weights

Positive integers up to 1000. They are relative — only the ratio matters, since the score is a weighted average.

Changing a weight changes outcomes immediately for new assessments. Existing assessments keep the snapshot they were scored with.

Seeding country risk from FATF

The country risk factor can be populated from the FATF public statements:

  • Call for action (Democratic People's Republic of Korea, Iran, Myanmar) — score 5 and an override pinning the band to high
  • Increased monitoring — score 4, no override, 22 jurisdictions including Kuwait

The seeding is additive: it adds rows for listed countries and never removes or overwrites your own. The list carries its publication date and Verity flags it as stale after five months, because a FATF list nobody refreshed is a compliance artifact going quietly out of date.

Reading the breakdown

The entity page shows every factor with its observed value, source, score and weight share. Two labels matter:

  • Fallback score — no evidence stood behind this. The score came from no_input. These rows are rendered in slate, not a risk colour, because an amber 3 nobody measured reads as "we found medium risk here".
  • Capped at neutral. A weak source tried to lower the score and was stopped — see Provenance.