Equity Rank · Schema

ValuationResult

FinanceStock AnalysisValuationInvestment Tools

Properties

Name Type Description
symbol string
price number
sector string
best_fit object
dcf_fair_value object
dcf_margin_of_safety object
dcf_unavailable_reason object
pe_fair_value object
pe_margin_of_safety object
pe_unavailable_reason object
pb_fair_value object
pb_margin_of_safety object
pb_unavailable_reason object
ps_fair_value object
ps_margin_of_safety object
ps_unavailable_reason object
ev_ebitda_fair_value object
ev_ebitda_margin_of_safety object
ev_ebitda_unavailable_reason object
graham_number object
graham_margin_of_safety object
graham_unavailable_reason object
ddm_fair_value object
ddm_margin_of_safety object
ddm_unavailable_reason object
peg_fair_value object
peg_margin_of_safety object
peg_unavailable_reason object
consensus_fair_value object
consensus_margin_of_safety object
methods_used integer
best_method string
last_updated string
data_quality string 'full' | 'partial' | 'limited' — indicates data completeness
yfinance_fallback boolean True when financials were sourced from yfinance fallback
derived_fields array Fields estimated via mathematical derivation
calculated_growth_rate object Forward earnings growth rate (decimal). DTL/causal model when sector driver available; DuPont or historical blend fallback.
growth_rate_model object Which growth model tier was used, e.g. 'DTL/Gold spot', 'DTL/revenue', 'DuPont', 'historical_blend'
eps_beat_probability object Fraction of last 8 quarters beating consensus EPS estimate (0.0–1.0). None when fewer than 4 quarters of data available.
accruals_ratio object Sloan accruals ratio: (NetIncome - OCF) / TotalAssets. >0.10 suggests earnings inflation risk; <-0.10 is conservative.
piotroski_f_score object Piotroski F-Score 0-9. >=7 = strong fundamentals; <=3 = weak.
beneish_m_score object Beneish M-Score. >-1.78 = probable manipulation risk. NULL for banks, insurance, REITs, utilities (model not applicable).
beneish_flag object True when beneish_m_score > -1.78. NULL for suppressed sectors.
altman_z_score object Altman Z-score. <1.81 = distress zone.
earnings_inflated_flag object True when reported earnings outpace operating cash flow (batch row).
red_flag_checks object app.services.red_flags.evaluate: each check -> True flagged / False clear / None no data. Display only.
roic_trend object ROIC trajectory: 'improving' | 'flat' | 'declining'.
margin_trend object Operating margin trajectory: 'expanding' | 'stable' | 'compressing'.
momentum_12m_1m object 12m-1m price momentum factor: (price_1m_ago / price_12m_ago) - 1. Positive = upward trend; excludes last month per Jegadeesh-Titman.
implied_earnings_move object ATM straddle / current_price for nearest post-earnings expiry. Market-implied expected move magnitude (e.g. 0.08 = 8%). Only populated when a future earnings date is within 90 days.
pmi_multiplier_applied object True when the ISM Manufacturing PMI multiplier adjusted the Tier 1 or Tier 2 earnings growth estimate for this sector. Indicated by '+PMI' suffix in growth_rate_model label.
forward_eps object Forward EPS (analyst consensus when available; otherwise TTM EPS x (1 + blended growth))
forward_eps_source object 'analyst' when forward EPS is sourced from consensus estimates; 'analyst_fy2' when the second forward fiscal year replaced a trough FY1 (see forward_eps_note); 'modelled' when synthetic
forward_eps_note object Input-selection code for the forward P/E method when it ran on something other than the FY1 consensus (e.g. 'fy1_trough_fy2_fallback'); None otherwise
forward_pe_fair_value object Forward EPS x Sector P/E multiple
forward_pe_margin_of_safety object MoS% using forward P/E fair value
forward_pe_unavailable_reason object Abstention code when forward P/E produced no fair value
implied_growth_rate object Reverse DCF implied growth rate (decimal)
trailing_eps object TTM EPS used by trailing P/E fair value
trailing_pe_ratio object Trailing P/E ratio (price / TTM EPS)
forward_pe_ratio object Forward P/E ratio from AV OVERVIEW
analyst_consensus_target object Street consensus price target (AV AnalystTargetPrice)
eps_estimate_current_year object Consensus EPS estimate for current fiscal year
eps_estimate_next_year object Consensus EPS estimate for next fiscal year
revenue_estimate_current_year object Consensus revenue estimate for current fiscal year
revenue_estimate_next_year object Consensus revenue estimate for next fiscal year
forward_ps_fair_value object Forward revenue per share x sector P/S multiple
forward_ps_margin_of_safety object MoS% using forward P/S fair value
forward_ps_unavailable_reason object
forward_ev_ebitda_fair_value object Forward EBITDA per share x sector EV/EBITDA multiple
forward_ev_ebitda_margin_of_safety object MoS% using forward EV/EBITDA fair value
forward_ev_ebitda_unavailable_reason object
forward_pfcf_fair_value object Forward FCF per share x sector P/FCF multiple
forward_pfcf_margin_of_safety object MoS% using forward P/FCF fair value
forward_pfcf_unavailable_reason object
projected_best_fit_fair_value object NTM fair value using the forward version of the best-fit method
projected_best_fit_margin_of_safety object MoS% at projected best-fit fair value
projected_best_fit_method object Forward method used, e.g. 'forward_ps', 'forward_pe', 'forward_ev_ebitda'
pfcf_fair_value object
pfcf_margin_of_safety object
pfcf_unavailable_reason object
evfcf_fair_value object
evfcf_margin_of_safety object
evfcf_unavailable_reason object
justified_pb_fair_value object
justified_pb_margin_of_safety object
justified_pb_unavailable_reason object
epv_fair_value object
epv_margin_of_safety object
epv_unavailable_reason object
ev_ebit_fair_value object
ev_ebit_margin_of_safety object
ev_ebit_unavailable_reason object
three_stage_dcf_fair_value object
three_stage_dcf_margin_of_safety object
three_stage_dcf_unavailable_reason object
ffo_fair_value object FFO-based fair value (REIT-specific)
ffo_margin_of_safety object
ffo_unavailable_reason object
ffo_per_share object FFO per share (Net Income + D&A, per share)
pffo_multiple_used object P/FFO multiple applied
paffo_fair_value object P/AFFO fair value (estimated AFFO = FFO - 0.20*capex)
paffo_margin_of_safety object
paffo_unavailable_reason object
affo_payout_coverage object AFFO_ps / dividend_ps ratio; None if dividend_ps unavailable
affo_payout_coverage_flag object True when coverage < 1.0 (distributions exceed estimated AFFO)
shareholder_yield_total object Boudoukh et al. (2007): (div + buybacks - net_debt_issuance) / market_cap; decimal
capital_allocation_score object Capital allocation quality score 0-100 (50% spread / 30% SGR / 20% goodwill trend); None if all inputs missing
roic object NOPAT / invested_capital (decimal); None if invested_capital <= 0
economic_spread object ROIC - cost_of_equity (CAPM rf+beta*ERP; ERP dynamic via app_config, default 0.055); positive = returns exceed cost of capital
goodwill_heavy_acquisition_flag object True when goodwill/assets > 0.30 AND economic_spread < 0 (factual capital allocation signal)
ohlson_o_score object Ohlson (1980) logit O-Score; None for Financials/Banks/Insurance/REIT
default_probability object P(default within 2yr) = 1/(1+exp(-O)); range [0,1]
cash_conversion_ratio object OCF / Net_Income; None when NI <= 0; < 0.7 = weak cash backing
revenue_quality_ratio object DeltaAR / DeltaRevenue; None when flat revenue; > 1.2 = receivables growing faster than revenue
dio_trend object DIO_t - DIO_t-1 (days); None when COGS <= 0; positive = inventory building
ev_sales_fair_value object EV/Sales-based fair value
ev_sales_margin_of_safety object
ev_sales_unavailable_reason object
ev_sales_multiple_used object EV/Sales multiple applied
high_multiple_model boolean True when valuation relies primarily on revenue-multiple methods
rnpv_fair_value object rNPV per-share equity model estimate (base case): pipeline value + net cash, per share. Model estimate under stated assumptions — not advice or a return promise; clinical-stage drug outcomes are binar
rnpv_fair_value_low object rNPV per-share estimate under the low peak-sales band (0.4x prior)
rnpv_fair_value_high object rNPV per-share estimate under the high peak-sales band (2.5x prior)
rnpv_margin_of_safety object
rnpv_unavailable_reason object
rnpv_program_count object Count of unique clinical programs valued in the rNPV
rnpv_lead_phase object Canonical phase of the most-advanced program (PHASE1/PHASE2/PHASE3/FILED/PHASE4)
rnpv_pipeline_value_per_share object Pipeline-only rNPV per share (before net cash)
rnpv_net_cash_per_share object Net cash (cash − total debt) per share added to pipeline value
rnpv_in_consensus object True when rNPV carried non-zero weight in the consensus blend (shadow gate live)
nav_fair_value object NAV proxy fair value for commodity producers — normalized FCF / depletion-adjusted discount rate
nav_margin_of_safety object
nav_unavailable_reason object
pe_midcycle_fair_value object P/E fair value using normalized mid-cycle EPS (commodity price ratio adjusted)
pe_midcycle_margin_of_safety object
pe_midcycle_unavailable_reason object
commodity_scenarios object Bear/base/bull fair value scenarios for commodity producers using forecast service price scenarios
commodity_price_vs_ma252 object Current commodity spot price vs 1-year moving average (>1.0 = above mid-cycle)
ri_fair_value object Residual Income fair value (Ohlson 1995 intrinsic value model)
ri_margin_of_safety object
ri_unavailable_reason object
ptbv_fair_value object Justified P/TBV fair value: TBVPS × (ROTE − g)/(CoE − g); bank sectors only
ptbv_margin_of_safety object
ptbv_unavailable_reason object
ev_gp_fair_value object EV/Gross-Profit fair value: GP/share × (sector EV/Sales multiple ÷ 0.70) − net debt/share; software sectors only
ev_gp_margin_of_safety object
ev_gp_unavailable_reason object
eva_fair_value object EVA firm-level fair value (NOPAT - WACC × IC, Stern-Stewart); audit companion only
eva_margin_of_safety object
eva_unavailable_reason object
cape_fair_value object Shiller CAPE fair value: real_EPS_avg (10yr CPI-adjusted) × sector long-run CAPE multiple
cape_margin_of_safety object
cape_unavailable_reason object
ev_ebitdax_fair_value object EV/EBITDA (E&P) fair value: (EBITDA/share + exploration_expense/share) × E&P sector multiple (5.5x) − net_debt/share. Exploration add-back requires future data source (always None from AV as of Phase
ev_ebitdax_margin_of_safety object
ev_ebitdax_unavailable_reason object
ri_intangible_fair_value object Residual-Income fair value on intangible-adjusted book equity (Adjusted_BVPS = BVPS + KC/share + OC/share − Goodwill/share); Tech/Software/Semis/Pharma/Biotech/MedDev only; shadow lens at weight 0.0.
ri_intangible_margin_of_safety object
ri_intangible_unavailable_reason object
pb_intangible_fair_value object Price-to-Book fair value on intangible-adjusted book equity × sector-median intangible-adjusted P/B (calibrated from live universe); Tech/Software/Semis/Pharma/Biotech/MedDev only; shadow lens at weig
pb_intangible_margin_of_safety object
pb_intangible_unavailable_reason object
merton_distance_to_default object Std deviations from default; >3=safe, 1-3=watch, <1=distress
merton_default_probability object Risk-neutral probability of default over 1 year
real_options_flag object 'optionality_premium' when price >> DCF and growth > 20%
options_fwd_fair_value object
options_fwd_margin_of_safety object
options_fwd_unavailable_reason object
sector_bubble_score object 0–100 bubble score for the sector (0=cheap, 100=extreme bubble)
sector_bubble_signal object e.g. 'elevated', 'bubble_risk', 'fairly_valued'
sector_bubble_premium_pct object How far current sector P/E is above/below 20Y historical mean (%)
save_composite object Latest SAVE composite score [-1, +1]
save_multiplier_weight object Sector-calibrated SAVE multiplier (0.10–0.25)
save_adjusted_fair_value object Consensus fair value adjusted by SAVE multiplier
save_adjusted_margin_of_safety object Margin of safety at SAVE-adjusted fair value
innovation_score object Innovation/implementation score (0–100); 50 = sector average
innovation_multiplier_alpha object Sector-calibrated innovation alpha (sensitivity of FV to score)
innovation_adjusted_fair_value object Consensus fair value adjusted by innovation multiplier
innovation_adjusted_margin_of_safety object Margin of safety at innovation-adjusted fair value
combined_adjusted_fair_value object Consensus FV adjusted by both SAVE composite and innovation score
combined_adjusted_margin_of_safety object Margin of safety at combined SAVE+Innovation fair value
excluded_from_consensus array Method keys with 0 sector weight — computed but not blended
company_type object Classified company type (e.g. 'profitable_saas', 'financial_bank', 'deep_value')
profile_confidence object Classification confidence: 'high' | 'medium' | 'low'
classification_notes object Edge-case flags applied during classification (e.g. 'extreme_leverage', 'dividend_sustainability_risk')
stage_gated_methods array Method keys disabled by stage-based gating for this company_type
method_weights_used object Normalized per-method weights actually used in this consensus blend (post overrides/outlier-trim/renormalization)
headline_blend object METHOD-WEIGHTS-01: when the headline fair value is the nightly batch figure (consensus_source='screener'), the weights and per-method values that built it: {'w': {method: weight}, 'fv': {method: value
consensus_overrides_applied object Factual trail of weight/FV adjustments that fired for this computation (e.g. high_pe_override, ttm_contamination_guard, sector_cape_haircut, outlier_trim, coverage_shrink, dispersion_shrink)
valuation_assumptions object Model parameters behind this valuation: risk-free rate, beta (raw + cap), equity risk premium, cost of equity, terminal growth, sector multiples, growth rates, illiquidity premium, micro-cap discount
method_sensitivity object Ceteris-paribus per-method fair-value sensitivity to ±1pp input changes (DCF terminal growth / discount rate; DDM discount rate). Educational what-if, not a projection.
cluster_count object Number of valuation clusters with at least 1 method contributing
clusters_used object Cluster names that contributed to the consensus blend
intra_cluster_method_counts object Mapping of cluster name to number of methods in that cluster
low_cluster_count_flag object True when only 2 clusters contributed (reduced diversification)
model_confidence_score object 0–100: reliability of the fair value estimate
model_confidence_label object 'Strong' | 'Moderate' | 'Limited' | 'Weak'
model_confidence_breakdown object Pillar sub-scores: convergence, coverage, data_quality, best_fit_certainty
model_confidence_diagnostics object Plain-English reasons why confidence is limited
fair_value_low object Lowest fair value across all applicable methods
fair_value_high object Highest fair value across all applicable methods
fair_value_range_pct object Range spread as % of low FV — measures method divergence
required_mos object Minimum MoS% this stock should clear given its risk profile
mos_excess object mos_mid - required_mos; positive = clears hurdle
page_blend_fair_value object This page's own multi-method blend; the headline consensus uses the screener's value when its row is fresh (PARITY-01)
consensus_source object 'screener' when the headline consensus is the screener batch value, 'page' when it is this page's own blend, 'screener_withheld' when the fresh screener row publishes no fair value so the page publish
fv_low_band object Weighted 25th percentile fair value across methods
fv_high_band object Weighted 75th percentile fair value across methods
mos_low object MoS% at fv_low_band (conservative)
mos_mid object MoS% at consensus FV after dispersion shrinkage
mos_high object MoS% at fv_high_band (optimistic)
mos_mid_raw object MoS% before dispersion shrinkage (unshrunk)
dispersion_cv object Coefficient of variation across method FVs
dispersion_factor object Shrinkage factor applied to MoS (0..0.6)
trimmed_methods object Method keys dropped by the robust outlier trim (median-anchored MAD filter)
coverage_shrink_factor object Factor applied to shrink fair value toward price when fewer than 5 methods carry weight in the blend (1.0 = no shrink)
forward_consensus_fv object Forward (NTM) consensus fair value blend
forward_consensus_mos object MoS% using forward consensus FV
forward_consensus_methods object Methods used in forward consensus
quality_label object 'high' | 'medium' | 'low' | 'distressed' | 'unknown'
mos_quality_bucket object 'cheap_quality' | 'value_trap_risk' | 'premium_quality' | 'fair_value'
mos_regime object 'persistent_cheap' | 'freshly_cheap' | 'persistent_premium' | 'freshly_premium' | 'transitioning'
weeks_at_current_band object Consecutive weeks the MoS sign has been the same
mos_4w_avg object Average consensus MoS over the last 4 weekly snapshots
mos_drift_30d object mos_now - mos_30d_ago; positive = model increasingly undervalued
convergence_low_weeks object Optimistic re-rating horizon in weeks (OU p25)
convergence_mid_weeks object Base-case re-rating horizon in weeks (OU halflife × catalyst)
convergence_high_weeks object Pessimistic re-rating horizon in weeks (OU p75)
convergence_probability_label object Human-readable horizon: 'Near-term' | 'Medium-term' | 'Patient' | 'Long-dated'
catalyst_acceleration object Multiplier on OU halflife from earnings/SAVE/momentum. <1 = faster, >1 = slower
ou_halflife_weeks object Raw OU mean-reversion halflife in weeks before catalyst adjustment
ou_r2 object AR(1) goodness-of-fit for OU regression (0–1)
ou_confidence object 'high' | 'medium' | 'low' | 'insufficient' based on history length and R²
company_name object Full company name
company_description object Business description narrative from AV OVERVIEW
company_website object Official company website
company_employees object Full-time employees
company_country object HQ country
company_address object HQ street address
company_fiscal_year_end object Fiscal year-end month
company_exchange object Listing exchange
company_industry object Sub-industry
earnings_quality_score object Forensic risk score 0-100 (Earnings Quality badge)
earnings_quality_label object Earnings Quality label: Excellent | Adequate | Caution | At-Risk
macro_regime object Macro regime: RISK_ON | LATE_CYCLE | STAGFLATION | RECESSION
consensus_fair_value_macro_adjusted object Macro-adjusted consensus FV
macro_haircut object Fractional haircut applied by macro regime overlay
mgmt_quality_score object Management Quality Score 0-100 (4 governance signals + drop-renorm + 25 baseline). None when all signals absent.
mgmt_quality_grade object Management Quality neutral-tier label — pending financial-legal-advisor sign-off. None when score None.
consensus_fair_value_mgmt_adjusted object consensus_fair_value × (1+mgmt_haircut[±2.5%]). DISTINCT column off RAW consensus — not stacked on macro_adjusted.
illiquidity_premium_pct object Amihud (2002) illiquidity model parameter — cost-of-equity add-on in decimal (e.g. 0.02 = 2pp). Factual computation input, not investment advice. None when history < 253 daily rows (252 daily returns)
micro_cap_discount_pct object Market-cap tier discount: 0.25 (<$100M) / 0.15 (<$300M) / 0.05 (<$500M) / 0.0 (>=500M). Applied post-consensus as distinct multiplier off RAW consensus_fair_value. Factual model parameter, not investm
consensus_fair_value_liquidity_adjusted object Model estimate under [liquidity] assumptions. Distinct column off RAW consensus_fair_value — not stacked on macro_adjusted or mgmt_adjusted.
inventory_turns_ratio object Inventory turns = COGS / average inventory (retail cohort only). Factual operational efficiency metric, not investment advice. None for non-cohort names or when inputs are missing / non-positive.
brand_equity_premium_pp object Company gross margin minus peer-subgroup median GM, in percentage points (retail cohort). Factual margin comparison, not investment advice. None below the 4-member subgroup quorum or for non-cohort na
sssg_pct object Most recent reported same-store / comparable-store sales growth (decimal), from a curated cited seed. Reported historical metric, not a forecast. None for unseeded / stale / e-commerce / non-cohort na
consensus_fair_value_retail_adjusted object Model estimate under [retail] assumptions. Distinct column off RAW consensus_fair_value — not stacked on macro_adjusted, mgmt_adjusted, or liquidity_adjusted. Equals RAW consensus when no retail signa
semis_ev_ebitda_midcycle_fair_value object EV/EBITDA mid-cycle fair value: EBITDA/share normalized by GM ratio (current/5yr-avg) × sub-sector multiple minus net_debt/share. Abstains if avg GM unavailable or |GM deviation| <= 5pp.
semis_ev_ebitda_midcycle_margin_of_safety object
semis_ev_ebitda_midcycle_unavailable_reason object
cycle_position object Semiconductor cycle-position indicator: 'early' | 'mid' | 'late' | 'trough'. Derived from DOH trend and GM deviation. Factual industry term only. Does NOT read book_to_bill.
inventory_doh object Days of Inventory On Hand = inventory / (COGS/365). Factual balance-sheet metric from most-recent annual period.
rd_intensity object R&D as percentage of revenue (R&D expense / total revenue × 100). Factual metric derived from income statement.
book_to_bill object Book-to-bill ratio. ALWAYS None in Phase 73 — SIA association data not wired (abstain). T-73-03 integrity gate.
book_to_bill_reason object Reason book_to_bill is None. Value: 'semi_association_data_not_wired'.
backlog_to_revenue_ratio object Backlog / TTM revenue ratio. >3.0 = very high; <0.8 = flag. Factual. Abstains when unseeded.
contract_mix_risk_score object Contract mix risk score 0-100 (fixed-price-heavy = higher). Only for directly-disclosed tickers (LMT/RTX/NOC/BA). Factual — not investment advice.
aftermarket_revenue_pct object Aftermarket / services revenue as decimal fraction of total revenue. From seed (public filings).
backlog_adjusted_fair_value object Model estimate under [backlog_as_of_date] backlog assumptions. DISTINCT field off RAW consensus — clamped +/-5%. Not a revenue forecast.
backlog_as_of_date object As-of date of the backlog figures used (e.g. 'FY2024 10-K'). Always displayed alongside backlog_adjusted_fair_value.
fair_value_ci_low object Lower bound of the 80% model confidence interval on consensus fair value
fair_value_ci_high object Upper bound of the 80% model confidence interval on consensus fair value
sue_score object BST-01: SUE z-score (Bernard & Thomas 1989); winsorized to [-10, 10]; sourced from screener batch
eps_revision_ratio object BST-02: EPS estimate revision ratio — upward revisions / total revisions (past 30 days); range [0.0, 1.0]
short_ratio object Days-to-cover short ratio (factual count); sourced from screener batch
short_percent_of_float object Short interest as decimal fraction of float; sourced from screener batch
pead_signal object BST-01: PEAD proxy — most recent EPS surprise bounded to [-1.0, 1.0]
eps_surprise_rate object Mean EPS surprise % across last 8 quarters (decimal fraction)
View JSON Schema on GitHub

JSON Schema

equity-rank-com-valuation-result-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/equity-rank-com/json-schema/equity-rank-com-valuation-result-schema.json",
  "title": "ValuationResult",
  "x-generated": "2026-11-07",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/equity-rank-com-openapi.yml#/components/schemas/ValuationResult",
  "properties": {
    "symbol": {
      "type": "string",
      "title": "Symbol"
    },
    "price": {
      "type": "number",
      "title": "Price"
    },
    "sector": {
      "type": "string",
      "title": "Sector"
    },
    "best_fit": {
      "anyOf": [
        {
          "$ref": "#/$defs/BestFit"
        },
        {
          "type": "null"
        }
      ]
    },
    "dcf_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Dcf Fair Value"
    },
    "dcf_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Dcf Margin Of Safety"
    },
    "dcf_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Dcf Unavailable Reason"
    },
    "pe_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pe Fair Value"
    },
    "pe_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pe Margin Of Safety"
    },
    "pe_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pe Unavailable Reason"
    },
    "pb_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pb Fair Value"
    },
    "pb_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pb Margin Of Safety"
    },
    "pb_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pb Unavailable Reason"
    },
    "ps_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ps Fair Value"
    },
    "ps_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ps Margin Of Safety"
    },
    "ps_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ps Unavailable Reason"
    },
    "ev_ebitda_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ev Ebitda Fair Value"
    },
    "ev_ebitda_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ev Ebitda Margin Of Safety"
    },
    "ev_ebitda_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ev Ebitda Unavailable Reason"
    },
    "graham_number": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Graham Number"
    },
    "graham_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Graham Margin Of Safety"
    },
    "graham_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Graham Unavailable Reason"
    },
    "ddm_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ddm Fair Value"
    },
    "ddm_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ddm Margin Of Safety"
    },
    "ddm_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ddm Unavailable Reason"
    },
    "peg_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Peg Fair Value"
    },
    "peg_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Peg Margin Of Safety"
    },
    "peg_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Peg Unavailable Reason"
    },
    "consensus_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Consensus Fair Value"
    },
    "consensus_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Consensus Margin Of Safety"
    },
    "methods_used": {
      "type": "integer",
      "title": "Methods Used"
    },
    "best_method": {
      "type": "string",
      "title": "Best Method"
    },
    "last_updated": {
      "type": "string",
      "title": "Last Updated"
    },
    "data_quality": {
      "type": "string",
      "title": "Data Quality",
      "description": "'full' | 'partial' | 'limited' — indicates data completeness",
      "default": "full"
    },
    "yfinance_fallback": {
      "type": "boolean",
      "title": "Yfinance Fallback",
      "description": "True when financials were sourced from yfinance fallback",
      "default": false
    },
    "derived_fields": {
      "items": {},
      "type": "array",
      "title": "Derived Fields",
      "description": "Fields estimated via mathematical derivation"
    },
    "calculated_growth_rate": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Calculated Growth Rate",
      "description": "Forward earnings growth rate (decimal). DTL/causal model when sector driver available; DuPont or historical blend fallback."
    },
    "growth_rate_model": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Growth Rate Model",
      "description": "Which growth model tier was used, e.g. 'DTL/Gold spot', 'DTL/revenue', 'DuPont', 'historical_blend'"
    },
    "eps_beat_probability": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Eps Beat Probability",
      "description": "Fraction of last 8 quarters beating consensus EPS estimate (0.0–1.0). None when fewer than 4 quarters of data available."
    },
    "accruals_ratio": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Accruals Ratio",
      "description": "Sloan accruals ratio: (NetIncome - OCF) / TotalAssets. >0.10 suggests earnings inflation risk; <-0.10 is conservative."
    },
    "piotroski_f_score": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Piotroski F Score",
      "description": "Piotroski F-Score 0-9. >=7 = strong fundamentals; <=3 = weak."
    },
    "beneish_m_score": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Beneish M Score",
      "description": "Beneish M-Score. >-1.78 = probable manipulation risk. NULL for banks, insurance, REITs, utilities (model not applicable)."
    },
    "beneish_flag": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Beneish Flag",
      "description": "True when beneish_m_score > -1.78. NULL for suppressed sectors."
    },
    "altman_z_score": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Altman Z Score",
      "description": "Altman Z-score. <1.81 = distress zone."
    },
    "earnings_inflated_flag": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Earnings Inflated Flag",
      "description": "True when reported earnings outpace operating cash flow (batch row)."
    },
    "red_flag_checks": {
      "anyOf": [
        {
          "additionalProperties": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Red Flag Checks",
      "description": "app.services.red_flags.evaluate: each check -> True flagged / False clear / None no data. Display only."
    },
    "roic_trend": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Roic Trend",
      "description": "ROIC trajectory: 'improving' | 'flat' | 'declining'."
    },
    "margin_trend": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Margin Trend",
      "description": "Operating margin trajectory: 'expanding' | 'stable' | 'compressing'."
    },
    "momentum_12m_1m": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Momentum 12M 1M",
      "description": "12m-1m price momentum factor: (price_1m_ago / price_12m_ago) - 1. Positive = upward trend; excludes last month per Jegadeesh-Titman."
    },
    "implied_earnings_move": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Implied Earnings Move",
      "description": "ATM straddle / current_price for nearest post-earnings expiry. Market-implied expected move magnitude (e.g. 0.08 = 8%). Only populated when a future earnings date is within 90 days."
    },
    "pmi_multiplier_applied": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pmi Multiplier Applied",
      "description": "True when the ISM Manufacturing PMI multiplier adjusted the Tier 1 or Tier 2 earnings growth estimate for this sector. Indicated by '+PMI' suffix in growth_rate_model label."
    },
    "forward_eps": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Forward Eps",
      "description": "Forward EPS (analyst consensus when available; otherwise TTM EPS x (1 + blended growth))"
    },
    "forward_eps_source": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Forward Eps Source",
      "description": "'analyst' when forward EPS is sourced from consensus estimates; 'analyst_fy2' when the second forward fiscal year replaced a trough FY1 (see forward_eps_note); 'modelled' when synthetic"
    },
    "forward_eps_note": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Forward Eps Note",
      "description": "Input-selection code for the forward P/E method when it ran on something other than the FY1 consensus (e.g. 'fy1_trough_fy2_fallback'); None otherwise"
    },
    "forward_pe_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Forward Pe Fair Value",
      "description": "Forward EPS x Sector P/E multiple"
    },
    "forward_pe_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Forward Pe Margin Of Safety",
      "description": "MoS% using forward P/E fair value"
    },
    "forward_pe_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Forward Pe Unavailable Reason",
      "description": "Abstention code when forward P/E produced no fair value"
    },
    "implied_growth_rate": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Implied Growth Rate",
      "description": "Reverse DCF implied growth rate (decimal)"
    },
    "trailing_eps": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Trailing Eps",
      "description": "TTM EPS used by trailing P/E fair value"
    },
    "trailing_pe_ratio": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Trailing Pe Ratio",
      "description": "Trailing P/E ratio (price / TTM EPS)"
    },
    "forward_pe_ratio": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Forward Pe Ratio",
      "description": "Forward P/E ratio from AV OVERVIEW"
    },
    "analyst_consensus_target": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Analyst Consensus Target",
      "description": "Street consensus price target (AV AnalystTargetPrice)"
    },
    "eps_estimate_current_year": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Eps Estimate Current Year",
      "description": "Consensus EPS estimate for current fiscal year"
    },
    "eps_estimate_next_year": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Eps Estimate Next Year",
      "description": "Consensus EPS estimate for next fiscal year"
    },
    "revenue_estimate_current_year": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Revenue Estimate Current Year",
      "description": "Consensus revenue estimate for current fiscal year"
    },
    "revenue_estimate_next_year": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Revenue Estimate Next Year",
      "description": "Consensus revenue estimate for next fiscal year"
    },
    "forward_ps_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Forward Ps Fair Value",
      "description": "Forward revenue per share x sector P/S multiple"
    },
    "forward_ps_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Forward Ps Margin Of Safety",
      "description": "MoS% using forward P/S fair value"
    },
    "forward_ps_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Forward Ps Unavailable Reason"
    },
    "forward_ev_ebitda_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Forward Ev Ebitda Fair Value",
      "description": "Forward EBITDA per share x sector EV/EBITDA multiple"
    },
    "forward_ev_ebitda_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Forward Ev Ebitda Margin Of Safety",
      "description": "MoS% using forward EV/EBITDA fair value"
    },
    "forward_ev_ebitda_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Forward Ev Ebitda Unavailable Reason"
    },
    "forward_pfcf_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Forward Pfcf Fair Value",
      "description": "Forward FCF per share x sector P/FCF multiple"
    },
    "forward_pfcf_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Forward Pfcf Margin Of Safety",
      "description": "MoS% using forward P/FCF fair value"
    },
    "forward_pfcf_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Forward Pfcf Unavailable Reason"
    },
    "projected_best_fit_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Projected Best Fit Fair Value",
      "description": "NTM fair value using the forward version of the best-fit method"
    },
    "projected_best_fit_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Projected Best Fit Margin Of Safety",
      "description": "MoS% at projected best-fit fair value"
    },
    "projected_best_fit_method": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Projected Best Fit Method",
      "description": "Forward method used, e.g. 'forward_ps', 'forward_pe', 'forward_ev_ebitda'"
    },
    "pfcf_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pfcf Fair Value"
    },
    "pfcf_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pfcf Margin Of Safety"
    },
    "pfcf_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pfcf Unavailable Reason"
    },
    "evfcf_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Evfcf Fair Value"
    },
    "evfcf_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Evfcf Margin Of Safety"
    },
    "evfcf_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Evfcf Unavailable Reason"
    },
    "justified_pb_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Justified Pb Fair Value"
    },
    "justified_pb_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Justified Pb Margin Of Safety"
    },
    "justified_pb_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Justified Pb Unavailable Reason"
    },
    "epv_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Epv Fair Value"
    },
    "epv_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Epv Margin Of Safety"
    },
    "epv_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Epv Unavailable Reason"
    },
    "ev_ebit_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ev Ebit Fair Value"
    },
    "ev_ebit_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ev Ebit Margin Of Safety"
    },
    "ev_ebit_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ev Ebit Unavailable Reason"
    },
    "three_stage_dcf_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Three Stage Dcf Fair Value"
    },
    "three_stage_dcf_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Three Stage Dcf Margin Of Safety"
    },
    "three_stage_dcf_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Three Stage Dcf Unavailable Reason"
    },
    "ffo_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ffo Fair Value",
      "description": "FFO-based fair value (REIT-specific)"
    },
    "ffo_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ffo Margin Of Safety"
    },
    "ffo_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ffo Unavailable Reason"
    },
    "ffo_per_share": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ffo Per Share",
      "description": "FFO per share (Net Income + D&A, per share)"
    },
    "pffo_multiple_used": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pffo Multiple Used",
      "description": "P/FFO multiple applied"
    },
    "paffo_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Paffo Fair Value",
      "description": "P/AFFO fair value (estimated AFFO = FFO - 0.20*capex)"
    },
    "paffo_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Paffo Margin Of Safety"
    },
    "paffo_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Paffo Unavailable Reason"
    },
    "affo_payout_coverage": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Affo Payout Coverage",
      "description": "AFFO_ps / dividend_ps ratio; None if dividend_ps unavailable"
    },
    "affo_payout_coverage_flag": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Affo Payout Coverage Flag",
      "description": "True when coverage < 1.0 (distributions exceed estimated AFFO)"
    },
    "shareholder_yield_total": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Shareholder Yield Total",
      "description": "Boudoukh et al. (2007): (div + buybacks - net_debt_issuance) / market_cap; decimal"
    },
    "capital_allocation_score": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Capital Allocation Score",
      "description": "Capital allocation quality score 0-100 (50% spread / 30% SGR / 20% goodwill trend); None if all inputs missing"
    },
    "roic": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Roic",
      "description": "NOPAT / invested_capital (decimal); None if invested_capital <= 0"
    },
    "economic_spread": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Economic Spread",
      "description": "ROIC - cost_of_equity (CAPM rf+beta*ERP; ERP dynamic via app_config, default 0.055); positive = returns exceed cost of capital"
    },
    "goodwill_heavy_acquisition_flag": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Goodwill Heavy Acquisition Flag",
      "description": "True when goodwill/assets > 0.30 AND economic_spread < 0 (factual capital allocation signal)"
    },
    "ohlson_o_score": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ohlson O Score",
      "description": "Ohlson (1980) logit O-Score; None for Financials/Banks/Insurance/REIT"
    },
    "default_probability": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Default Probability",
      "description": "P(default within 2yr) = 1/(1+exp(-O)); range [0,1]"
    },
    "cash_conversion_ratio": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Cash Conversion Ratio",
      "description": "OCF / Net_Income; None when NI <= 0; < 0.7 = weak cash backing"
    },
    "revenue_quality_ratio": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Revenue Quality Ratio",
      "description": "DeltaAR / DeltaRevenue; None when flat revenue; > 1.2 = receivables growing faster than revenue"
    },
    "dio_trend": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Dio Trend",
      "description": "DIO_t - DIO_t-1 (days); None when COGS <= 0; positive = inventory building"
    },
    "ev_sales_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ev Sales Fair Value",
      "description": "EV/Sales-based fair value"
    },
    "ev_sales_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ev Sales Margin Of Safety"
    },
    "ev_sales_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ev Sales Unavailable Reason"
    },
    "ev_sales_multiple_used": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ev Sales Multiple Used",
      "description": "EV/Sales multiple applied"
    },
    "high_multiple_model": {
      "type": "boolean",
      "title": "High Multiple Model",
      "description": "True when valuation relies primarily on revenue-multiple methods",
      "default": false
    },
    "rnpv_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Rnpv Fair Value",
      "description": "rNPV per-share equity model estimate (base case): pipeline value + net cash, per share. Model estimate under stated assumptions — not advice or a return promise; clinical-stage drug outcomes are binary and uncertain, and a program can fail with its modeled value falling toward zero."
    },
    "rnpv_fair_value_low": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Rnpv Fair Value Low",
      "description": "rNPV per-share estimate under the low peak-sales band (0.4x prior)"
    },
    "rnpv_fair_value_high": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Rnpv Fair Value High",
      "description": "rNPV per-share estimate under the high peak-sales band (2.5x prior)"
    },
    "rnpv_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Rnpv Margin Of Safety"
    },
    "rnpv_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Rnpv Unavailable Reason"
    },
    "rnpv_program_count": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Rnpv Program Count",
      "description": "Count of unique clinical programs valued in the rNPV"
    },
    "rnpv_lead_phase": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Rnpv Lead Phase",
      "description": "Canonical phase of the most-advanced program (PHASE1/PHASE2/PHASE3/FILED/PHASE4)"
    },
    "rnpv_pipeline_value_per_share": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Rnpv Pipeline Value Per Share",
      "description": "Pipeline-only rNPV per share (before net cash)"
    },
    "rnpv_net_cash_per_share": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Rnpv Net Cash Per Share",
      "description": "Net cash (cash − total debt) per share added to pipeline value"
    },
    "rnpv_in_consensus": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Rnpv In Consensus",
      "description": "True when rNPV carried non-zero weight in the consensus blend (shadow gate live)"
    },
    "nav_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Nav Fair Value",
      "description": "NAV proxy fair value for commodity producers — normalized FCF / depletion-adjusted discount rate"
    },
    "nav_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Nav Margin Of Safety"
    },
    "nav_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Nav Unavailable Reason"
    },
    "pe_midcycle_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "

# --- truncated at 32 KB (75 KB total) ---
# Full source: https://artifacts.apis.io/equity-rank-com/json-schema/equity-rank-com-valuation-result-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/equity-rank-com-valuation-result"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.