The open score

EA Score methodology

Built from public inputs, weighted and disclosed — never a black box. Every figure below is read live from the scoring system, not hand-written: the weights are the weights, the coverage is the coverage. Descriptive, not predictive; not investment advice.

v0.14,835 of 9,914 companies have compositeslast pool pass 2026-07-12
PillarWeightSourceStatus
Financial health30%SEC EDGAR / FMPlive · 6,404 scored Net & operating margin, leverage percentiles (sector pools); Altman-Z + Piotroski join as the details ingest fills them. Banks: Altman/margins excluded by rule, ROE/ROA substituted.
Disclosure quality20%SEC EDGARlive · 4,684 scored Filing timeliness (median lag from period-end to filing) and disclosure depth (years of filed history), from the filings feed. Cycle-position recency is deliberately not scored; genuine staleness is caught by the freshness gate.
Governance20%DEF 14A / Pay-vs-Performanceto build Board independence, pay ratio, say-on-pay.
Environmental15%EPA ECHO / TRI / GHGRPto build Facility violations & penalties via the FRS parent join — a transparent proxy, not a black-box rating.
Growth & momentum10%SEC EDGARlive · 4,391 scored 3-yr revenue CAGR, YoY, growth stability — computed from filed history.
Scale & stability5%FMPlive · 9,851 scored Market cap, headcount, listing tenure percentiles.
Rules: metrics are sector-percentile-ranked (pool ≥ 30, else all-companies); a pillar needs ≥2 resolved metrics; the composite requires Financial Health plus ≥45 weight coverage and is labeled provisional until Disclosure Quality ships. Stale filers (>455 days without an annual filing) lose FH/GM from the composite — the staleness itself will score in Disclosure Quality. Weight changes require a new version with a changelog.
Live composite distribution
12
0s
132
10s
344
20s
530
30s
724
40s
909
50s
1001
60s
850
70s
326
80s
7
90s

Composite counts by decile. Small pools skew percentiles — coverage grows nightly with the ingest.

Changelog · v0.1

v0.1: FH+GM+SS live (45 wt); DQ/GV/EN pending. Gate set to 45 (not 50) so v0.1 composites render as provisional until DQ ships — see docs/EA_SCORE.md. DQ pillar activated 2026-07-06 (filing timeliness + disclosure depth) — composite coverage now up to 65 weight for full filers; GV/EN still pending.

The validation promise

Once filing history accumulates, we will backtest pillars against observable outcomes — delistings, restatements, going-concern flags — and publish the result either way. A score you can't audit is marketing; this one links every sub-score to the filing behind it.

Weights, coverage, and distribution above are read live from the scoring tables (score_weights, company_scores) — see docs/EA_SCORE.md for the full spec.