How the TickerWhale numbers are built, in plain English. Every figure is computed by deterministic code from filed fundamentals, market data, and deduplicated news — the AI only ever explains computed numbers, it never invents one. Models are versioned (research_v4, fairvalue_v12), so every score can be traced to the exact configuration that produced it.
Research Score (0–100)
The headline number blends five factor families. Each fundamental metric is z-scored against the company's peer group — industry first (minimum 5 members), then sector, then the whole covered universe — on outlier-winsorized samples, so a name is judged against its real competitors, never a global average. 70+ is strong, 40–69 mixed, below 40 weak. It is not a price target.
Quality & growth — 30%
Margins, return on equity, and revenue/earnings growth, each compared to the company's own peer group (industry first, sector next, market last). Durable growth counts; a one-off earnings spike above +50% YoY is excluded from PEG rather than treated as proof of cheapness.
Technical Pulse — 25%
Trend, momentum persistence (1/3/6/12-month), relative strength vs the S&P 500, volatility, drawdown, and liquidity. This family is also shown on its own as Technical Pulse for timing context.
Valuation — 25%
P/E, EV/EBITDA, EV/Sales and PEG versus the peer group — cheaper than peers scores higher. A P/E that has spiked past 3x the peer median is treated as a trough-earnings artifact and excluded instead of flooring the score.
Risk — 12%
Leverage, realized volatility, and drawdown behavior. High risk drags the score even when other families look strong.
News — 8%
Machine-read, deduplicated news clusters. Entity resolution is confidence-gated, so a story is never attached to the wrong ticker. A name with no qualifying news simply carries no news score; the news weight is never silently redistributed.
When a family's data is missing the score degrades honestly and its confidence level drops — it never fills gaps with invented values.
TickerWhale Value Estimate (range + central estimate)
A modeled fair-value range with a confidence level, built in four explicit stages:
1 · Business-type routing
The engine picks the right toolkit per business: DCF + earnings-power + peer multiples for operating companies, a multi-stage growth DCF for fast growers (using the company's own cash-flow margin, not a fixed assumption), justified P/B for banks and insurers, FFO multiples for REITs. Pre-profit stories get no number at all.
2 · Robust blend
The central estimate is the median of the sub-models, and the range is their interquartile band — a single extreme model can never drag the target. Outliers are winsorized, not deleted.
3 · Market anchor, not a clamp
When the cash-flow models and the market-comparable models disagree wildly, the target is anchored to the street-like comparable and dropped to low confidence — but the central value itself is never clamped to a round boundary. Extreme-but-corroborated targets keep their real value for ranking; the app simply prints anything beyond ±70% as a '±70%+' bound instead of a false-precision number.
4 · Publishability gates
No number is shown when sub-models are uncorroborated, when the band is wider than the estimate is meaningful, or when the data basis is inconsistent (for example a share-class mismatch). The app says 'no reliable estimate' instead of guessing.
Score and target answer different questions — quality/momentum vs price. The scorecard labels the combination explicitly ("strong profile · rich price" and its converse) so the two never blur.
Data integrity rules
- Every page carries the timestamp of the data behind it and the market state at that moment.
- Prices are vendor cross-checked; a divergence is flagged, never silently averaged away.
- Recycled tickers are detected (a defunct company's record can never overwrite the current issuer).
- Share-class basis errors (price and share count on different classes) are refused, not published.
- Live prices are ephemeral by design — never written over the canonical daily record.
Limitations — read this part
- Scores and ranges are model estimates from historical and modeled data. They are not investment advice, and they can be wrong.
- Fundamentals refresh with filings; a score can lag a breaking event.
- Value ranges are sensitive to assumptions — small changes in growth or discount rates move them, which is why the band and confidence matter more than the point estimate.
- Scoring uses the most recent revised filings — current analytics, not a point-in-time record; backtests are not yet available.
- News sentiment depends on machine entity resolution; low-confidence matches are dropped, which can mute a real story.
- Coverage is limited to the tracked universe. Absence of a score is not a negative signal.