Where our data comes from
Daily OHLCV, securities-class-action filings, and disclosure timing — the precise upstream sources, the refresh cadence, and the trade-offs we made to keep the entire pipeline reproducible from public inputs.
Six inputs, public origins
Every score, damages estimate, and recovery forecast on the site is derived from the inputs below. The provider name on each card is the source-of-record we attribute on the scored event.
Yahoo Finance (yahoo-finance2)
Adjusted daily open/high/low/close and volume for every ticker in the catalog, with an 80-trading-day lookback and a 14-calendar-day forward window relative to each disclosure. Source-of-record is recorded on every scored event.
SPY (S&P 500 ETF)
Used to compute abnormal return (stock 2-day return minus benchmark 2-day return) and to fit the post-disclosure beta that drives the recovery cohort match.
SPDR sector family (XL*)
XLK Tech, XLV Healthcare, XLF Financials, XLE Energy, XLY Consumer Discretionary, XLP Consumer Staples, XLI Industrials, XLB Materials, XLRE Real Estate, XLC Communications, XLU Utilities. Tickers without a recognized sector mapping fall through to a neutral SR sub-score.
Yahoo Finance quoteSummary
Best-effort from a consent-gated endpoint that fails intermittently. When the field is missing we record 0 and flag the score as low confidence — SMRS is still computed, but the MCL sub-score is treated as neutral.
Public lawsuit RSS feed
Newly filed cases pulled hourly. Each item provides ticker, class start, class end, and filing date. Class end is treated as the disclosure date for pipeline purposes; if the feed lacks fields or fails schema validation the row is skipped and existing cases are untouched.
Computed from OHLCV
Standard deviation of daily abnormal returns (stock minus benchmark) over the 60 trading days preceding the disclosure. Drives the AR sub-score denominator and the volatility-percentile axis on the Shock Map.
What runs when
Five repeatable jobs keep the catalog current. Cadences are tuned to upstream rate limits and the structural windows the methodology requires.
Pulls fresh cases off the public RSS feed and dedupes against existing rows.
Walks the queue of newly-ingested or manually-requested events and runs the full pipeline.
Recomputes provisional 90-day mean post-disclosure prices for cases younger than the lookback window.
Re-fits 60-day post-disclosure beta and re-runs the cohort match for any newly-eligible event.
Scans the full universe for new severe drops independent of the lawsuit feed — these feed the Litigation Study and the broader research dataset.
How we handle failures
Every outbound fetch retries up to 5× with exponential backoff. If the OHLCV provider errors after retries, the event is left unscored rather than scored against a partial bundle — better to surface a gap than to publish a wrong number. If the lawsuit RSS feed fails or returns malformed XML, existing cases remain untouched.
We do not silently substitute fallback data. If a value is missing, the score either uses a documented neutral fallback (and is flagged) or the event is held back from publication.
Where the data is imperfect
Documented up front so you can decide how to weight any individual figure.
- 01Missing shares outstanding
Yahoo’s quoteSummary endpoint is intermittently consent-gated. When the field is unavailable, MCL is neutralized and the event is flagged low-confidence. We do not silently substitute an alternative provider.
- 02Provisional PSLRA lookback
Federal law caps per-share damages at the 90-day mean post-disclosure price. For cases filed in the last 90 days, the lookback window has not yet closed; we publish a provisional value that updates every 6 hours and finalizes when the window completes.
- 03Recovery cohort hold-back
Beta requires a 60-trading-day post-disclosure window. Events younger than that are present in the catalog but excluded from the recovery cohort match until enough data has accumulated.
- 04Universe-relative scoring
SMRS is a percentile-rank composite — adding a new event to the universe can shift every score by a small amount. The four sub-scores (AR, MCL, AV, SR) are deterministic on raw inputs; only the 0–10 scaling is universe-relative.