The Fixed Basket
The Fixed Basket · Methodology v2.2.0

Methodology

How the index is built — in plain language first, then in full. We start with how it differs from CPI and a side-by-side against BLS CPI-U and BEA PCE, then the seven load-bearing pillars with formulas and sources. Open questions are disclosed below; the next scheduled review is 2031.

Pillars
07
Geographies
52
national + 51 states/DC
Archetypes
10
Next review
2031
How is this different from CPI?

CPI measures what it costs to keep the same standard of living — after you swap to cheaper substitutes when prices rise. The Fixed Basket asks a blunter question: what does the exact same cart of 2000 goods cost today?

  • No swapping. If steak gets expensive, CPI assumes you switch to chicken. We keep pricing the steak.
  • No quality credits. CPI discounts a pricier TV because it's "better." We track the price you actually pay at the register.
  • The whole bill for housing & healthcare. Real market rent (not an estimate of what owners "would" pay), and the full insurance premium — including the part your employer covers.

The result is a higher, stickier number — about 1 percentage point per year above CPI over the long run. Neither is "wrong"; they answer different questions. The full side-by-side is just below.


Purpose and scope

The Fixed Basket publishes a measure of how fast the US dollar loses purchasing power against a fixed basket of household consumption items. The methodology is fixed-base, weight-locked, source-pure per stratum, and does not adjust for product quality. The index is constructed from publicly available source data and is continuously reconcilable: every published number can be traced back through the engine to the source observation it was built from.

The index is not a forecast, not a policy recommendation, and not a critique of any other statistical agency. It is a measurement built under a different set of methodological choices than BLS CPI-U or BEA PCE, with those choices stated openly so any reader can evaluate them.

The index family

Three series are published from the same underlying computation:

  • The Fixed Basket Index — a level index anchored at January 2000 = 100. The cumulative measure of how much the cost of a fixed basket has risen since the base period.
  • Annual rate — the annualized rate of change of the index, in percent per year. The headline cites the long-run annualized rate (geometric mean across the full window); a trailing 12-month rate is also published. CPI-comparable surface.
  • Purchasing power of the dollar — the reciprocal of the index (100 ÷ index level): what one base-year (2000) dollar buys today. A direct reading of the same number, not a forecast.
Glossary — plain-language definitions
The Fixed Basket Index
The level of the index. January 2000 = 100; a value of 246 means the fixed basket costs 2.46× what it did in 2000.
Annual rate
The annualized rate of change of the index, in percent per year. The headline cites the long-run rate since 2000; a trailing-12-month rate is also published. Comparable to a CPI inflation rate.
Purchasing power of the dollar
What one January-2000 dollar buys against the basket today — the reciprocal of the index (100 ÷ index level). A direct reading, not a forecast.
Stratum
One spending category in the basket (e.g. shelter rent, healthcare premium, energy). Each carries a fixed weight from the 2000 expenditure survey.
Laspeyres index
A fixed-basket price index: it prices the same 2000 bundle of goods every month, with no substitution toward cheaper alternatives. Named after economist Étienne Laspeyres.

The Fixed Basket vs BLS CPI-U vs BEA PCE

Factual side-by-side of methodology choices. No editorial comparison — readers evaluate trade-offs themselves.

The Fixed Basket v2.2.0 BLS CPI-U BEA PCE
Aggregation formula Drift-free fixed-base Laspeyres within constant-composition spans, chain-linked only at SKU entry/exit; Carli (arithmetic mean of price relatives) within multi-SKU strata Modified Laspeyres at upper level; Jevons (geometric mean) within most strata since 1999 Fisher Ideal (geometric mean of Laspeyres and Paasche)
Basket weights basis BLS Consumer Expenditure Survey 2000, augmented with NIPA 7.8 line 17 (employer health insurance) BLS Consumer Expenditure Survey, biennially updated BEA Personal Consumption Expenditures from NIPA
Weight refresh cadence Frozen at base period within a methodology version; revisited at scheduled 5-year reviews Updated biennially Updated continuously; current-period weights enter the Fisher index each period
Shelter measure Observed market rent — Zillow Observed Rent Index (2015+) spliced to Census HVS median asking rent (pre-2015); composite owned-shelter operating cost; mortgage interest excluded; no CPI Rent of Primary Residence for renters; Owners' Equivalent Rent (imputed) for owners Space rent of tenant-occupied housing; imputed space rent of owner-occupied housing
Healthcare measure KFF EHBS family premium at total cost (worker + employer); weight augmented with NIPA 7.8 Worker-paid premium plus out-of-pocket; employer share not included Total medical care including Medicare, Medicaid, employer-paid premiums, nonprofit hospital outlays
Hedonic adjustment None applied Applied to apparel, electronics, appliances, vehicles, rent, and selected other categories Inherits CPI quality adjustment for CPI-priced components
Substitution behavior None; single-SKU tracking where feasible; matched-model replacement on documented discontinuation with public version bump Within-stratum substitution implicit via Jevons geometric mean; across-stratum substitution captured at biennial reweighting Across-period substitution captured continuously by Fisher Ideal construction
Geographic granularity National + 51 states/DC × 10 archetypes per geography National CPI-U + 4 census regions + ~23 metro CPI-U series National only; BEA Regional Price Parities published separately as a level (not inflation) measure
Revisions No revisions for methodology changes; new version published in parallel Subject to seasonal-adjustment revisions and occasional methodology updates not applied retroactively Subject to ongoing annual and comprehensive NIPA revisions applied retroactively
Does the fixed 2000 weighting inflate the number?

