Comeback TownsNY

Methodology

Readiness asks one question: are the ingredients for a revival present? It is slow-moving and graded A to F. Momentum asks a second: is anything actually happening? It is a score with three labels. This page is written so a town official can argue with either, line by line.

The dataset

Download the full dataset (CSV): one row per town with every metric, its period and suppression flag, the readiness score and grade, and the momentum score and label. Licensed CC BY 4.0; the underlying sources keep their own terms, listed on Sources. Generated 2026-11-02 with methodology version v1.

Six factors and their weights

FactorWeightWhat it asksInputs
Access 25% How easy it is to reach the city, a regional hub and a train. Drive to New York City, Drive to nearest regional hub, Nearest rail station
Building stock 15% Whether there is a pre-war fabric worth restoring. Homes built before 1940, Historic district present
Main street 15% How much storefront activity already exists per resident. Businesses per 1,000 residents
Price headroom 15% Whether prices leave room to rise without having already been found. Median home value, Metro median home value
Services 15% Broadband, the share of residents under 18, and a hospital within reach. Broadband subscription, Share under 18, Hospital within 20 minutes
Civic capacity 15% Whether the state has backed the downtown with a revitalization award. Latest downtown award, Latest award year

A factor's score is the mean of its usable inputs, each normalised to 0–1 by the curve below. Readiness is the weighted sum of factor scores, on a 0–100 scale, renormalised over the factors that have at least one usable input.

Every curve

Each input passes through one named curve. If a curve cannot be explained in a sentence it is wrong, so here is the sentence.

Access

  • Drive to New York City (Routed driving time to Grand Central Terminal, off-peak (OSRM over OpenStreetMap).)
    drive_min_nyc: lower is better; scores 1 at 60 min or less, falling in a straight line to 0 at 240 min.
  • Drive to nearest regional hub (Routed driving time to the nearest of Albany, Utica, Poughkeepsie, Kingston, Newburgh, Middletown or White Plains.)
    drive_min_regional_hub: lower is better; scores 1 at 15 min or less, falling in a straight line to 0 at 90 min.
  • Nearest rail station (Straight-line distance to the nearest Amtrak or Metro-North station.)
    miles_to_rail_station: lower is better; scores 1 at 2 mi or less, falling in a straight line to 0 at 30 mi.

Building stock

  • Homes built before 1940 (Share of housing units built in 1939 or earlier (ACS 5-year, B25034).)
    pre1940_share: higher is better; scores 1 at 0.6 or more, falling in a straight line to 0 at 0.1.
  • Historic district present (Whether a National Register historic district lies within the place.)
    has_nrhp_district: 1 when a National Register historic district lies within the place, otherwise 0.

Main street

  • Businesses per 1,000 residents (Mapped storefront businesses per 1,000 residents.)
    osm_business_per_1k: higher is better; scores 1 at 20 per 1,000 or more, falling in a straight line to 0 at 2 per 1,000.

Price headroom

  • Median home value (Median value of owner-occupied homes (ACS 5-year, B25077).)
    median_home_value divided by metro_median_home_value. price ratio to the metro median: cheapest is not best: a town priced well below its metro has headroom, one priced far below it has no demand yet, and one at or above it has already been found; scores 1 at 0.6, and 0 at or below 0.25 and at or above 1.2, with straight lines between.
  • Metro median home value (The metro-area median where the town lies in one, otherwise the county median.)
    Used as the denominator for price headroom; it has no curve of its own.

Services

  • Broadband subscription (Households with a cable, fiber-optic or DSL subscription (ACS 5-year, B28002). Not a speed measure.)
    broadband_subscription_share: higher is better; scores 1 at 0.9 or more, falling in a straight line to 0 at 0.5.
  • Share under 18 (Residents under 18 over total population (ACS 5-year, B09001 / B01003).)
    under_18_share: higher is better; scores 1 at 0.25 or more, falling in a straight line to 0 at 0.12.
  • Hospital within 20 minutes (Whether the nearest hospital is a 20-minute drive or less.)
    hospital_within_20min: 1 when a hospital is within a 20-minute drive, otherwise 0.

Civic capacity

  • Latest downtown award (Amount of the most recent DRI or NY Forward award; zero when none.)
    dri_award_amount: higher is better; scores 1 at 1e+07 USD or more, falling in a straight line to 0 at 0 USD.
  • Latest award year (Year the most recent DRI or NY Forward round was announced.)
    dri_award_year: 1 when the award is at most 3 years old, fading in a straight line to 0.3 at 10 years and staying there. Only applies to towns that have won an award; its absence does not reduce coverage.

Grades

Grades are curved within population bands, because Census sample quality differs sharply between small villages and cities. Towns under 5,000 residents are ranked against each other; towns at or above it likewise. Within a band the percentile cut-offs are:

Momentum

