Back to dashboard

Valuation Methodology

Deterministic valuation engine v6 — complete documentation

Overview

AI Investor Barometer uses a deterministic valuation engine to convert AI-generated assumptions into model estimates. Each AI model produces 4 core assumptions; the engine applies a standardized calculation to produce a comparable estimate.

Two model types are used depending on company sector:

  • A. Two-Stage FCFF DCF — for all non-financial sectors
  • B. Excess Return on Equity — for banks and insurance

AI Model Inputs

Each AI model independently produces these assumptions after analyzing public financial data:

ParameterDescriptionExample
revenue_cagr_5y5-year revenue growth rate6%
ebit_margin_targetLong-term EBIT margin target14%
waccWeighted average cost of capital8.5%
terminal_growthPerpetuity growth rate2%
For financial sector: roe_target, payout_ratio, combined_ratio (insurance)

Model 1: Two-Stage FCFF DCF

Used for technology, industrials, energy, healthcare, consumer, materials, telecom, utilities, and real estate sectors. The model projects free cash flows in three phases.

Phase 1 — Explicit Period

8–10 years of explicit revenue and margin projection. Revenue grows at the AI model's CAGR assumption. EBIT margin ramps concavely from current TTM margin to target margin.

Rev(t) = Rev(t−1) × (1 + CAGR)

Phase 2 — Fade Period

3 years where revenue growth fades linearly from CAGR to terminal growth rate. Margin stays at target.

Growth(t) = CAGR + (g − CAGR) × (t − N) / fade_years

Phase 3 — Terminal Value

Gordon Growth Model on the last fade-year FCF.

Margin Ramp — Concave Interpolation

The margin ramps from current to target using a concave function, where higher concavity values mean faster initial ramp:

α(t) = (t / N) ^ (1 / concavity) Margin(t) = Margin_TTM + (Margin_target − Margin_TTM) × α(t)
concavity > 1 = concave (fast initial ramp) · concavity = 1 = linear
NOPAT(t) = Rev(t) × Margin(t) × (1 − Tax_rate)

Free Cash Flow Calculation

Simplified mode — when CapEx/D&A data unavailable:

ROIC-based reinvestment: higher growth requires more reinvestment, reducing FCF conversion.

Reinvestment_rate = min(CAGR / ROIC, 1.0) FCF_conversion = max(1 − Reinvestment_rate, FCF_conv_min) FCF(t) = NOPAT(t) × FCF_conversion
Proxy-real mode — when CapEx/D&A ratios available:

Uses actual CapEx and D&A rates from financial statements. CapEx normalizes toward sector typical during fade period.

FCF(t) = NOPAT(t) + D&A(t) − CapEx(t) − ΔNWC(t) D&A(t) = Rev(t) × da_to_revenue CapEx(t) = Rev(t) × capex_to_revenue ΔNWC(t) = max(0, Rev(t) − Rev(t−1)) × nwc_rate

Terminal Value

Gordon Growth Model with minimum WACC−g spread of 3.5pp:

TV = FCF_last × (1 + g) / (WACC − g) PV_TV = TV / (1 + WACC) ^ (N + fade_years) Constraint: WACC − g ≥ 3.5pp

Enterprise Value → Estimate

Sum discounted FCFs + discounted terminal value, subtract net debt, divide by shares outstanding.

EV = Σ FCF(t) / (1 + WACC)^t + PV_TV Equity = EV − Net_Debt Estimate = Equity / Shares_Outstanding

Model 2: Excess Return on Equity

Used for financial sector companies (banks, insurance). Net debt is NOT subtracted — liabilities are the business.

ROE ramps concavely from current to target over the explicit period. In the fade period, ROE converges halfway toward cost of equity.

Excess_Return(t) = Net_Income(t) − Equity(t) × Cost_of_Equity Net_Income(t) = Equity(t) × ROE(t) Equity(t+1) = Equity(t) + Net_Income(t) × (1 − Payout_ratio)

