vitrine · methodology
Methodology & assumptions
Every methodological choice that would mislead if left implicit is written here once, and linked from every record it touches.
Each room is a statistical composite, assembled from separate distributions with separate sources. The family at the median income did not also have the median house, the median car, and the median diet. No single family described here ever existed; each fact tells you, in its provenance drawer, which real population it was measured from.
Most sources publish medians for all families or all households, not for four-person families. Where a by-size series exists (e.g. US Census Historical Income Tables, Table F-8) it is used directly; otherwise the all-family median is shown and labeled as such, or equivalized using the OECD-modified scale with the arithmetic shown. The fact's label always states which population the number describes.
Some countries and eras measure household consumption, not income (India's National Sample Survey; the pre-1940 US cost-of-living surveys). Rooms built on consumption data say so; consumption and income medians are never mixed in one comparison without a note.
Values display in nominal, contemporaneous local units — what the family actually saw. Any inflation adjustment is computed by code in this repository with the price index series named, never applied by hand in the data files.
In rationed or shortage economies (the USSR, PRL-era Poland), money income overstates lifestyle: the binding constraint was availability, not price. Rooms for these eras pair income facts with availability facts (rationing, queue time, waiting lists) so the income number cannot be read as if it bought a Western basket.
Where the urban/rural divide dominates the distribution (China, India), a single national median is misleading; rooms carry separate urban and rural facts instead of a blended number. Early US sources have the opposite bias: the 1890s-1930s surveys measured urban wage-earner families specifically, and their facts are tiered and labeled accordingly.
The IPUMS METRO variable classifies households as in/not-in a metropolitan area based on Census-defined metropolitan statistical areas (MSAs). MSAs did not exist before 1949; pre-1950 metro classification uses retrospective assignments. 'Suburban' is operationalized as METRO code 3 (in metro area, not central city), which is a derived category — the Census does not use 'suburban' as an official classification. Metro/non-metro income splits use IPUMS 1% sample microdata (Tier B), weighted by HHWT.
"Hours to afford" = item price ÷ that decade's representative hourly wage. "% of income" = item price ÷ median annual family income. Both are computed by repo code (affordability.py), never hand-authored in data files. The named wage and income anchors are shown in each fact's provenance drawer so the visitor can see which population the denominator was drawn from.
The affordability axis divides a period price by the room's stated wage anchor. It measures hours at that average or proxy wage, not hours for a known median worker. Using nominal prices and wages from the same period avoids an inflation conversion but does not remove differences in populations, products or years. The income axis is a share of annual income, not a budget share. A budget share requires a compatible expenditure denominator; where one is unavailable the museum does not substitute income and call it a budget.
Wage anchors are averages or historical wage proxies, not a continuous median-worker series. Early rooms use historical reconstructions; the 1947, 1960 and 1970 anchors use the published total-private production/nonsupervisory predecessor series, while the 1950 anchor is manufacturing-only. From 1980 the room anchors use total-private production/nonsupervisory earnings. Read each room source and year: manufacturing and total-private observations cannot be treated as one population, and a change in source or tier is not a measured change in worker composition.
The durable cross-decade dwelling-size axis is number of rooms (Census of Housing 1940→, IPUMS, and the pre-1940 cost-of-living surveys all recorded it). Square footage exists only for new construction from 1973 (Census SOC / Characteristics of New Housing) and for existing stock from roughly 1985 (AHS unit square footage). The home panel uses rooms as the comparable size metric across the whole span and shows square footage only where the record has it — never back-filled.
Before 1964 no broad, all-sector hourly earnings series exists. The wage anchor for 1900s–1930s (and the manufacturing series 1939–1963) is average hourly earnings of manufacturing production workers — a population that skews urban, industrial, and male. It stands in for 'the worker' where no broader series exists, the same proxy the 1950s room already uses. Cross-decade comparisons that chain manufacturing wages to total-private earnings (1964→) carry the weaker tier and flag the splice; the source's verbatim population string rides in the anchor note so the visitor sees who was actually measured.
When a price series ends before the room's data year, the latest base price is inflated to the current year using the CPI for that item (e.g. new-vehicles CPI for a car). The computation is code (base × CPI_target / CPI_base), not a hand-quoted number; the result is an estimate, not a transcription, and carries the weakest input tier. The item-specific CPI (not the all-items CPI) is used so the inflation reflects the item's actual price change, not general inflation.
The UK has no published counterpart to the US Census four-person-family income median. The closest is the ONS 'Effects of taxes and benefits' series, which reports averages by household type; the museum's UK income anchor is its non-retired 'two adults with two children' household. Three consequences ride with it and are stated on every fact that uses it: it is a mean, not a median; the two adults are not necessarily the children's parents; and it is disposable income — after cash benefits and direct tax — where the US rooms' anchor is gross money income. The two are therefore not the same measure and the comparator will not chain them (see the Measure enum in model.py). The four-person-normalization and composite-family assumptions apply as they do elsewhere.
The UK hourly-wage anchor is ASHE's median gross hourly pay across all employee jobs — full- and part-time, both sexes. It is deliberately not the full-time median, which is the figure usually quoted as 'the' UK wage and runs roughly 12% higher; the all-jobs median is the one that describes the hour of work actually available in the labour market. Every fact using it carries the full-time median beside it so the gap is visible rather than implied. Because it is a median and the US anchor is a mean of a narrower population, the two are different measures and are not chained.
The derived produce-variety fact counts, for one stated year per decade, how many fresh fruit and vegetable commodities the US food supply provided at least a full pound of per person — farm-weight availability, as ERS publishes it. The candidate set is every commodity sheet in the two ERS fresh workbooks, enumerated by id in the derivation, never a filename convention. The count is computed by the build from those committed series, never authored. Commodities whose ERS series had not begun or had ended by the stated year are outside both the count and the displayed total, so a widening record cannot masquerade as rising variety: the value always shows count of tracked. Availability is a disappearance estimate — what the supply made available, not what anyone ate.