We measured it. Holding the per-stratum prices fixed and reweighting every year with actual BLS CEX expenditure shares (a chained Törnqvist — the construction behind BLS's C-CPI-U), the rate changes by only about a tenth of a percentage point per year over 2010–2022 (2.85%/yr fixed-weight vs 2.92%/yr chained) — small and near zero, and if anything slightly the opposite of the classic substitution bias, because this basket is dominated by inelastic necessities (healthcare, shelter) whose spending shares rise with their prices. Either way, the ~1 pp/yr gap to CPI-U is not an artifact of stale weights — it's the methodology choices above. Across-stratum substitution only; window 2010–2022. Reproducible via scripts/substitution_wedge.py; details in METHODOLOGY §9.3.


Pillars

Pillar 1

Fixed-base Laspeyres index

For each month t and archetype a, the Fixed Basket Index is the weighted sum of price relatives between month t and the base period (January 2000), expressed as an index with base = 100. Item-level price relatives are aggregated across strata using the arithmetic weighted mean of relatives. Within multi-SKU strata, the arithmetic mean (Carli) is used; the geometric mean (Jevons) is not used because Jevons mathematically corresponds to consumer behavior in which spending shares stay constant as relative prices change — an embedded substitution assumption.

The annual rate is the change in the Fixed Basket Index over a window, annualized to percent per year — trailing 12 months for the rolling rate, or the geometric mean across the full window for the headline long-run rate. The purchasing power of the dollar is the reciprocal of the index level; it is a direct reading, not a forecast.

Ia(t) = 100 × Σi wa,i · pi(t) / pi(2000-01)
I = the Fixed Basket Index (level). w = weight. p = price. Anchored at January 2000 = 100.
r(t) = I(t) / I(t−12) − 1
r = annual rate, annualized percent per year. Shown here in its trailing-12-month form; the headline uses the geometric mean across the full window.
PP(t) = 100 / I(t)
PP = purchasing power of a base-year dollar, in dollars. The reciprocal of the index level.
Sources
Source BLS Handbook of Methods, Chapter 17: Consumer Price Index Source Consumer Price Index Manual: Concepts and Methods, ILO/IMF/OECD/Eurostat/UN/World Bank (2020) Source The Use of Geometric Mean in the CPI — BLS Monthly Labor Review (1999)
Pillar 2

Fixed 2000 basket weights

Basket weights are anchored to the BLS Consumer Expenditure Survey (CEX) 2000 standard tables. Weights are frozen at the January 2000 base period and do not update when the source agency revises CEX tabulations. Five demographic archetypes (National Average, Homeowner, Renter, Working Parent, Retiree) are derived from CEX 2000 Tables 3, 5, and 7; five income-quintile archetypes are derived from CEX 2000 Table 1. Per-archetype weight schedules sum to 1.0 and are version-locked.

One augmentation modifies pure CEX: the healthcare premium stratum is augmented with the employer-paid private group health insurance contribution from NIPA Table 7.8 line 17 ($329.199 billion across 109.367 million consumer units = $3,010 per consumer unit per year for 2000). The augmentation is added to both the stratum numerator and the basket denominator and is set to zero for the Retiree archetype. Mortgage interest and personal insurance and pension lines are excluded from the basket denominator because they are debt service and deferred income, not consumption.

Σi wa,i = 1    for every archetype a
Per-archetype weight schedules sum to one.
Sources
Source BLS Consumer Expenditure Survey 2000 Standard Tables Source NIPA Table 7.8 line 17 (Private group health insurance, employer share) Source BLS Consumer Expenditure Survey Public Use Microdata Documentation
Pillar 3

Market rent for shelter

The shelter stratum is priced from observed market rents, with no Consumer Price Index input. From January 2015 onward the driver is the Zillow Observed Rent Index (ZORI), a repeat-rent, mean-of-the-middle measure of asking rents on the stock of advertised units. For periods before 2015 — where ZORI does not extend — the series is spliced to the Census Housing Vacancy Survey median asking rent for vacant rental units, with the two series chain-linked at the splice boundary so the level is continuous. Owners' Equivalent Rent, the imputed quantity CPI-U uses for owner-occupied housing, is not used. Owned-shelter operating costs (property tax, maintenance, services) are constructed as a composite with the property-tax slice sourced from Lincoln Institute state effective property tax rates; mortgage interest is excluded from the consumption basket and is reserved for the planned Asset Price Index in v1.1+.

Neither BLS CPI Rent of Primary Residence nor HUD Fair Market Rents are used as a driver, fallback, or triangulation source. The CPI rent series is excluded under the zero-CPI doctrine; FMR is excluded because it is a different conceptual quantity — the 40th percentile of recent-mover gross rents (the Section 8 voucher ceiling), aggregated from 5-year-smoothed ACS data.

Pillar 4

Total-cost healthcare premium

Health insurance premiums are priced at total cost — the worker-paid premium plus the employer-paid premium. The price series is the Kaiser Family Foundation Employer Health Benefits Survey family-coverage total premium, published annually since 1999. The basket weight is augmented to include the per-consumer-unit employer contribution from NIPA Table 7.8 line 17 so that both the price level and the weight share reflect the employer-inclusive burden. The Retiree archetype is excluded from the augmentation because retirees are predominantly enrolled in Medicare.

At the state level, the price source is the Medical Expenditure Panel Survey Insurance Component (MEPS-IC), which KFF aggregates for its State Health Facts state breakouts. MEPS-IC and KFF EHBS measure the same construct through different operational definitions and persistently disagree at the US level by approximately 3–5% in levels and 0.3 percentage points per year in growth. v1.0.3 applies a cross-source calibration adjustment so state values aggregate to the national KFF EHBS series; the calibration ratio is held identical across states within a year (see Cross-source calibration, below).

wauga, hc-prem = (CEXa, hc-prem + NIPAempl, a) / (CEXa, total + NIPAempl, a)
waug = augmented weight including employer share. CEX = consumer expenditure. NIPAempl = employer-paid private group health insurance per consumer unit.
Pillar 5

No hedonic quality adjustment

The Fixed Basket does not apply hedonic adjustments to source prices. When a current-period model carries features that the base-period model did not, the price is recorded as the price; it is not deflated by an imputed quality differential. The replacement protocol for discontinued SKUs is matched-model: the closest still-available specification by stated criteria (size, type, grade) is selected, and the substitution bumps the basket version with a public changelog entry. Continuity ratios are published so older basket versions remain reproducible.

For technology-heavy strata (e.g., communications, household electronics) this convention produces a higher measured rate than a hedonic-adjusted measure. The convention is documented per stratum.

Sources
Source BLS Hedonic Quality Adjustment in the CPI Source BLS Handbook of Methods, Chapter 17: Consumer Price Index Source OECD Hedonic Methods in Price Statistics (2006)
Pillar 6

No fabricated data

Index values are computed from observed source data. Temporal interpolation across a single series to fill missing months is not used. Where a primary source's coverage starts after January 2000, a next-tier fallback source is used for the pre-coverage period and a chain-link splice is applied at the first month of primary coverage so the level series remains continuous; splice ratios are computed once at basket-version time and frozen. Cross-source level calibration (e.g., the MEPS-IC to KFF EHBS state calibration in v1.0.3) is documented as a separate, named operation distinct from within-series interpolation.

Concrete example — the 2025 shutdown gap. The 2025 federal appropriations lapse left BLS unable to collect October 2025 prices, so the food-at-home source has no value for that month. The index omits October 2025 rather than estimating it — no carry-forward of the September value, no interpolation between September and November. It appears as a one-month gap in the food-at-home series; the long-run headline (anchored on full-coverage endpoints) is unaffected. If BLS later republishes the month, the monthly refresh ingests it automatically.

The geographic fallback ladder is walked per period, not per reference window: for each month, the lowest-priority geography with data for that month wins, and a chain-link rescale is applied when the chosen geography changes between consecutive months. This protocol matches BLS chain-link rebase at sampling-frame changes.

psplicedi(t) = pnewi(t) × ( poldi(t*) / pnewi(t*) )
pspliced = spliced level. t* = splice month (first month of higher-tier coverage). The ratio rescales the new series to match the old series' level at the splice month.
Sources
Source BLS Handbook of Methods, Chapter 17 — Chain-Link Procedures Source Consumer Price Index Manual: Concepts and Methods (2020 ed.) Source The Fixed Basket BASKET.md — Geographic coverage table (version-locked)
Pillar 7

Cause-neutral framing

The Fixed Basket publishes a measured quantity. The methodology does not assign the measured erosion to a particular causal mechanism — monetary expansion, fiscal policy, supply shocks, demand dynamics, expectations, and velocity are all consistent with the published series. Source selection between candidate data series uses methodology purity as the criterion, not the direction the source moves the headline. The annual rate and the purchasing-power reading are outputs of the methodology, not targets.

Sources
Source The Fixed Basket METHODOLOGY.md §3.2.12 (Honest measurement) and §7 (Cause-Neutral Framing) Source Consumer Price Index Manual: Concepts and Methods §1 (Scope and Purpose)

Geographic handling

52 geographies are published: national and 51 states + DC. For each geography, all 10 archetypes are computed. There is no census-region grain — see the note below.

State series use national CEX weights × state-specific prices. When a state-specific source is unavailable for a stratum, the engine walks a two-tier fallback ladder per period: state → national. A chain-link rescale is applied when the chosen geography changes between consecutive months, so the level series remains continuous without contaminating growth-rate estimates with sampling-frame transitions.

Why no census-region grain. Earlier versions published the four census regions as an intermediate grain. That grain only ever worked because it relied on BLS regional CPI-U series for region-level prices. Under the zero-CPI methodology there is no non-CPI source that publishes consumer prices at the census-region grain, so a region index would be national prices reweighted by frozen CEX-2000 regional expenditure shares — false precision, not measured regional price behavior. The region grain and its fallback tier were removed entirely; state remains the sub-national grain because real, if partial, state-direct price data exists (KFF health premiums, EIA home energy, IPEDS tuition).

Per-stratum coverage disclosure is exposed at /api/v1/state/<code>/coverage per METHODOLOGY.md §5.8. Each state's response identifies, per stratum, whether the value derives from state-specific or national-fallback data — so any reader can determine how much of a state headline is genuinely state-resolved versus national-pass-through.

Cross-source calibration

One cross-source calibration is currently applied: state-level healthcare_premium. KFF State Health Facts publishes per-state family premium from MEPS-IC; KFF EHBS publishes the national headline directly. The two sources measure the same construct through different operational definitions (firm vs establishment sample, largest-plan vs all-plans premium definition) and persistently disagree at the US level by approximately 3–5% in levels.

v1.0.3 applies a year-by-year calibration ratio (KFF_EHBS_US / MEPS_IC_US) to each state's MEPS-IC value so that the per-state series aggregates to the published national KFF EHBS headline. The calibration ratio is held identical across states within a year; the raw MEPS-IC value, the calibration ratio, and the adjustment basis are surfaced in each observation's raw_payload.


Open questions

Methodological questions parked for the v1.2 review or later. Disclosed here in advance of resolution.

Lifestyle slider scope

Whether v1.0 ships archetype-only (10 presets) or a full custom-weight slider. Current direction: archetype-only.

Childcare line-item isolation

Resolved for v1.0.2 to bundled within the Household Goods stratum; CEX 2000 standard tables do not break childcare out as a separate line. The Working Parent archetype captures higher childcare burden through the higher Household Goods share in that demographic. v1.1 may pull from CEX detailed tables to isolate childcare.

State income tax in the Disposable Income Index (DII)

Whether v1.1 uses the Tax Foundation summary or a full 50-state structure. Current direction: Tax Foundation summary in v1.1, full structure in v1.2.

Confidence bands for thin-sample state series

The statistical procedure for publishing uncertainty bands on state-level series with limited per-stratum sample density is not yet specified.

Healthcare premium cross-source harmonization

Whether to switch the national headline to MEPS-IC US for source consistency with state values; retain the v1.0.3 calibrated-state construction; publish both national variants in parallel; or wait for KFF/AHRQ reconciliation. Parked for the v1.2 methodology review pending direct AHRQ ingestion of MEPS-IC US 2000–2012.


Versioning

The Fixed Basket uses semantic versioning at two independent levels. The methodology version (currently v2.2.0) covers the complete specification: index formula, weighting scheme, basket structure, and computation rules. The basket version (currently v1.0.14) increments any time a single SKU is substituted, even within the same methodology version.

Every published series is tagged with the methodology and basket version that produced it. A series produced under methodology v1.0 / basket v1.0.0 remains available and reproducible after subsequent versions ship — older basket versions are not retroactively recomputed.

The first scheduled external methodology review is calendar year 2031; subsequent reviews follow on a 5-year cadence (2036, 2041, …). The pre-publication review for v1.0 launch is conducted by independent credentialed reviewers; review documents are published alongside the v1.0 release.