insolvency-watch

Methodology

insolvency-watch produces three scores per company — 6-month, 12-month, 24-month — based on a deterministic rules engine over publicly observable signals. There is no LLM in the scoring pipeline. Every score is reproducible byte-for-byte from its signal run.

Sources

Scoring

Each company starts at a baseline of 50. Each rule that fires adds (or subtracts) a contribution per horizon. The final score is clamped to 0–100 and mapped to one of four bands: stable (0-25), watch (26-50), elevated (51-75), high-risk (76-100).

CAEN sector baseline

Every company receives a small contribution based on its primary CAEN section. Sectors with historically higher annual insolvency rates (construction, accommodation and food, retail trade) start a few points above baseline; regulated sectors (utilities, finance, public administration) start at or below baseline. The priors are documented in src/lib/seed/caen-baseline-rates.ts and will be refined in Phase 2 once we have enough BPI-derived labels to estimate sector rates empirically.

Rule contributions

Each row below shows what a rule will add when it fires for a typical triggering signal. Rules with empty entries return zero contributions on the empty input used to render this table; they fire only against real signals.

Rule6m12m24m
bpi_bankruptcy
bpi_general_insolvency
bpi_reorganization
bpi_dissolution
bpi_creditor_notice_cluster
bpi_administrator_appointed
anaf_status_radiated
anaf_status_inactive
anaf_vat_suspended
financial_negative_equity
financial_loss_streak
financial_revenue_decline
financial_current_ratio_low
financial_employee_decline
financial_no_filing
news_closure_recency
news_creditor_lawsuit
news_layoff_mention
news_management_exit
news_growth_counter
caen_sector_baseline468
classifier_logreg_v1

Confidence and the defamation gate

Each horizon has its own confidence (low / medium / high) derived from signal coverage. Companies with low confidence on a horizon do not show a numeric score — the UI displays "Not enough signals to score" instead. This is the defamation defence: we do not publish a high-risk number that could affect a real company's credit terms without enough public signals to back it up.

Bankruptcy filings (BPI) and radiated registration (ANAF) are terminal: a single such signal forces high confidence on every horizon, because they are unambiguous public facts.

ML classifier (Phase 2)

A dormant logistic-regression classifier is scaffolded but not yet trained. It will activate only when (a) the BPI scraper has accumulated ≥1000 confirmed positive filings across ≥3 calendar years, AND (b) held-out AUC-PR clears 0.25 (5× base rate), AND (c) calibration Brier stays within 1.5× of validation. Feature attributions (per-feature contribution to the predicted probability) will appear in the "why" panel exactly like rule contributions do.

Corrections

If you believe a score, a filing, or a signal is wrong, file a correction request via the form on the company page or at /corrections. We review every submission.

Disclaimer

insolvency-watch publishes signals, not predictions. Scores describe observable public information from BPI, ANAF, mfinante and the Romanian press, and they do not predict the future. They are not legal, financial or credit advice.