Excess return each year = Net Income − Equity × Cost of Equity. Retained earnings grow book equity.

Insurance adjustment: combined ratio > 100% reduces achievable ROE via underwriting drag.

Intrinsic_Equity = Book_Equity + Σ PV(Excess_Return) + PV_Terminal_Excess Estimate = Intrinsic_Equity / Shares_Outstanding

Terminal excess return is capitalized as a perpetuity at cost of equity.

Validation & Clipping

All AI model assumptions are clipped to sector-specific bounds before computation. This prevents extreme or nonsensical inputs from producing meaningless estimates.

CAGR = clip(cagr, cagr_min, cagr_max) Margin = clip(margin, margin_min, margin_max) WACC = clip(wacc, wacc_min, wacc_max) g = clip(g, −1%, g_max)

CAPM WACC Anchoring

When company beta is available (0.3 ≤ β ≤ 3.0), WACC is anchored to ±2pp of a CAPM-derived estimate:

CAPM WACC = Risk-free + β × ERP + 1% debt premium Risk-free rates: Finland 3.0%, USA 4.5% WACC = clip(WACC, CAPM − 2pp, CAPM + 2pp)

Safety Caps (Post-Valuation)

Four layers of caps prevent extreme estimates:

1. TV Multiple Cap
Terminal value is capped at a sector-specific multiple of last-year FCF.
2. TV Share Cap
Terminal value may not exceed 88% of enterprise value. Ensures explicit-period cash flows contribute at least 12% of value.
3. Forward P/E Cap
Estimate is capped at 1.5× the sector's high P/E × forward EPS.
4. Analyst TP (Tiered)
Estimate is clipped to an asymmetric band around analyst consensus: mega-cap US +70%/−35%, cyclical +55%/−40%, standard +50%/−40%.
TV_cap: TV ≤ TV_mult_cap × FCF_last / (1+WACC)^N TV_share: TV ≤ 88% × EV PE_cap: Estimate ≤ 1.5 × PE_high × Forward_EPS Analyst_cap (tiered): Mega-cap US (>$200B): [0.65 × ATP, 1.70 × ATP] Cyclical sectors: [0.60 × ATP, 1.55 × ATP] Standard: [0.60 × ATP, 1.50 × ATP]

Bayesian Calibration

After all safety caps, the engine blends the DCF estimate with analyst consensus using a fixed shrinkage weight. This is a cold-start calibration measure to reduce systematic bias while the platform accumulates its own backtest history.

Calibrated_TP = α × Capped_DCF_TP + (1 − α) × Analyst_Consensus_TP α = 0.70 (current default)

The current weight α = 0.70 means 70% of the final estimate comes from the DCF model and 30% from analyst consensus. This weight is temporary and will be empirically optimized per model once 6–12 months of data is available.

Importantly, the AI Market Indices (ACDI, ADI) are computed from the pre-calibration DCF estimates to preserve the pure model signal. The calibrated estimate is a presentation-layer feature, not the analytical foundation.

Sector Profiles

Each sector has calibrated bounds for all assumptions. Values outside these ranges are clipped.

SectorCAGRMarginWACCgFCFCpExD&AConc.Yr
Technology−10 / +30%−10 / +55%7 / 14%3%0.803%3%1.88+3
Telecom−2 / +6%5 / 35%5 / 10%2%0.4516%13%1.110+3
Industrials−10 / +15%2 / 20%6 / 12%2.5%0.606%5%1.38+3
Materials−10 / +10%0 / 22%7 / 13%2%0.509%7%1.28+3
Energy−5 / +12%2 / 22%7 / 13%2%0.5010%6%1.28+3
Consumer−5 / +15%2 / 25%6 / 12%2.5%0.704%4%1.48+3
Healthcare−3 / +12%5 / +45%7 / 12%2.5%0.754%5%1.37+3
Utilities−2 / +8%5 / 30%4 / 10%2%0.5012%8%1.110+3
Real Estate−5 / +10%10 / 30%5 / 12%2%0.558%10%1.18+3
Financials−5 / +10%10 / 50%6 / 16%2.5%8+2

