{% extends "base.html" %} {% block title %}The Price Map — Gordon{% endblock %} {% block description %}U.S. price LEVELS in dollars: {{ s.price_item_count }} priced items across {{ s.price_areas }} areas, metropolitan price parities for {{ s.costmap_areas }} places, and daily wholesale quotes from {{ s.wholesale_cities }} terminal markets.{% endblock %} {% block head %} {% endblock %} {% block content %}

The Price Map

One policy rate, fifty price levels. Almost every inflation chart shows a rate of change. This one shows the level: what things actually cost, and where. A national index tells you how much a basket moved; it cannot tell you that the same basket costs materially more in one metropolitan area than in another, and keeps doing so year after year.

Three sources answer that question at three different grains, and they are shown as three separate charts because they are three separate measurements — {{ "{:,}".format(s.rows_levels) }} monthly dollar prices, {{ "{:,}".format(s.rows_costmap) }} annual metropolitan price comparisons, and {{ "{:,}".format(s.rows_wholesale) }} daily wholesale rows standing in for {{ "{:,}".format(s.quotes_behind) }} individual quotes.

{# The freshness contract, stated before any chart rather than buried under one. Three panels means three last-real-observations, and they are years apart. Every value here is read from the F2 manifest — none is typed into this template. #}

Three clocks, never merged

Nothing on this page blends the three. In particular the dollar prices are retail — what a shopper pays — and the wholesale quotes are what buyers pay at terminal markets. They are different stages of the same supply chain and must never be read on one axis.

1 · What it costs, by place

Average retail prices in dollars, not index points: {{ s.price_item_count }} priced items across {{ s.price_areas }} areas, {{ "{:,}".format(s.series_levels) }} series in all. Two areas can carry the same index value and completely different prices; this is the panel that says which.

Areas — {{ s.price_areas }} price at least one item
{% for a in price_areas %} {% endfor %}

2 · The metropolitan cost map

Regional price parities compare a place’s overall price level with the national average, which is set to 100. A reading of 112 means prices about 12% above the national level; 88 means about 12% below. The opening view is the most and least expensive places in the latest year, because the spread is the finding.

This is not a complete grid. Four expenditure measures are published across {{ s.costmap_areas }} places, but only {{ "{:,}".format(s.costmap_pairs_held) }} of the {{ "{:,}".format(s.costmap_pairs_possible) }} possible place-and-measure pairs exist in the source. Most places carry just one of the four, so switching measure changes which places appear — and the count shown under the chart is always the count for the measure selected, never the total.

Places — {{ costmap_areas | length }} in the source across all measures
{% for a in costmap_areas %} {% endfor %}

3 · The daily wholesale tier

Terminal-market quotes from {{ s.wholesale_cities }} cities covering {{ s.wholesale_commodities }} commodities, daily. This is the only sub-monthly price panel on the site — and the only one that is genuinely current.

Wholesale prices are quoted per package, and the package is part of the selection rather than a footnote: a price per 40-pound carton and a price per 50-pound sack are not the same measurement, so they are never pooled into one line. {{ "{:,}".format(s.wholesale_packages_named) }} distinct packages are named across the source. {{ "{:,}".format(s.quotes_no_package) }} of the {{ "{:,}".format(s.quotes_behind) }} quotes arrive with no package recorded at all; those are kept and labelled as unrecorded rather than dropped or assigned a likely package, they are grouped only with each other, and they are never the opening view.

Terminal markets — {{ s.wholesale_cities }} cities
{% for c in wholesale_cities %} {% endfor %}

What’s in here, and what isn’t

The names of the priced items and their areas are not distributed in any lookup table this project holds, so they were recovered from the source’s own series titles. Where the same area is named by two independent sources, both spellings ship as columns and the build fails rather than publish a label it cannot reconcile. Anything unrecoverable is written as the literal words NOT CAPTURED — never guessed, never filled in from a plausible neighbour. Full method: Methodology.

{% endblock %} {% block body_scripts %} {% endblock %}