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,891 of 10,333 companies have compositeslast pool pass 2026-08-31

Looking for what this platform can evidence for a specific decision (site selection, market expansion, real-estate development, ...)? See evidence coverage by decision type.

PillarWeightSourceStatus
Financial health30%SEC EDGAR / FMPlive · 6,457 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,802 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,448 scored 3-yr revenue CAGR, YoY, growth stability — computed from filed history.
Scale & stability5%FMPlive · 10,237 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 at v0.1 — a methodology-maturity flag, not a data flag. Stale filers (>455 days without an annual filing) lose FH/GM from the composite — the staleness itself scores in Disclosure Quality's recency metric. Weight changes require a new version with a changelog.
Live composite distribution
13
0s
125
10s
330
20s
559
30s
738
40s
919
50s
1000
60s
872
70s
328
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.