P/E Cap Ranges

SectorP/E LowP/E HighCap (1.5×)
Technology18×35×52.5×
Telecom12×20×30×
Industrials15×25×37.5×
Materials10×18×27×
Energy10×18×27×
Consumer15×25×37.5×
Healthcare18×28×42×
Utilities14×22×33×
Financials10×16×24×

TV Multiple Caps

SectorTV Cap
Technology30×
Telecom20×
Industrials22×
Materials18×
Energy18×
Consumer22×
Healthcare25×
Utilities20×
Real Estate22×

Valuation Flags

Each estimate includes diagnostic flags indicating which caps and adjustments were applied:

FlagDescription
clipped_fieldsWhich LLM assumptions were clipped to sector bounds
capm_wacc_anchorCAPM-derived WACC anchor was applied
forced_g_below_waccTerminal growth forced down to maintain WACC−g ≥ 3.5pp
fcf_modeFCF calculation mode: proxy_real or simplified
fcf_conv_roic_appliedROIC-based FCF conversion was tighter than default
tv_cappedTerminal value hit sector multiple cap
tv_share_cappedTerminal value exceeded 88% of EV — capped
pe_cappedForward P/E hard cap applied
analyst_tp_cappedEstimate clipped to ±40% of analyst consensus
capex_normalizationCapEx rate normalized toward sector typical during fade

AI Market Indices

The platform computes three composite indices from model outputs — no additional LLM calls required. All indices are computed daily from existing pipeline data.

AI Consensus Divergence Index (ACDI) — median percentage gap between AI consensus target prices and current market prices across all tracked companies. Positive = models value stocks above market, negative = models see potential overvaluation.
AI Dispersion Index (ADI) — median coefficient of variation (σ / spot × 100) of model target prices across companies. Measures model disagreement: <5% low, 5–15% moderate, 15–25% high, >25% extreme.
AI Narrative Momentum (ANM) — day-over-day change in cross-model median bias, in percentage points. Positive = sentiment improving, negative = sentiment deteriorating. Helps detect trend changes.
ACDI = median( (TP_consensus − Spot) / Spot × 100 ) ADI = median( σ_models / Spot × 100 ) ANM = MedianBias(today) − MedianBias(yesterday) [pp]

Company Universe

The barometer covers a curated universe of 24 companies across two markets. The universe is defined in a central configuration file and reviewed quarterly.

Finland (OMXH) — 12 companies

12 Finnish OMXH companies — largest by market cap with sufficient analyst coverage (≥5 analysts), public financials, and available spot price data. Subset of the OMXH25 index.

United States — 12 companies

12 US mega-cap companies representing major sectors. Selected as a benchmark to validate model behavior across different markets and currencies.

Addition Rules

New companies require: analyst coverage ≥5, public financials on Yahoo Finance, spot price from at least one source (Yahoo/Finnhub/Stooq), and a matching sector profile in the valuation engine.

Removal Rules

Companies are deactivated (never deleted) to preserve historical data. Reasons include: delisting, merger, insufficient data quality, or universe rebalancing.

Data Retention & Reproducibility

All model outputs, valuation results, and consensus data are retained indefinitely with no automated deletion. For every company on each trading day, the system stores: raw LLM assumptions (before clipping), clipped assumptions used in valuation, full prompt text and raw model responses, spot prices with source attribution, all diagnostic flags and valuation metadata (engine version, sector profile hash), and pipeline execution metadata (cost, latency, token counts). Universe changes (company activations/deactivations) are logged with timestamps and reasons. This complete audit trail enables full reproducibility of any historical valuation.

AI Investor Barometer · Engine v7Back to dashboard
All content is generated by AI models and may contain errors. This is an experimental tool — not investment advice, research, or recommendation. Terms of Use · Privacy Policy