Compliance Risk Score — Methodology

Version 1.0 — Deterministic checks executed at build time. No LLM computation. No approximations. Every factor is a boolean pass/fail/n/a check against a specific official data file.

Formula

score = round( (factors_passed / factors_total_excluding_na) × 10 )
  • Factors with status n/a are excluded from the denominator.
  • If all factors are n/a, the block is not rendered and no JSON file is created.
  • Maximum score: 10. Minimum: 0.

Score ranges

RangeMeaning
8–10Strong data coverage. Multiple official sources confirm this code.
5–7Partial coverage. Some factors could not be verified.
0–4Limited data. Few or no supplementary sources available.

The 7 factors

  1. 1. Verified official source

    Code found in the official classifier file of the current revision. Evidence: filename + release date.

    Source: data/jsic-hierarchy.json

  2. 2. International crosswalk

    Confirmed mapping to an international classifier (ISIC Rev.4, NACE Rev.2, CPC Ver.2, ISCO-08 — whichever applies). If no crosswalk table exists in the data, this factor is n/a.

    Source: data/jsic-rev14-data.json → crosswalks

  3. 3. Previous-edition migration

    A mapping exists from the previous revision of the same national classifier. Shows continuity and traceability across editions.

    Source: data/jsic-rev14-data.json → migration

  4. 4. Complete hierarchy

    All parent levels (section, major group, group, industry) exist and are linked. A code with missing parents is flagged as incomplete.

    Source: data/jsic-hierarchy.json structure

  5. 5. Size/threshold documented

    Official size standards, turnover thresholds, or tax brackets are documented for this code. Country-specific. If no threshold data exists, this factor is n/a.

    Source: data/jsic-rev14-data.json → size_thresholds

  6. 6. Trade/export mapping

    A correspondence exists to a trade or customs nomenclature (HS, CN, Schedule B). Enables cross-referencing with import/export data.

    Source: data/jsic-rev14-data.json → hs

  7. 7. Legacy crosswalk

    A mapping exists to the older national system that this classifier replaced. For Japan, this would be earlier JSIC revisions or other legacy coding systems.

    Source: data/jsic-rev14-data.json → legacy

Rules

  • No approximations. Every factor is pass, fail, or n/a.
  • Evidence is a factual reference from the source file, not a paraphrase.
  • Source URLs point to specific documents or tables, not department homepages.
  • If no official methodology document exists, we describe our method honestly here.

Implementation

The build script is scripts/build-risk-score.cjs. It reads local JSON data files and produces src/data/risk-score/<code>.json for each leaf industry code. The RiskScoreBlock.astro component reads these files at build time and renders the block.

To regenerate all scores: node scripts/build-risk-score-all.cjs