Methodology — How We Calculate Fair Value, Risk Scores, and Moat Ratings

Every number on FairValueLabs is calculated from public data using documented formulas. This page explains exactly how — so you can verify our work or adjust the assumptions to match your own investment thesis.

How Do We Calculate the Altman Z-Score?

The Altman Z-Score was developed by Edward Altman at NYU in 1968. It combines five financial ratios into a single score that predicts bankruptcy probability within 2 years. The formula for manufacturing firms:

Z = 1.2(A) + 1.4(B) + 3.3(C) + 0.6(D) + 1.0(E)
VariableFormulaWhat It Measures
AWorking Capital / Total AssetsShort-term liquidity
BRetained Earnings / Total AssetsCumulative profitability
CEBIT / Total AssetsOperating efficiency
DMarket Cap / Total LiabilitiesSolvency buffer
ERevenue / Total AssetsAsset turnover

How Do We Interpret the Score?

  • Z < 1.8 — Distress Zone (red). High probability of financial distress within 2 years.
  • Z 1.8 - 3.0 — Gray Zone (yellow). Elevated uncertainty — warrants closer scrutiny.
  • Z > 3.0 — Safe Zone (green). Financially healthy by this metric.

We use the original manufacturing formula for industrial companies and Altman's modified Z''-Score for service and financial firms.

Data source: All five inputs are extracted from the company's most recent 10-K annual filing on SEC EDGAR.

How Do We Calculate Intrinsic Value?

Our core model is deliberately simple and fully transparent: Fair Value = Predicted EPS × Fair PE. One formula, no black box, and every input is shown on the ticker page.

InputHow It Works
Predicted EPSReported year-to-date EPS from quarterly SEC filings, plus the remaining quarters estimated as a blend of last year's earnings (60%) and analyst consensus for the current year (40%). As the year progresses, reported results replace estimates.
Fair PEThe company's own trailing PE with a 15% value discount, capped at 40. The cap keeps one hot multiple from inflating fair value; the discount builds in a margin of conservatism.
Sanity capWhen analyst coverage is deep (5+ analysts), fair value is capped at 2× the consensus target. This stops high-multiple cyclicals from producing absurd numbers.

When the Core Model Does Not Apply

An earnings-multiple model only makes sense for companies with positive, meaningful earnings. We route two groups of companies to different treatment instead of publishing a spurious number:

  • Banks, insurers, utilities, and REITs — earnings multiples and Altman Z-Score are built for industrial balance sheets and mislead in these sectors. These pages anchor fair value to the analyst consensus target and clearly label the method used.
  • Companies with negative earnings — pre-profit growth companies (many AI and quantum names) and turnarounds have no meaningful PE. Where at least 3 analysts publish targets, we anchor to the consensus target and say so on the page; with thinner coverage we show N/A rather than invent a number.

Every ticker page states which of the three paths produced its fair value. We would rather show you a labeled anchor — or an honest N/A — than dress up a number the model cannot support.

Key Assumptions & Limitations

  • Margin of Safety = (Fair Value − Market Price) / Fair Value. Positive = potentially undervalued.
  • The 40× PE cap gives the model a conservative bias against fast-growing companies — a bias we accept on purpose.
  • Analyst-anchored fair values inherit the biases of sell-side consensus; treat them as a reference point, not an independent estimate.
  • Fair value updates after each quarterly SEC filing and daily market close.

Data source: EPS from 10-K/10-Q filings on SEC EDGAR. Analyst estimates and current prices from Yahoo Finance.

How Do We Rate Competitive Moats?

Our moat rating combines quantitative signals with structured qualitative assessment:

FactorWeightHow We Measure
ROIC Stability40%Standard deviation of Return on Invested Capital over 10 years. Lower variance = wider moat.
Gross Margin Trend30%10-year gross margin trajectory. Expanding margins suggest pricing power.
Switching Cost Assessment30%Qualitative: customer lock-in, ecosystem effects, regulatory barriers.

Star Rating Scale

  • 5 stars — Wide moat. Dominant competitive position with high barriers to entry.
  • 4 stars — Solid moat. Strong advantages but with some competitive pressure.
  • 3 stars — Narrow moat. Some competitive advantages but vulnerable to disruption.
  • 2 stars — Weak moat. Commoditized business with limited pricing power.
  • 1 star — No moat. Highly competitive, no sustainable advantage evident.

How Do We Grade Dividend Safety?

Our dividend safety grade (A through F) is based on three factors:

FactorSafe SignalDanger Signal
Payout Ratio< 60% of earnings> 100% (paying more than earned)
FCF CoverageFCF > 1.5x dividendNegative FCF for 2+ quarters
Growth Streak5+ years consecutive increasesRecent cut or freeze

Grade Definitions

  • A — Very Safe. Low payout ratio, strong FCF coverage, long growth streak.
  • B — Safe. Healthy payout with adequate cash flow support.
  • C — Borderline. Elevated payout ratio or inconsistent FCF.
  • D — Unsafe. Payout exceeds earnings or FCF is negative.
  • F — Cut Likely. Multiple danger signals — dividend cut appears imminent.

Data source: Dividend per share, earnings, and free cash flow from SEC EDGAR and Yahoo Finance.

Where Does the Data Come From?

Every metric on FairValueLabs flows through an automated data pipeline. Here is how it works end-to-end:

StageSource / ToolWhat Happens
1. IngestSEC EDGAR APIPython ETL queries the EDGAR full-text search and XBRL APIs for the latest 10-K and 10-Q filings. New filings are detected and processed within 24 hours of publication.
2. EnrichYahoo Finance, FREDReal-time stock prices, analyst consensus estimates, beta, and the 10-year Treasury yield are merged with filing data to produce a complete financial profile.
3. ComputePython (NumPy)All models run: Altman Z-Score, fair value, moat rating, dividend safety grade. Automated checks flag anomalies — stock splits, missing line items, extreme values, and sector exemptions (financials, utilities, REITs).
4. ClassifyRule engineEach ticker is categorized as Value Investment, Value-Speculation, or Pure Speculation based on profitability, cash-flow stability, and earnings history. Classification determines which valuation methods apply.
5. Publish11ty SSG → Cloudflare PagesJSON output is consumed by an Eleventy static site generator. Every page is pre-rendered HTML — no client-side data fetching, no API keys exposed, sub-second load times globally via Cloudflare's CDN.

How Do We Ensure Data Quality?

  • Stock split detection — price and EPS history are adjusted automatically when a split is detected, preventing false valuation swings.
  • Sector exemptions — banks, insurance companies, utilities, and REITs are automatically flagged. Models that produce misleading results for these sectors (e.g., Altman Z-Score) display an exemption notice instead of a spurious number.
  • Extreme value filtering — PE ratios above 200, negative book values, and other outliers trigger warnings rather than being silently passed through to valuation models.
  • Quarterly refresh cycle — the pipeline runs daily for price updates and within 24 hours of any new SEC filing for fundamental data.

If a data point looks wrong, it probably is — and we would rather show "insufficient data" than a misleading number. Transparency over false precision.

What Are the Limitations?

  • All models use historical data — they cannot predict future management decisions, black swan events, or macroeconomic shifts.
  • DCF is highly sensitive to growth rate assumptions. Always check the sensitivity table.
  • The Altman Z-Score was designed for manufacturing firms. We use modified versions for other sectors, but accuracy varies.
  • Moat assessment includes subjective elements. Our rating is a starting point, not a final verdict.
  • Quarterly data may lag by 1-2 months after the filing deadline.

This is not financial advice. All data is sourced from SEC EDGAR public filings. Always consult a qualified financial advisor before making investment decisions.