{
  "$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": "Pe Midcycle Fair Value",
      "description": "P/E fair value using normalized mid-cycle EPS (commodity price ratio adjusted)"
    },
    "pe_midcycle_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pe Midcycle Margin Of Safety"
    },
    "pe_midcycle_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pe Midcycle Unavailable Reason"
    },
    "commodity_scenarios": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Commodity Scenarios",
      "description": "Bear/base/bull fair value scenarios for commodity producers using forecast service price scenarios"
    },
    "commodity_price_vs_ma252": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Commodity Price Vs Ma252",
      "description": "Current commodity spot price vs 1-year moving average (>1.0 = above mid-cycle)"
    },
    "ri_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ri Fair Value",
      "description": "Residual Income fair value (Ohlson 1995 intrinsic value model)"
    },
    "ri_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ri Margin Of Safety"
    },
    "ri_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ri Unavailable Reason"
    },
    "ptbv_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ptbv Fair Value",
      "description": "Justified P/TBV fair value: TBVPS × (ROTE − g)/(CoE − g); bank sectors only"
    },
    "ptbv_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ptbv Margin Of Safety"
    },
    "ptbv_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ptbv Unavailable Reason"
    },
    "ev_gp_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ev Gp Fair Value",
      "description": "EV/Gross-Profit fair value: GP/share × (sector EV/Sales multiple ÷ 0.70) − net debt/share; software sectors only"
    },
    "ev_gp_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ev Gp Margin Of Safety"
    },
    "ev_gp_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ev Gp Unavailable Reason"
    },
    "eva_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Eva Fair Value",
      "description": "EVA firm-level fair value (NOPAT - WACC × IC, Stern-Stewart); audit companion only"
    },
    "eva_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Eva Margin Of Safety"
    },
    "eva_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Eva Unavailable Reason"
    },
    "cape_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Cape Fair Value",
      "description": "Shiller CAPE fair value: real_EPS_avg (10yr CPI-adjusted) × sector long-run CAPE multiple"
    },
    "cape_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Cape Margin Of Safety"
    },
    "cape_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Cape Unavailable Reason"
    },
    "ev_ebitdax_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ev Ebitdax Fair Value",
      "description": "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 70)."
    },
    "ev_ebitdax_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ev Ebitdax Margin Of Safety"
    },
    "ev_ebitdax_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ev Ebitdax Unavailable Reason"
    },
    "ri_intangible_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ri Intangible Fair Value",
      "description": "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": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ri Intangible Margin Of Safety"
    },
    "ri_intangible_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ri Intangible Unavailable Reason"
    },
    "pb_intangible_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pb Intangible Fair Value",
      "description": "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 weight 0.0."
    },
    "pb_intangible_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pb Intangible Margin Of Safety"
    },
    "pb_intangible_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pb Intangible Unavailable Reason"
    },
    "merton_distance_to_default": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Merton Distance To Default",
      "description": "Std deviations from default; >3=safe, 1-3=watch, <1=distress"
    },
    "merton_default_probability": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Merton Default Probability",
      "description": "Risk-neutral probability of default over 1 year"
    },
    "real_options_flag": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Real Options Flag",
      "description": "'optionality_premium' when price >> DCF and growth > 20%"
    },
    "options_fwd_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Options Fwd Fair Value"
    },
    "options_fwd_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Options Fwd Margin Of Safety"
    },
    "options_fwd_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Options Fwd Unavailable Reason"
    },
    "sector_bubble_score": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Sector Bubble Score",
      "description": "0–100 bubble score for the sector (0=cheap, 100=extreme bubble)"
    },
    "sector_bubble_signal": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Sector Bubble Signal",
      "description": "e.g. 'elevated', 'bubble_risk', 'fairly_valued'"
    },
    "sector_bubble_premium_pct": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Sector Bubble Premium Pct",
      "description": "How far current sector P/E is above/below 20Y historical mean (%)"
    },
    "save_composite": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Save Composite",
      "description": "Latest SAVE composite score [-1, +1]"
    },
    "save_multiplier_weight": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Save Multiplier Weight",
      "description": "Sector-calibrated SAVE multiplier (0.10–0.25)"
    },
    "save_adjusted_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Save Adjusted Fair Value",
      "description": "Consensus fair value adjusted by SAVE multiplier"
    },
    "save_adjusted_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Save Adjusted Margin Of Safety",
      "description": "Margin of safety at SAVE-adjusted fair value"
    },
    "innovation_score": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Innovation Score",
      "description": "Innovation/implementation score (0–100); 50 = sector average"
    },
    "innovation_multiplier_alpha": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Innovation Multiplier Alpha",
      "description": "Sector-calibrated innovation alpha (sensitivity of FV to score)"
    },
    "innovation_adjusted_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Innovation Adjusted Fair Value",
      "description": "Consensus fair value adjusted by innovation multiplier"
    },
    "innovation_adjusted_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Innovation Adjusted Margin Of Safety",
      "description": "Margin of safety at innovation-adjusted fair value"
    },
    "combined_adjusted_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Combined Adjusted Fair Value",
      "description": "Consensus FV adjusted by both SAVE composite and innovation score"
    },
    "combined_adjusted_margin_of_safety": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Combined Adjusted Margin Of Safety",
      "description": "Margin of safety at combined SAVE+Innovation fair value"
    },
    "excluded_from_consensus": {
      "items": {},
      "type": "array",
      "title": "Excluded From Consensus",
      "description": "Method keys with 0 sector weight — computed but not blended"
    },
    "company_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Company Type",
      "description": "Classified company type (e.g. 'profitable_saas', 'financial_bank', 'deep_value')"
    },
    "profile_confidence": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Profile Confidence",
      "description": "Classification confidence: 'high' | 'medium' | 'low'"
    },
    "classification_notes": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Classification Notes",
      "description": "Edge-case flags applied during classification (e.g. 'extreme_leverage', 'dividend_sustainability_risk')"
    },
    "stage_gated_methods": {
      "items": {},
      "type": "array",
      "title": "Stage Gated Methods",
      "description": "Method keys disabled by stage-based gating for this company_type"
    },
    "method_weights_used": {
      "anyOf": [
        {
          "additionalProperties": {
            "type": "number"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Method Weights Used",
      "description": "Normalized per-method weights actually used in this consensus blend (post overrides/outlier-trim/renormalization)"
    },
    "headline_blend": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Headline Blend",
      "description": "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}, 'overrides': [...]}. method_weights_used is this page's own calculation and can differ."
    },
    "consensus_overrides_applied": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Consensus Overrides Applied",
      "description": "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": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Valuation Assumptions",
      "description": "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": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Method Sensitivity",
      "description": "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": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Cluster Count",
      "description": "Number of valuation clusters with at least 1 method contributing"
    },
    "clusters_used": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Clusters Used",
      "description": "Cluster names that contributed to the consensus blend"
    },
    "intra_cluster_method_counts": {
      "anyOf": [
        {
          "additionalProperties": {
            "type": "integer"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Intra Cluster Method Counts",
      "description": "Mapping of cluster name to number of methods in that cluster"
    },
    "low_cluster_count_flag": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Low Cluster Count Flag",
      "description": "True when only 2 clusters contributed (reduced diversification)"
    },
    "model_confidence_score": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Model Confidence Score",
      "description": "0–100: reliability of the fair value estimate"
    },
    "model_confidence_label": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Model Confidence Label",
      "description": "'Strong' | 'Moderate' | 'Limited' | 'Weak'"
    },
    "model_confidence_breakdown": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Model Confidence Breakdown",
      "description": "Pillar sub-scores: convergence, coverage, data_quality, best_fit_certainty"
    },
    "model_confidence_diagnostics": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Model Confidence Diagnostics",
      "description": "Plain-English reasons why confidence is limited"
    },
    "fair_value_low": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Fair Value Low",
      "description": "Lowest fair value across all applicable methods"
    },
    "fair_value_high": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Fair Value High",
      "description": "Highest fair value across all applicable methods"
    },
    "fair_value_range_pct": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Fair Value Range Pct",
      "description": "Range spread as % of low FV — measures method divergence"
    },
    "required_mos": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Required Mos",
      "description": "Minimum MoS% this stock should clear given its risk profile"
    },
    "mos_excess": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Mos Excess",
      "description": "mos_mid - required_mos; positive = clears hurdle"
    },
    "page_blend_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Page Blend Fair Value",
      "description": "This page's own multi-method blend; the headline consensus uses the screener's value when its row is fresh (PARITY-01)"
    },
    "consensus_source": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Consensus Source",
      "description": "'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 publishes none either"
    },
    "fv_low_band": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Fv Low Band",
      "description": "Weighted 25th percentile fair value across methods"
    },
    "fv_high_band": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Fv High Band",
      "description": "Weighted 75th percentile fair value across methods"
    },
    "mos_low": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Mos Low",
      "description": "MoS% at fv_low_band (conservative)"
    },
    "mos_mid": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Mos Mid",
      "description": "MoS% at consensus FV after dispersion shrinkage"
    },
    "mos_high": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Mos High",
      "description": "MoS% at fv_high_band (optimistic)"
    },
    "mos_mid_raw": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Mos Mid Raw",
      "description": "MoS% before dispersion shrinkage (unshrunk)"
    },
    "dispersion_cv": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Dispersion Cv",
      "description": "Coefficient of variation across method FVs"
    },
    "dispersion_factor": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Dispersion Factor",
      "description": "Shrinkage factor applied to MoS (0..0.6)"
    },
    "trimmed_methods": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Trimmed Methods",
      "description": "Method keys dropped by the robust outlier trim (median-anchored MAD filter)"
    },
    "coverage_shrink_factor": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Coverage Shrink Factor",
      "description": "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": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Forward Consensus Fv",
      "description": "Forward (NTM) consensus fair value blend"
    },
    "forward_consensus_mos": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Forward Consensus Mos",
      "description": "MoS% using forward consensus FV"
    },
    "forward_consensus_methods": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Forward Consensus Methods",
      "description": "Methods used in forward consensus"
    },
    "quality_label": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Quality Label",
      "description": "'high' | 'medium' | 'low' | 'distressed' | 'unknown'"
    },
    "mos_quality_bucket": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Mos Quality Bucket",
      "description": "'cheap_quality' | 'value_trap_risk' | 'premium_quality' | 'fair_value'"
    },
    "mos_regime": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Mos Regime",
      "description": "'persistent_cheap' | 'freshly_cheap' | 'persistent_premium' | 'freshly_premium' | 'transitioning'"
    },
    "weeks_at_current_band": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Weeks At Current Band",
      "description": "Consecutive weeks the MoS sign has been the same"
    },
    "mos_4w_avg": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Mos 4W Avg",
      "description": "Average consensus MoS over the last 4 weekly snapshots"
    },
    "mos_drift_30d": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Mos Drift 30D",
      "description": "mos_now - mos_30d_ago; positive = model increasingly undervalued"
    },
    "convergence_low_weeks": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Convergence Low Weeks",
      "description": "Optimistic re-rating horizon in weeks (OU p25)"
    },
    "convergence_mid_weeks": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Convergence Mid Weeks",
      "description": "Base-case re-rating horizon in weeks (OU halflife × catalyst)"
    },
    "convergence_high_weeks": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Convergence High Weeks",
      "description": "Pessimistic re-rating horizon in weeks (OU p75)"
    },
    "convergence_probability_label": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Convergence Probability Label",
      "description": "Human-readable horizon: 'Near-term' | 'Medium-term' | 'Patient' | 'Long-dated'"
    },
    "catalyst_acceleration": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Catalyst Acceleration",
      "description": "Multiplier on OU halflife from earnings/SAVE/momentum. <1 = faster, >1 = slower"
    },
    "ou_halflife_weeks": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ou Halflife Weeks",
      "description": "Raw OU mean-reversion halflife in weeks before catalyst adjustment"
    },
    "ou_r2": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ou R2",
      "description": "AR(1) goodness-of-fit for OU regression (0–1)"
    },
    "ou_confidence": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ou Confidence",
      "description": "'high' | 'medium' | 'low' | 'insufficient' based on history length and R²"
    },
    "company_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Company Name",
      "description": "Full company name"
    },
    "company_description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Company Description",
      "description": "Business description narrative from AV OVERVIEW"
    },
    "company_website": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Company Website",
      "description": "Official company website"
    },
    "company_employees": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Company Employees",
      "description": "Full-time employees"
    },
    "company_country": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Company Country",
      "description": "HQ country"
    },
    "company_address": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Company Address",
      "description": "HQ street address"
    },
    "company_fiscal_year_end": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Company Fiscal Year End",
      "description": "Fiscal year-end month"
    },
    "company_exchange": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Company Exchange",
      "description": "Listing exchange"
    },
    "company_industry": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Company Industry",
      "description": "Sub-industry"
    },
    "earnings_quality_score": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Earnings Quality Score",
      "description": "Forensic risk score 0-100 (Earnings Quality badge)"
    },
    "earnings_quality_label": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Earnings Quality Label",
      "description": "Earnings Quality label: Excellent | Adequate | Caution | At-Risk"
    },
    "macro_regime": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Macro Regime",
      "description": "Macro regime: RISK_ON | LATE_CYCLE | STAGFLATION | RECESSION"
    },
    "consensus_fair_value_macro_adjusted": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Consensus Fair Value Macro Adjusted",
      "description": "Macro-adjusted consensus FV"
    },
    "macro_haircut": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Macro Haircut",
      "description": "Fractional haircut applied by macro regime overlay"
    },
    "mgmt_quality_score": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Mgmt Quality Score",
      "description": "Management Quality Score 0-100 (4 governance signals + drop-renorm + 25 baseline). None when all signals absent."
    },
    "mgmt_quality_grade": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Mgmt Quality Grade",
      "description": "Management Quality neutral-tier label — pending financial-legal-advisor sign-off. None when score None."
    },
    "consensus_fair_value_mgmt_adjusted": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Consensus Fair Value Mgmt Adjusted",
      "description": "consensus_fair_value × (1+mgmt_haircut[±2.5%]). DISTINCT column off RAW consensus — not stacked on macro_adjusted."
    },
    "illiquidity_premium_pct": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Illiquidity Premium Pct",
      "description": "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) or liquidity is unknown."
    },
    "micro_cap_discount_pct": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Micro Cap Discount Pct",
      "description": "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 investment advice."
    },
    "consensus_fair_value_liquidity_adjusted": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Consensus Fair Value Liquidity Adjusted",
      "description": "Model estimate under [liquidity] assumptions. Distinct column off RAW consensus_fair_value — not stacked on macro_adjusted or mgmt_adjusted."
    },
    "inventory_turns_ratio": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Inventory Turns Ratio",
      "description": "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": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Brand Equity Premium Pp",
      "description": "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 names."
    },
    "sssg_pct": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Sssg Pct",
      "description": "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 names."
    },
    "consensus_fair_value_retail_adjusted": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Consensus Fair Value Retail Adjusted",
      "description": "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 signal is available."
    },
    "semis_ev_ebitda_midcycle_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Semis Ev Ebitda Midcycle Fair Value",
      "description": "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": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Semis Ev Ebitda Midcycle Margin Of Safety"
    },
    "semis_ev_ebitda_midcycle_unavailable_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Semis Ev Ebitda Midcycle Unavailable Reason"
    },
    "cycle_position": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Cycle Position",
      "description": "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": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Inventory Doh",
      "description": "Days of Inventory On Hand = inventory / (COGS/365). Factual balance-sheet metric from most-recent annual period."
    },
    "rd_intensity": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Rd Intensity",
      "description": "R&D as percentage of revenue (R&D expense / total revenue × 100). Factual metric derived from income statement."
    },
    "book_to_bill": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Book To Bill",
      "description": "Book-to-bill ratio. ALWAYS None in Phase 73 — SIA association data not wired (abstain). T-73-03 integrity gate."
    },
    "book_to_bill_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Book To Bill Reason",
      "description": "Reason book_to_bill is None. Value: 'semi_association_data_not_wired'."
    },
    "backlog_to_revenue_ratio": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Backlog To Revenue Ratio",
      "description": "Backlog / TTM revenue ratio. >3.0 = very high; <0.8 = flag. Factual. Abstains when unseeded."
    },
    "contract_mix_risk_score": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Contract Mix Risk Score",
      "description": "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": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Aftermarket Revenue Pct",
      "description": "Aftermarket / services revenue as decimal fraction of total revenue. From seed (public filings)."
    },
    "backlog_adjusted_fair_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Backlog Adjusted Fair Value",
      "description": "Model estimate under [backlog_as_of_date] backlog assumptions. DISTINCT field off RAW consensus — clamped +/-5%. Not a revenue forecast."
    },
    "backlog_as_of_date": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Backlog As Of Date",
      "description": "As-of date of the backlog figures used (e.g. 'FY2024 10-K'). Always displayed alongside backlog_adjusted_fair_value."
    },
    "fair_value_ci_low": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Fair Value Ci Low",
      "description": "Lower bound of the 80% model confidence interval on consensus fair value"
    },
    "fair_value_ci_high": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Fair Value Ci High",
      "description": "Upper bound of the 80% model confidence interval on consensus fair value"
    },
    "sue_score": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Sue Score",
      "description": "BST-01: SUE z-score (Bernard & Thomas 1989); winsorized to [-10, 10]; sourced from screener batch"
    },
    "eps_revision_ratio": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Eps Revision Ratio",
      "description": "BST-02: EPS estimate revision ratio — upward revisions / total revisions (past 30 days); range [0.0, 1.0]"
    },
    "short_ratio": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Short Ratio",
      "description": "Days-to-cover short ratio (factual count); sourced from screener batch"
    },
    "short_percent_of_float": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Short Percent Of Float",
      "description": "Short interest as decimal fraction of float; sourced from screener batch"
    },
    "pead_signal": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pead Signal",
      "description": "BST-01: PEAD proxy — most recent EPS surprise bounded to [-1.0, 1.0]"
    },
    "eps_surprise_rate": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Eps Surprise Rate",
      "description": "Mean EPS surprise % across last 8 quarters (decimal fraction)"
    }
  },
  "type": "object",
  "required": [
    "symbol",
    "price",
    "sector",
    "consensus_fair_value",
    "consensus_margin_of_safety",
    "methods_used",
    "best_method"
  ],
  "$defs": {
    "BestFit": {
      "properties": {
        "method": {
          "type": "string",
          "title": "Method"
        },
        "label": {
          "type": "string",
          "title": "Label"
        },
        "fair_value": {
          "type": "number",
          "title": "Fair Value"
        },
        "margin_of_safety": {
          "type": "number",
          "title": "Margin Of Safety"
        },
        "rationale": {
          "type": "string",
          "title": "Rationale"
        },
        "confidence": {
          "type": "string",
          "title": "Confidence"
        },
        "method_no_leverage": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Method No Leverage"
        },
        "label_no_leverage": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Label No Leverage"
        },
        "fair_value_no_leverage": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "title": "Fair Value No Leverage"
        },
        "margin_of_safety_no_leverage": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "title": "Margin Of Safety No Leverage"
        },
        "confidence_no_leverage": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Confidence No Leverage"
        },
        "leverage_fired": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Leverage Fired"
        },
        "leverage_debt_equity": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "title": "Leverage Debt Equity"
        },
        "bridge_observed": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Bridge Observed"
        },
        "rule_sha": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Rule Sha"
        }
      },
      "type": "object",
      "required": [
        "method",
        "label",
        "fair_value",
        "margin_of_safety",
        "rationale",
        "confidence"
      ],
      "title": "BestFit",
      "description": "The single best-fitting valuation method for this specific stock."
    }
  }
}