How Indexes Are Calculated
How Birdseye converts metrics in incompatible units onto one comparable scale, and how the six Indexes are built from them.
On this page
Birdseye shows 230 metric definitions, organized into 89 metric families across twelve topics. Of those definitions, 91 measure a current level, 130 measure change over time, 3 measure volatility, and 6 are breakdown components of composite measures. Trends are computed over 1-, 2-, 3-, 5- and 10-year windows, and for some measures against the same market's own seasonal norm; the window is selectable in the tool.
The metrics are measured in incompatible units: dollars, rates, counts, degrees. To weigh a rent against a crime rate against a commute time, all of them have to be placed on one scale first. That translation is the first thing this page describes. The second is how those comparable numbers are combined into the six Indexes the map opens on.
Putting every metric on one scale#
Each metric is converted to a z-score, which expresses how far a place sits from the national median, in units comparable to standard deviations. The centre and the scale are taken from the middle of the distribution rather than from the mean, so a handful of extreme places cannot move the yardstick everyone else is measured with. A value of zero is exactly typical; higher values sit further above it, lower values further below.
A score is therefore never a property of a place on its own. It states that place's position relative to every other place we measure on that metric. A rent and a crime rate become comparable because both have been restated as the same question: how far from typical is this, nationally.
Because scores are relative, they move when the surrounding distribution moves. A place whose raw value did not change can still see its score shift as values elsewhere update.
Distributions#
Some metrics are not evenly distributed. Dollar-denominated measures in particular bunch tightly at the low end with a long thin tail, so a plain comparison to the average would compress most places into a narrow band and let a small number of outliers define the scale.
We identify these cases and reshape them before comparison, so differences among ordinary places remain visible. Which metrics receive this treatment is recorded per metric.
Scores are capped at four units from the median. Without a cap, a single extreme place can dominate a blend meant to reflect many metrics. The cap is deliberately loose; a tighter one would compress real differences between genuinely extreme places.
The six Indexes#
A single metric rarely answers a question anyone actually has. Six Indexes do, and they are what the map opens on. Each is a blend of a handful of the metrics above, chosen because together they answer one plain question:
| Index | What it answers | What feeds it |
|---|---|---|
| Affordability | What it costs to buy or rent here, against local incomes | Home value, monthly mortgage payment, gross rent, rent burden, owner cost burden, price-to-income |
| Appreciation | Whether values are rising and the market is moving | Home value change, long-run house price appreciation, days on market, pending-to-active listings, price cuts, listings against the seasonal norm |
| Rental Yield | What a rental here earns relative to what it costs | Gross rental yield, renter share, rent growth, renter income, multifamily share |
| Safety | Crime, distress and vacancy | Crime index, poverty rate, vacancy rate, homeownership rate |
| Schools | How the local public schools perform | Math proficiency, English proficiency, graduation rate, student–teacher ratio |
| Economy | Jobs, incomes and growth within reach | Household income and its growth, unemployment, jobs reachable from here, high-wage share, employment growth |
The six carry a published default mix, so the map means something before anything is touched. That mix is a stated editorial choice rather than a by-product of how many metrics happen to sit behind each Index, and it is fully adjustable: the user sets how much each Index counts, and can open any Index to reweight the individual metrics inside it, or weight a metric that is in no Index at all. A place's Index is computed only from the metrics actually published for it — see Missing data below — and a place too thinly covered for an Index is marked rather than guessed at.
The twelve topics#
Separately from the Indexes, every metric the tool shows sits in exactly one topic — the drawer you open to find it. Topics are a filing system, not a scoring construct: they hold every metric, including the many that belong to no Index.
| Topic | What is in it |
|---|---|
| Home prices & appreciation | What homes are worth here, and whether those values are rising |
| Housing costs | What it costs every month to rent or to own here |
| Market activity | How fast listings move, and how the asking market is behaving |
| Housing stock | What kind of homes are here: type, size and age |
| New construction | How much is being permitted, and what is being built |
| Demographics | Who lives here: age, households, how people hold their homes, and who is moving in |
| Income & education | What people here earn, and how educated they are |
| Jobs | The work within reach, its quality, and how the labour market is moving |
| Industries | Which sectors the reachable jobs sit in, and how mixed they are |
| Safety | Reported crime and the visible distress that goes with it |
| Schools | How the local public schools perform, and how they are staffed |
| Lending | How mortgage credit is flowing to buyers here |
Two names appear in both lists. Safety and Schools are each an Index and a topic, and they are not the same object: the topic is where those metrics are filed, the Index is the particular blend of a few of them that the map paints.
Direction#
A z-score carries no opinion about whether a high value is good. That depends on what the user is looking for — low rents favor a renter and disfavor a landlord, and neither reading is more correct than the other.
Direction is therefore a user control rather than a pipeline step. The user sets which end of each metric is being rewarded, and the assigned weight controls only how much that metric contributes. Each metric carries a default direction so the tool is usable immediately; the default is a starting position, not a determination.
Combining geographies#
We hold data at the following geographies: census tract, place (incorporated municipalities and census-designated places), county, CBSA (metropolitan and micropolitan statistical areas), and school district (local education agency). Census blocks are used as an input to geographic allocation but are not displayed. The map displays tracts, so coarser measures have to be brought down to that level.
Where a value has to move between geographies, we allocate it by the share that is appropriate to what is being measured. Population counts are apportioned by population share, housing measures by housing-unit share, household and tenure measures by occupied-unit share, and genuinely spatial measures by land area. Using land area for everything would assume people are spread evenly across a geography, which in most of the country they are not.
Where no allocation is meaningful — a county-wide rate, for instance — the tract simply takes the value of the larger geography containing it. We do not estimate how the quantity is distributed inside that geography. Inventing a within-county pattern would introduce error we cannot measure, and we would rather show a value we can defend than a more precise-looking one we cannot.
Tract boundaries also change between censuses. Where a measure was published on earlier boundaries, we carry it onto current ones using the same share-based approach, so a boundary change does not register as a change in the underlying place.
Considerations when reading a broadcast value#
A county-level figure applied to every tract in that county states the county's experience, not the neighborhood's, and conditions differ within any large geography. Crime is the clearest case: rates vary sharply within a single jurisdiction, and a jurisdiction-wide rate necessarily flattens that variation.
A broadcast value is best read as context for the surrounding area rather than a measurement of the tract itself. The tool labels the geography each number came from, so the distinction is visible wherever it applies.
Missing data#
Coverage is not universal. A metric may be unpublished for a geography, suppressed for confidentiality, or absent because the underlying program does not cover that area.
Where a value is missing, it is excluded from that place's blend rather than filled in with an average. Substituting the mean would move a place toward the middle and make sparse data indistinguishable from complete data. Excluding it means the place is scored on what is actually known about it, and the tool reports what that coverage is.