The page behind this dialog is live. Create a free account or sign in and you'll land right back on it.
Five transparent 0-100 scores that measure what actually drives long-term equity returns: capital efficiency, valuation, risk, durable advantage, and where a stock sits in its cycle. Every weight is published. Every formula is here. Nothing is smoothed or fabricated.
methodology 2026-04-17-v1 · last updated 2026-04-17
Capital efficiency + margin strength, sector-relative.
The Alan Quality Score measures how efficiently a business turns invested capital into profit. We weight return-on-capital metrics most heavily because, over long horizons, a company's ROIC trajectory is the single best predictor of shareholder returns. Each raw component is ranked within its GICS sector so a 50% gross margin means different things in software versus grocery retail. Loss-making companies (negative ROIC, negative equity) are floored to 0 on the affected component — we do not smooth over losses with averages.
| Return on Invested Capital (ROIC) | 30% |
| Return on Equity (ROE) | 15% |
| Gross Margin | 15% |
| Operating Margin | 15% |
| Net (Profit) Margin | 10% |
| Current Ratio | 5% |
| Debt/Equity (inverse — lower leverage scores higher) | 10% |
| Total | 100% |
Cheapness vs sector peers across five classic multiples.
The Alan Value Score flips the classic "lower is better" multiples into a 0-100 "cheapness" ranking. We use sector-relative percentile ranking — a P/E of 15 earns a very different value score in consumer staples (where it's cheap) than in tech (where it's average). Non-positive multiples (loss-making P/E, negative book value P/B) score 0 because the ratio is undefined or meaningless. Cohort-aware recipes: a single one-size-fits-all multiple blend silently mis-scores REITs (where P/FFO is the right multiple), commercial banks (no meaningful EV/EBITDA — banks don't report EBITDA), and pre-revenue tech/biotech (where P/E and PEG zero-floor because EPS is negative, draining 45% of weight before scoring begins). The Value Score now classifies each ticker by cohort and applies a cohort-specific recipe: * Default (multi-sector, profitable): P/E 30%, EV/EBITDA 25%, P/B 15%, P/S 15%, PEG 15% * REIT: P/FFO-proxy 35%, CapRate-proxy 25%, Dividend Yield 20%, P/S 20% * Bank: P/TBV-proxy 40%, P/E 30%, Dividend Yield 20%, P/S 10% * Pre-revenue: EV/Sales 45%, P/S 30%, FCF-runway 25% The weights below describe the default recipe. The cohort chip on the breakdown page tells you which recipe actually produced the score for the ticker you're viewing.
| Price / Earnings (trailing) | 30% |
| EV / EBITDA | 25% |
| Price / Book | 15% |
| Price / Sales |
Total-risk profile — higher score means MORE risk.
The Alan Risk Score is the only Alan Score where higher means worse. We blend a realized-volatility proxy (the sector-relative rank of |1-year return| — big absolute moves in either direction signal high realized vol) with balance-sheet risk (leverage, liquidity, Altman-Z) and market risk (beta distance from 1.0, ranked sector-relative so 3× leveraged ETFs and meme stocks don't saturate into the same bucket). Negative Altman-Z or negative equity flag the affected component at maximum risk. Methodology note — Wave 2 audit: we previously carried a "Max drawdown inverse (% from 52-week low)" component at 20% weight. That was a quality signal, not a risk signal — a recently-rallied stock scored as LOW risk and a recently-plunged stock as HIGH risk, which inverts real mean-reversion risk. We removed it and redistributed its weight (+10 to the realized-vol proxy, +5 to debt/equity, +5 to beta distance). We also replaced the hard-capped "|β-1|·50 (saturated at 2)" beta formula with a sector-relative percentile rank of |β-1| so extreme-beta names keep ranking higher as they get more extreme.
| Realized-volatility proxy (|1-year return|, sector-relative rank) | 40% |
| Debt / Equity | 25% |
| Current Ratio inverse (low liquidity = high risk) | 10% |
| Beta distance from 1.0 (|β-1|, sector-relative rank) |
Durable competitive advantage — the hardest thing to fake.
The Alan Moat Score tries to quantify something that's notoriously hard to measure: whether a company has a durable competitive advantage that will let it earn above-average returns on capital for years. We lean heavily on sustained ROIC (as the arithmetic fingerprint of a moat), gross-margin strength (pricing power), operating leverage, revenue per employee (productivity moat), scale within the sub-industry, and a cash-flow-margin proxy for brand / intangibles. A true moat should leave tracks across all six — scoring highly on just one or two is suspicious. Methodology notes — Wave 2 audit: • Revenue per employee is ranked sector-relative (a percentile inside the company's GICS sector), not on a hard-coded absolute log scale. The previous absolute scale ($1M per employee → 100, $100k → 0) made it structurally impossible for retailers, restaurants and other labor-heavy business models to score above ~30 regardless of their competitive position. • The size component is ranked against the company's sub-industry (Prisma `industry` field) rather than its sector, and is dampened: everything above the sub-industry median is compressed to 100. This blunts the mega-cap size bonus that used to pile on top of ROIC (35%) + FCF-margin (10%) — all three positively correlate for the largest names, which was compressing scores at the top of the universe.
| ROIC (5-year average proxy) | 35% |
| Gross margin strength | 20% |
| Operating margin | 15% |
Where this ticker sits in the business cycle — lower = earlier, potentially more attractive.
The Alan Cycle Score is a positional indicator, and for display purposes lower is better: 0 means the ticker looks like an early-cycle recovery candidate (out of favor, off its lows) which is typically the most attractive entry window; 50 means it's running in the fat middle of its cycle; 100 means it's extended and late-cycle, where mean-reversion risk rises. We use the ticker's 1-year return rank within its sector plus distance from the 52-week low. A high Alan Cycle Score is NOT an automatic sell signal — many late-cycle names continue to grind higher — but it's an input to position-sizing and a warning not to buy at any price.
| 1-year return sector rank | 70% |
| Distance above 52-week low | 30% |
| Total | 100% |
One canonical fair value per stock, built for the kind of business it is.
Every fair value starts with classification. A hyper-growth software company, a bank, a utility, and a pre-revenue biotech create value in different ways, and a single formula applied to all four gets at least two of them badly wrong. The engine sorts each company into one of five business types and runs the model that fits: a multi-stage cash-flow model with a long growth runway for hyper-growth names, a five-year cash-flow model with conservative near-term growth for mature and capital-intensive businesses, and an excess-returns model on book value for financials. For pre-revenue companies the engine publishes no number at all, because any point estimate there would be fabricated.
The cash-flow number is then blended with an earnings anchor: trailing earnings per share times a growth-selected multiple (floor 15x, capped at 30x). When the two legs disagree by more than 40%, the engine widens the published range to cover both and cuts its confidence score rather than printing a confident point it cannot defend. Every published value carries that confidence (from input completeness), the primary driver behind the number, and a bear/base/bull range. Below 0.4 confidence the point estimate is withheld entirely.
We grade our own numbers. Every published fair value is recorded and scored against the real price one year later.
| Fair values being tracked | 72,704 |
| Tracking since | 2026-08-05 |
| Most recent record | 2026-09-01 |
| Resolved at the 1-year mark | 0 |
| Median error vs 1-year-later price | pending first resolutions |
| 1-year price landed inside our published range | pending first resolutions |
| 15% |
| PEG Ratio | 15% |
| Total | 100% |
| 15% |
| Altman-Z inverse (low Z = high bankruptcy risk) | 10% |
| Total | 100% |
| Revenue per employee (sector-relative rank) | 10% |
| Size within sub-industry (market-cap rank, dampened above median) | 10% |
| Brand / intangibles proxy (FCF margin) | 10% |
| Total | 100% |