Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 94 additions & 0 deletions docs/datasets/tam-data-sources.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# TAM training data β€” where it comes from (global source catalog)

Scoping doc for the `data/tam-training-dataset` branch. "Training dataset for
TAM" is three different artifacts; this catalog covers all three and marks which
global sources Strata already ingests vs. which are gaps.

---

## First: which dataset?

| # | Dataset | Shape | Trains / evaluates | Strata status |
|---|---|---|---|---|
| **A** | **Resolver eval set** | `query β†’ expected_concept Β· lens Β· magnitude` | the queryβ†’framework mapping (the LLM slug resolver + lens pick) | **exists**: `backend/src/strata/evals/golden.yaml` (CI β‰₯ 0.8), ~16 cases. The 77-query diligence set (`docs/sample-queries.md`, on `docs/brainstorm-transcripts`) is the natural expansion corpus. **No global data needed β€” needs labeled queries.** |
| **B** | **Sourced-primitive supply** | atomic primitives: `value Β· unit Β· scope Β· source(url, tier, sha256)` | the *inputs* a framework multiplies (persona pools, ACVs, spend, rates) | **partial**: 293 primitives from ~13 connectors. This is where "global sources" matters most. |
| **C** | **Ground-truth TAM labels** | `market β†’ defensible TAM range + method` | the *output* β€” benchmark whether a sized TAM is right | **doesn't exist**, and is the hardest: credible TAM figures are paywalled & analyst-tier (see honesty caveat). |

> **Recommendation:** B is the real leverage (better inputs β†’ better TAMs β†’ the
> bank grows), and A is the cheapest win (expand the eval set). C is a trap if
> done naively β€” see below.

---

## The honesty caveat on "TAM ground truth" (C)

Published TAM numbers (Statista, IBISWorld, Gartner, IDC, Forrester, Grand View,
MarketsandMarkets, Mordor) are **analyst-tier** β€” Strata's fence treats them as
`analyst` / `analyst-paraphrase`, i.e. *modeled, not sourced* (Q20). Training the
sizer to reproduce them would re-anchor on the exact unverifiable numbers the
product exists to replace ("competing on the losing axis", STRATEGY-REVIEW
2026-06-06). So ground truth should be **bottoms-up sourced primitives + a small
human-curated set of defensible TAMs with their method**, never scraped analyst
headlines. Analyst figures are fine only as a *cross-check banner*, fenced.

---

## Global open-data source catalog (for B β€” the sourced-primitive supply)

Trust order (Strata tiers): `first_party Β· regulator Β· aggregator Β· analyst Β· community Β· onchain Β· prediction_market Β· community-modeled`.

### Multilateral / global (regulator + aggregator tier)
| Source | What it gives a TAM | Free API | Strata connector |
|---|---|---|---|
| **World Bank** Open Data | GDP, population, adoption rates, by country | βœ… | βœ… wired (`worldbank`) |
| **OECD**.Stat (SDMX) | 38-country GDP, labour, trade, health, R&D | βœ… | βœ… wired (`oecd`) |
| **Eurostat** | EU sector stats, demographics, energy, health spend | βœ… | βœ… wired (`eurostat`) |
| **UN Comtrade** | bilateral trade flows by HS code | βœ… (key for bulk) | βœ… wired (`comtrade`) |
| **IMF** (WEO / IFS / BOP) | macro, fiscal, balance-of-payments, by country | βœ… | ❌ gap |
| **ILOSTAT** (ILO) | global labour force / employment by occupation β€” *persona pools worldwide* | βœ… | ❌ gap (high value for L1/L6) |
| **WHO** GHO | health workforce, disease burden, health spend | βœ… | ❌ gap |
| **FAO**STAT | agriculture/food production, prices | βœ… | ❌ gap |
| **ITU** | telecom/internet/mobile penetration globally | βœ… | ❌ gap |
| **UNCTAD** / UN Data / UNESCO UIS | trade & dev, education | βœ… | ❌ gap |
| **BIS** | global banking, credit, FX | βœ… | ❌ gap |

### National statistical offices (regulator tier β€” beyond the US)
UK **ONS**, Statistics **Canada**, Australia **ABS**, Germany **Destatis**,
France **INSEE**, Japan **e-Stat**, India **MOSPI / data.gov.in**, China **NBS**,
Brazil **IBGE**. β€” *all ❌ gaps.* Most expose JSON/SDMX APIs. These are the
non-US persona/firm/spend denominators for international markets.

### US (already strong β€” regulator tier)
BLS, FRED, Census (CBP/SUSB/ABS), SEC EDGAR, FDIC, CMS, EIA, USDA NASS, FAA,
openFDA β€” **all βœ… wired**.

### Firm / company level (for comparable-revenue & bottoms-up)
| Source | Use | Free | Connector |
|---|---|---|---|
| SEC **EDGAR** (XBRL frames) | US public-co financials, segment revenue | βœ… | βœ… wired |
| **GLEIF** (LEI) | global legal-entity registry (firm counts) | βœ… | ❌ gap |
| **OpenCorporates** / Companies House (UK) | company registries | βœ…/freemium | ❌ gap |
| Crunchbase Β· PitchBook Β· Dealroom | private-co funding/rev | πŸ’² paid | ❌ (analyst-tier) |

### Markets / finance / signals (already wired)
`alpha_vantage`, `yfinance`, `nasdaq_data_link` (markets), `dune` (onchain),
`kalshi` (prediction-market signals β€” quarantined, never feed a TAM),
`reddit` / `twitter` / `stack_exchange` / `github` (community signals).

---

## Proposed next steps (pick a direction)

1. **A β€” expand the resolver eval set**: port the 77 diligence queries into
`golden.yaml` shape (+ negative cases that *should* be `unsizable`, like
SynthioLabs/pharma-commercialization β€” to test the honest-miss path).
2. **B β€” wire a high-value global connector**: **ILOSTAT** (global labour β†’
persona pools) or **IMF** (macro denominators) are the best first adds; both
are free APIs and fit the existing 6-layer connector pattern.
3. **C β€” curate a small ground-truth TAM benchmark**: 10–20 markets with a
defensible TAM + method, sourced bottoms-up (NOT scraped from analysts), as a
regression target for the evaluator.

> Open question for the owner: is this branch primarily an **eval/training set**
> (A, lives in `evals/`) or a **data-supply expansion** (B, new connectors +
> primitives)? The catalog above serves both; the build differs.
Loading