← Files Investment BankingARCHIVED FILE
skills/comps-valuation/references/source-and-staleness-rules.md
5.41 KB · Oct 2, 2026 · 00:27 UTC
# Source And Staleness Rules ## Table Of Contents - [Source Hierarchy](#source-hierarchy) - [Public Comps Stale-Data Checks](#public-comps-stale-data-checks) - [Mixed-Source And Conflict Rules](#mixed-source-and-conflict-rules) - [Evidence Labels](#evidence-labels) - [Canonical Input Contract](#canonical-input-contract) - [Data Conventions](#data-conventions) - [Overrides And Assumptions](#overrides-and-assumptions) ## Source Hierarchy Follow `financial-source-of-truth` for source hierarchy, citation format, stale-data checks, and source conflicts. For comps work, prefer: 1. user-provided workbooks, provider exports, filings, investor decks, and source files; 2. connected financial-data sources or workspace apps; 3. primary filings, company IR, exchange data, and official announcements; 4. reputable market-data or estimate providers; 5. general web/search only as a labeled fallback. Use the source with the clearest provenance for the requested decision. Do not silently blend values from different source qualities. ## Public Comps Stale-Data Checks For each company in the core table, carry or disclose: - market-data as-of date for price, market cap, and enterprise value; - share count and dilution source and date; - balance-sheet basis for cash, debt, minority interest, preferred equity, leases, pensions, investments, and other EV bridge items; - financial-statement period end for LTM denominators; - estimate source and estimate-as-of date when NTM is used; - trading and reporting currency; - FX date and spot/average convention when currencies differ; - EV bridge basis; - adjustment basis: reported, adjusted, consensus, company-defined, or inferred. Never mix today's share price with stale share count, stale cash/debt, stale estimates, or stale denominators without labeling the mismatch in `QA Flags And Caveats`. ## Mixed-Source And Conflict Rules - If a provider value, filing value, and user value disagree, disclose the conflict and use the value with the strongest evidence for the requested output. - If market data is current but balance-sheet data is latest reported, label the as-of mismatch. - If a post-period event changes capital structure, use the event-adjusted bridge only when the event amount and timing are supportable. - If estimates come from a different date than pricing, label the estimate vintage. - If the analysis uses user-provided values that cannot be verified, label them as user-provided, management-provided, or seller-provided as applicable. ## Evidence Labels Use shared evidence labels for major inputs and conclusions: - `fact_primary` - `fact_secondary` - `third_party_estimate` - `internal_estimate` - `management_claim` - `seller_claim` - `assumption` - `inference` - `unsupported` Comps-specific mapping: - company filing financials = `fact_primary` - traded price from a reliable market-data source = `fact_secondary`, with as-of date - consensus estimates = `third_party_estimate` - peer-set inclusion rationale = `inference` - selected multiple range = `inference` - manual peer inclusion/exclusion = `assumption` or `inference`, with rationale - target private-company financials from CIM, banker deck, or management materials = `seller_claim` or `management_claim` unless verified ## Canonical Input Contract When user files or exports are available, normalize them internally into these fields where practical: | Table | Required fields | Helpful fields | |---|---|---| | `entities` | `company_id`, `company_name`, `ticker`, `sector_module`, `reporting_currency`, `is_target` | exchange, country, taxonomy, business model tags | | `market_data` | `company_id`, `as_of_date`, `price`, `trading_currency`, `basic_shares` | share factor, ADV, provider market cap | | `capital_structure` | `company_id`, `as_of_date`, `cash`, `st_debt`, `lt_debt` | restricted cash, trapped cash, leases, minority interest, preferreds, pensions, investments | | `financials` | `company_id`, `ltm_period_end`, `ltm_revenue` | EBITDA, EBIT, net income, CFO, capex, FCF, FFO, AFFO, TBV, book value | | `estimates` | `company_id`, `estimate_as_of`, `ntm_method` | NTM revenue, EBITDA, EBIT, net income, EPS, FCF, FFO, AFFO | | `dilution` | `company_id`, `instrument_type`, `quantity` | strike, conversion price, treasury stock method notes | | `fx_rates` | `date`, `from_ccy`, `to_ccy`, `rate`, `rate_type` | spot, average, period basis | | `adjustments` | `company_id`, `metric`, `period_end`, `amount`, `category`, `notes` | source, approval, adjustment basis | ## Data Conventions - Use `company_id` as the stable join key. Do not rely only on ticker strings. - Dates must be `YYYY-MM-DD`. - Currency codes should be ISO 4217. - Monetary values should be absolute, not per-share, unless the field is explicitly per-share. - Shares should be actual shares, not thousands. - Percent fields should be stored as percent, such as `18.5`, not `0.185`. - Keep periods, currencies, consolidation scope, and adjustment basis consistent across each multiple. ## Overrides And Assumptions - Keep sourced values distinguishable from assumptions. - Attach a short reason to every manual override, proxy, adjustment, or substitution. - Point important inputs back to their source table, filing, provider export, connector path, or stated assumption when possible. - If producing an artifact, preserve overrides in an audit section or notes field. - Do not use a silent fallback. Put workarounds in `Assumptions`, `QA Flags And Caveats`, or `Open Items / Data Requests`.
SHA-256: 499c7447defd5a6b22bd10f876cd223683456b615c4bc3994292b52aeff871c0