Momentum is a separate score, version v2, built by the same engine from changes over time. It is not curved against other towns: every input is judged against a benchmark, so a town keeping pace scores 0.5 on each curve and 50 overall. Home values and population are compared with the median New York place in the same source file, and tax-filer migration with the median New York county, so a statewide boom or drain does not read as momentum everywhere; permits are compared with the town's own rate two years earlier. Migration is a county figure, because the IRS publishes nothing finer: every town in a county carries the same one, and the page says so. Rent is shown on town pages but not scored, because Zillow publishes a rent index for few villages.

FactorWeightWhat it asksInputs
Prices 35% Whether home values rose faster over the past year than in the typical New York place. Home value change, one year, Typical NY place home value change
Building 25% Whether more homes are being permitted than two years ago, per resident. Change in permit rate
People 40% Whether the population has held up better since 2020 than in the typical New York place, and whether the county gains tax filers faster than the typical New York county. Population change since 2020, Typical NY place population change, County net migration of tax filers, Typical NY county net migration

Prices

  • Home value change, one year (Zillow home value index, latest month against the same month a year earlier.)
    zhvi_change_1y minus zhvi_change_1y_ny_median. one-year home value change against the typical New York place: higher is better; scores 1 at 5 percentage points or more, falling in a straight line to 0 at -5 percentage points.
  • Typical NY place home value change (Median one-year change in the Zillow home value index across every New York place in the file. The momentum benchmark.)
    The benchmark another input is measured against; it has no curve of its own.

Building

  • Change in permit rate (The latest three-year permit rate, in units per 1,000 residents a year, minus the three-year rate ending two years earlier.)
    permit_rate_change: higher is better; scores 1 at 2 units per 1,000 residents a year or more, falling in a straight line to 0 at -2 units per 1,000 residents a year.

People

  • Population change since 2020 (Census population estimates, 2020 base to the latest year.)
    population_change minus population_change_ny_median. population change since 2020 against the typical New York place: higher is better; scores 1 at 3 percentage points or more, falling in a straight line to 0 at -3 percentage points.
  • Typical NY place population change (Median change since 2020 across every New York place in the estimates file. The momentum benchmark.)
    The benchmark another input is measured against; it has no curve of its own.
  • County net migration of tax filers (Inflow minus outflow, per 1,000 of the county's filing population the year before (non-migrants plus outflow). County level; every town in a county carries the same figure.)
    county_net_migration_rate minus county_net_migration_rate_ny_median. county net migration of tax filers against the typical New York county: higher is better; scores 1 at 5 per 1,000 filers or more, falling in a straight line to 0 at -5 per 1,000 filers.
  • Typical NY county net migration (Median net migration rate across New York's counties in the same IRS files. The momentum benchmark.)
    The benchmark another input is measured against; it has no curve of its own.

Labels

The labels are absolute cut-offs on the 0–100 momentum score, not percentiles, because momentum measures direction rather than rank:

Below 75% coverage, which means fewer than 3 of the 4 scored inputs, the town's page shows its data and no label. Permit changes are suppressed when any of the five years involved was reported for fewer than twelve months, and Zillow does not cover every village; both count as missing, never as zero.

Coverage and missing inputs

A missing input never scores zero. It is left out of its factor, and the town's coverage (usable inputs over applicable inputs) drops. Below 60% coverage the page is published with its data and no grade, because a grade on that little evidence would be a guess.

Suppression

Any American Community Survey figure whose margin of error exceeds 40% of the estimate is kept but marked suppressed: it is shown as not available at this sample size and excluded from the score. Permit rates are suppressed when any of the three years was reported for fewer than twelve months.

A suppressed value is not the same as a missing one: the estimate exists but its margin of error is too wide to stand on. The site says "not available at this sample size" for the first and "not available" for the second, and never shows a zero for either.

Sanity bounds

Before anything is published, every metric is checked against a wide sanity range; a value outside it stops the run rather than publishing a unit or parsing mistake.

Show the ranges
MetricLowHigh
Median home value100005000000
County median home value100005000000
Metro area median home value100005000000
Metro median home value100005000000
Median gross rent2006000
Median household income10000500000
Vacant housing share00.6
Homes built before 194001
Broadband subscription01
Poverty rate00.8
Commutes over an hour01
K-12 enrollment020000
Residents under 18030000
Population (ACS)50060000
Share under 1800.7
K-12 enrollment change-0.93
Under-18 population change-0.93
Population50060000
Population change since 2020-0.51
Housing units permitted03000
Months reported012
Units permitted per 1,000 residents080
Zillow home value index200005000000
Zillow observed rent3008000
Home value change, one year-0.51
Typical NY place home value change-0.51
Rent change, one year-0.51
Typical NY place rent change-0.51
Change in permit rate-8080
Typical NY place population change-0.51
County tax-filer inflow02000000
County tax-filer outflow02000000
County net migration of tax filers-300300
Typical NY county net migration-300300
Historic districts030
Historic district present01
Nearest rail station0120
Main street businesses05000
Businesses per 1,000 residents0300
Drive to New York City15420
Drive to nearest regional hub0240
Drive to nearest hospital0120
Hospital within 20 minutes01
Straight-line miles to NYC10300
Straight-line miles to nearest hub0150
State downtown awards05
Latest downtown award020000000
Latest award year20162030

Known limits