← gpu-pilot · json · source: tlccosts/METHODOLOGY.md

True Lifestyle Cost Index™ — Methodology (internal)

True Lifestyle Cost Index — Housing + Utilities + Commute: v1 formula, primary sources, the five resolved decisions, and the CNT H+T® benchmark protocol. · updated 2026-06-12 04:45

TL;DR

  • TLC% = 12×(H+U+C)/income. v1 per Krishna's five decisions (2026-06-12, all RESOLVED): name fully spelled out 'True Lifestyle Cost Index'; income basis is a USER CHOICE (median / HUD AMI default / HUD 80% / custom); TWO U scopes (u_energy LEAD-comparable + u_full product number); C on a household basis (× B08202 workers/HH); 48% line AND percentile tiers.
  • u_energy = DOE LEAD 2022 county/tract energy by AMI bracket, trended per fuel by OUR energy_prices EIA indices (2022→now: NJ elec ×1.37, gas ×1.14, oil ×0.85) — 82,833 rows staged+loaded as `utility_baselines` with elec/gas/fuel splits. u_full adds water/sewer + cell (BLS CEX 2024 by hh size), broadband (FCC URS 2026, $89/$95 national medians), trash (NJ norm $0, toggle); quality tiers A/B/C documented; NJ American Water tariff anchor $50.95/mo.
  • Income: HUD FY2026 limits staged+loaded as `hud_income_limits` (319 rows NY/NJ/CT/PA; CT = town rows under planning-region FIPS). HUD AMI is median FAMILY income (4-person) — avg +47% above CBSA median HOUSEHOLD income in the pilot; published 80% limits are capped (Jersey City's EXCEEDS its own MFI). CNT benchmarking stays on CBSA median HH (CNT's own construct).
  • C is the moat: door-to-door, mode-specific, fare/toll/parking/CRZ-accurate monthly commute cost from the GPU RAPTOR pipeline + commute DB — computed leg-by-leg, not modeled; now × county workers-per-household (1.17–1.38), matching CNT's Regional Typical Household precedent (H+T Methods Nov 2022 p.25).
  • Shelter is basis-INDEPENDENT (double-counting guard v1): H = ACS gross housing − LEAD ALL-bracket energy − CEX water/sewer, once per county; bases differ only via bracket utilities + denominator. CT planning-region FIPS now line up across ACS 2024, CNT 2022, LEAD 2022 AND HUD FY26.

True Lifestyle Cost Index™ — Methodology (internal)

True Lifestyle Cost Index — Housing + Utilities + Commute. Author: TLCengine / Krishna Malyala (broker, NMLS #1875937) Status: v1, 2026-06-12 · NYC tri-state pilot · name fully spelled out per decision #3 (13 years of public "True Lifestyle Cost" use at TLCengine; repo slug stays tlccosts) Lives at: commutingcost.com/TLCcosts · computed on the gpu-pilot stack (geocoder) Code: tlccosts/fetch_acs.py · fetch_b08202.py · stage_utility_baselines.py · stage_hud.py · compute_tlccosts_v1.py (v0 preserved) · staging acs_housing / utility_baselines / hud_income_limits {tsv,sql,load*.sh} Press version: PUBLIC_METHODOLOGY.md — quotable framework + sources + validation, no model coefficients. This file is the internal spec.


  • "H+T® Index" is a registered trademark of the Center for Neighborhood Technology (CNT), and the H+T Index dataset (htaindex.cnt.org) is CNT's copyrighted work. The True Lifestyle Cost Index does not republish, rebrand, or pass off CNT data or the H+T name as ours — ever.
  • The True Lifestyle Cost Index is an independent, original index: our own formula, computed end-to-end from primary sources — U.S. Census ACS, EIA/DOE energy data, HUD income limits, FCC/BLS utility surveys, and TLCengine's own door-to-door commute-cost engine (the commute DB + GPU RAPTOR pipeline in this repo).
  • CNT's H+T Index is cited as prior art (see §1) and used only as a validation benchmark (see §6), always with attribution: "H+T® Index data © Center for Neighborhood Technology, used for comparison."
  • Every public True Lifestyle Cost Index page carries the disclaimer: TLCengine and the True Lifestyle Cost Index are not affiliated with, endorsed by, or sponsored by the Center for Neighborhood Technology. H+T® is a registered trademark of CNT.
  • We studied https://htaindex.cnt.org/about/ for the landscape (fetched 2026-06-12); facts from it are paraphrased and cited below, never copied.

1. Prior art and the gap we fill

The traditional affordability rule says housing should cost ≤ 30% of income. CNT's H+T® Index (first developed 2006 for Minneapolis–St. Paul under the Brookings Institution's Urban Markets Initiative) argued that transportation — typically a household's second-largest expense — must be added, and set a combined H+T benchmark of ≤ 45% of income. By CNT's own published numbers, adding transportation drops the share of "affordable" US neighborhoods from roughly 55% to 26%. (Source: CNT, "About the Index," htaindex.cnt.org/about/, accessed 2026-06-12; paraphrased.)

How CNT models T: a regression model driven by built-environment and household variables (residential density, income, household size, commuters per household...), calibrated on regional averages — auto ownership costs from the Consumer Expenditure Survey, VMT and transit-use models, 2022 ACS inputs, 2021 LEHD jobs data, and AllTransit™ schedule data (per their 2025 release notes). It is a modeled estimate of total household transportation spend, not an observed price of any specific trip.

What the True Lifestyle Cost Index does differently (the differentiators):

  1. C is computed, not modeled. We price the actual door-to-door commute — mode-specific (rail / drive / park-&-ride / kiss-&-ride / ride-hail access), with real posted prices: GTFS zone fares (transit_zone_fares), peak tolls including NYC congestion pricing CRZ $9 (toll_rates), station parking (parking_rates), and EIA/AAA fuel — from TLCengine's production commute DB, routed by our GPU multi-source RAPTOR kernel (535K-origin NYC run in 73 ms). CNT models what the average household spends on all travel; we compute what a specific commute costs, leg by leg.
  2. U is broken out. H+T folds utilities implicitly into H (ACS gross rent and SMOC include them) and does not report a utilities component. The True Lifestyle Cost Index makes U explicit — energy prices move independently of rents (CT electricity at ~30.8 ¢/kWh vs NJ ~23.1 ¢/kWh, Feb 2026, EIA) and matter to relocation decisions.
  3. Freshness. v1 uses ACS 2020–2024 (released Dec 2025/Jan 2026), HUD FY2026 income limits, FCC 2026 Urban Rate Survey and 2026 fare/toll/ energy tables; CNT's current release uses 2022 ACS inputs.
  4. Resolution roadmap. CNT publishes at block group and above; our C component is computed at H3 hex resolution 9/10 (≈ 0.1–0.01 km²), enabling address-level commute realism under block-group H/U.

Heritage: "TLC" in TLCengine stands for True Lifestyle Cost — the MLS-integrated affordability analytics TLCengine has shipped to brokerages since the 2010s. The True Lifestyle Cost Index is that heritage — now fully spelled out as the public name (decision #3) — rebuilt on the GPU commute engine.

2. Index definition

For a geography g (county / town / tract / block group / hex), an income basis I, and a utilities scope U:

TLC%(g, I, U) = 12 × ( H(g) + U(g, I) + C(g) )  /  I
  • H — monthly housing shelter cost (market-priced; basis-independent; utilities stripped — see §3).
  • U — monthly home utilities, two displayed scopes (decision #1, resolved 2026-06-12):
  • u_energy — home energy only (DOE LEAD construct) — used in all CNT benchmark comparisons;
  • u_full — u_energy + water/sewer + broadband + cell phone + trash (where separately billed) — the product number. See §4.
  • C — monthly door-to-door commute cost, chosen (cheapest sane) mode, on a household basis: × ACS B08202 workers-per-household (decision #5; see §5).
  • I — gross annual income, a user choice (decision #2, radio buttons; default HUD AMI):
  • median — the geography's own median household income (ACS B19013);
  • hud_amiHUD area median family income (100% AMI), FY2026 income limits (huduser.gov) — the housing-industry standard. HUD AMI is a median family (4-person benchmark) figure and runs far above median household income: avg +47% vs CBSA median HH across the pilot (quantified in RESULTS.md);
  • hud80 — HUD's published 80% limit (l80_4) — capped/adjusted, not always 0.8 × MFI (Jersey City HMFA's 80% limit exceeds its MFI);
  • custom — "enter your income" (product only). CNT benchmarking stays on CBSA median household income — CNT's own "regional area median income" construct (H+T Index Methods, Nov 2022).

Thresholds (decision #4 — both): a place is TLC-affordable when TLC% ≤ 48% (the classic 30% housing + 15% transportation envelope + 3% explicit utilities allowance), and every geography carries percentile tiers: metro quintile (1 = most affordable fifth, computed at the product default HUD-AMI × u_full) now, national tiers when the national run lands; CNT's national ht_ami percentile shown as context meanwhile (CNT-vs-CNT, no construct mixing).

Double-counting guard (v1): ACS "gross rent" (B25064) and "selected monthly owner costs" (B25088) include utilities by definition. v1 defines shelter once per geography — H = tenure-weighted gross housing cost − LEAD ALL-bracket energy − CEX water/sewer — so H + embedded utilities stays ACS-consistent, shelter does not move with the income basis, and the income bases differ only via their bracket-specific utilities (LEAD) and their denominator. Broadband/cell/trash are additive (never inside ACS housing costs). Direct shelter measures (B25058 contract rent + B25094/B25087 SMOC splits) remain the v2 upgrade.

3. H — housing (ACS, primary source)

ACS 5-year estimates, vintage 2024 (2020–2024) — the latest, fetched 2026-06-12 via the Census table-based Summary File (see Data Access note below). Tables, at block group + county (+ state, CBSA):

table use
B25064 median gross rent renter housing cost (incl. utilities)
B25058 median contract rent renter shelter cost (v1 H)
B25088 median selected monthly owner costs (total / with / without mortgage) owner housing cost (incl. utilities)
B25094 aggregate SMOC components v1 owner shelter split (not yet pulled)
B25077 median home value context + buyer affordability variant
B25003 tenure (owner / renter counts) tenure weights
B19013 median household income denominator (per-geography + CBSA)
H_gross(g) = pct_renter(g) × B25064(g) + pct_owner(g) × B25088_001(g)
H(g)       = H_gross(g) − U(g)          # v0 decomposition, see §2
  • Tenure weights from B25003 (pct_owner, pct_renter of occupied units).
  • ACS jam/sentinel values (−666666666 family) → NULL; geographies missing a median fall back to the parent geography with a flag.
  • Connecticut wrinkle: from ACS 2022 onward CT's county-equivalents are the nine planning regions (FIPS 09110–09190), not the eight legacy counties. CNT's 2022 H+T county file still uses legacy CT counties (e.g., Fairfield 09001) — county-level CT benchmarking therefore uses a name-based crosswalk or CBSA level (see §6).

Data access note (changed June 2026): api.census.gov now enforces API keys (keyless requests redirect to missing_key.html). fetch_acs.py defaults to the keyless table-based ACS Summary File bulk downloads on www2.census.gov (identical estimates, one national pipe-delimited file per table, every summary level included) and uses the API only when CENSUS_API_KEY is set.

4. U — utilities (u_energy: LEAD × EIA · u_full: + FCC/BLS components)

Decision #1 (RESOLVED 2026-06-12): DOE LEAD blessed for v1 energy-U, EIA-price-trended; U expanded beyond energy with TWO displayed figures.

4a. u_energy — DOE LEAD, EIA-trended (Tier A)

LEAD Tool 2022 update (lead.openei.org → data.openei.org submission 6219; {ST}-2022-LEAD-data.zip, fetched 2026-06-12): census-tract average annual household energy cost (ELEP electricity + GASP gas + FULP other fuels, ACS 2018–2022 calibrated with utility tariffs), by AMI income bracket (0–30 / 30–60 / 60–80 / 80–100 / 100–150 / 150%+) — which gives U at the HUD-AMI income bases for free. Covers renters and owners. Staged for NJ/NY/CT/PA at tract + county + state into utility_baselines (82,833 rows) with per-fuel splits, AMI files only.

u_energy(g, basis) = [ elec_2022(g, bracket) × EIA_elec_trend(state)
                     + gas_2022(g, bracket)  × EIA_gas_trend(state)
                     + fuel_2022(g, bracket) × EIA_oil_trend(state) ]   ($/mo)

EIA trend factors = latest-12-month avg ÷ CY2022 avg, residential, from our energy_prices (computed live, embedded fallback as of 2026-06-12): elec NJ ×1.368 / NY ×1.219 / CT ×1.176 · gas NJ ×1.144 / NY ×1.086 / CT ×0.925 · heating oil ×0.83–0.87. Per-county fuel mixes make this material: Hudson is urban-gas ($180/mo), Nassau/Western-CT carry oil heat ($412–508/mo). Bracket boundary convention: a household earning exactly the basis income is the top of its bracket (median → ALL, hud_ami → 80–100%, hud80 → 60–80%); bracket-to-bracket spread is ±15%.

CT note: LEAD 2022 already uses planning-region FIPS (09110–09190) — direct join with ACS 2024, CNT 2022, HUD FY26.

Rejected option (kept as cross-check): ACS gross−contract rent gap (B25064−B25058) — renters only, conflates landlord bundling, nothing for owners.

4b. u_full — the product number

u_full = u_energy + water_sewer + broadband + cell + trash, all staged in utility_baselines (component, level, geoid, cohort, year):

component source cohorts staged tier
water_sewer BLS CEX 2024 Table 1400 "water and other public services" ($68.83/mo all-CU; includes trash collection where separately billed) hh_size 1–5+ & ALL, national B — no free national rate DB (AWWA paywalled; Circle of Blue 30-city survey ended 2019); local rates vary 2–3×
broadband FCC Urban Rate Survey 2026 (DA 25-1088, Dec 2025): weighted national median standalone fixed broadband $89.00 (all) / $95.00 (≥100/20 Mbps); state medians NJ $95 / NY $100 / CT $85 / PA $110 ALL + 100_20_mbps; national + state A national / B state (thin n, national-urban weights)
cell BLS CEX 2024 "cellular phone service" $113.25/mo all-CU hh_size 1–5+ ($61–179) & ALL, national A construct, national geography
trash NJ norm: predominantly municipal collection funded via property tax (already inside SMOC/rent, NOT a separate bill) → $0 default with product toggle; private-hauler townships ~$25–45/mo state default C

NJ anchor (cross-check): NJ American Water, BPU No. 8 tariff (current sheets): 5/8" meter $19.85/mo fixed + $7.7752/1,000 gal → $50.95/mo at 4 kgal, water only (sewer typically municipal; NJ investor-owned water is BPU-regulated). Magnitude-consistent with the CEX national mean.

County v1 uses the ALL/hh-ALL cohorts; the hh-size cohorts are staged for the product's household-size input. Honest-gap register: metro-level water rates (scrape program, NJAW-anchor pattern), NE-region CEX cut, and the trash-toggle UI are v2.

5. C — commute (our engine, the moat)

C is the monthly out-of-pocket cost of the household's actual commute, computed by the TLCengine stack:

  • Routing: GPU multi-source RAPTOR kernel (this repo) over Golden-Source GTFS (MTA subway + LIRR + Metro-North + NJT + PATH, 1,491 platforms), multimodal access/egress legs (walk / bike / drive / ride-hail; cuGraph SSSP walk matrix), OSRM drive times × calibrated peak factor.
  • Pricing (all DB-authoritative, commute DB on gtfs3 @ 172.26.1.152:5433): transit_zone_fares (NJT/LIRR/MNR zone tariffs, peak), toll_rates (Hudson crossings peak/off-peak + NYC CRZ $9), parking_rates (per-station P&R + Midtown garages), energy_prices (fuel), EPA vehicle_fuel_economy.
  • v0 input: the validated 30-town tri-state matrix (raptor-design/output/commute_towns_tristate.parquet, see raptor-design/COMMUTE-TOWNS.md): every town's best rail option vs drive-the-whole-way at 08:00 peak; rail cheaper 30/30, avg $15.07 vs $58.80 one-way.
C(g) = oneway_cost(g, chosen_mode) × 2 × 22   # round trip, 22 work days
       × workers_per_HH(county)                # v1: ACS B08202 (1.17–1.38)

Decision #5 (RESOLVED 2026-06-12): household basis — this is "the household's index". workers_per_HH = (1·one-worker + 2·two-worker + 3·three-plus-worker households) / households (B08202, county; the 3+ bucket counted as 3.0, slight undercount, flagged; fetched by fetch_b08202.py). Precedent verified: CNT's H+T models a "Regional Typical Household" that fixes income, household size and commuters per household at regional values (H+T Index Methods, CNT, Nov 2022, p.25 — local copy data/cnt/method-2022.pdf). v1 flags: every worker treated as CBD-bound; no remote-share discount yet (B08303/B08301 staged); observed mode mix (B08134) to blend modes in v2; hex-level C + LEHD destination sets at the national run (CONTINUE.md Phase 2).

6. Benchmark protocol vs CNT H+T® (validation only)

CNT's 2022 H+T release (all 8 geography levels, 359,924 rows) is staged into the commute DB as hta_index (PK (year, level, geoid); loaded by a parallel task — table created, load pending approval as of 2026-06-12; the staged TSV at gpu-pilot/hta/hta_index.tsv is used until then).

comparison ours CNT level expectation
transport share 12×C/I (ami & 80ami & median variants) t_ami, t_80ami, t_nmi county, CBSA Ours < CNT, strongly correlated. CNT T = all household travel incl. auto ownership, errands, second cars; ours = commute only, chosen mode. The delta is itself content: "non-commute travel + car ownership overhead."
combined TLC% ht_ami county, CBSA directionally aligned rankings (Spearman ρ reported); levels differ by U breakout + commute-vs-all-travel scope
housing share 12×(H+U)/I h_ami county, CBSA close (both ACS-derived; vintages differ 2022 vs 2024)

Join keys: county/tract/blkgrp by FIPS GEOID; CBSA by NAME (CNT's CBSA files carry no numeric codes — e.g. 'New York-Newark-Jersey City, NY-NJ-CT'; note our 2024-vintage CBSA delineations differ for CT, §3). Every published comparison carries: "H+T® Index data © Center for Neighborhood Technology (htaindex.cnt.org), used for comparison. The True Lifestyle Cost Index is an independent index and is not affiliated with or endorsed by CNT."

7. Pipeline & storage

fetch_acs.py               → data/acs/raw/*.csv → acs_housing.tsv
fetch_b08202.py            → data/acs/raw/b08202_county.csv (workers/HH)
stage_utility_baselines.py → utility_baselines.tsv   (LEAD + URS + CEX + anchors)
stage_hud.py               → hud_income_limits.tsv   (HUD FY2026, NY/NJ/CT/PA)
{acs_housing,utility_baselines,hud_income_limits}.sql + load_*.sh
                           → commute DB tables (idempotent upsert loaders)
compute_tlccosts_v1.py     → output/tlccosts_v1_nyc.csv + RESULTS.md tables

All tables follow the house pattern (hta/hta_index.sql): snake_case, created_at/updated_at, natural-key PKs (acs_housing (vintage,level,geoid) · utility_baselines (component,level,geoid,cohort, year) · hud_income_limits (year,fips)), geoid = bare FIPS.

8. Versioning & roadmap

ver H U C income geography
v0 county, gross−U(state) state EIA placeholder 30-town matrix, rail, 1 commuter CBSA-median "ami" proxy 11 pilot counties
v1 (this) county, gross − LEAD ALL energy − CEX water/sewer (basis-independent) u_energy (LEAD county×bracket, EIA per-fuel trended) + u_full (+water/sewer, broadband, cell, trash) × B08202 workers/HH median / HUD AMI (default) / HUD 80% / custom 11 pilot counties (tract energy staged)
v2 blkgrp shelter (B25058 + SMOC split) + buyer variant (B25077 + rates) metro water rates, NE-region CEX, remote/mode-mix interplay mode mix (B08134) + remote discount + LEHD destinations + custom income UI tract/blkgrp tri-state → H3 res-9/10, top-100 metros

Open methodological questions for Krishna are tracked in RESULTS.md §Open questions (income variant naming, HUD AMI adoption, commuters/HH treatment, utilities scope, affordability threshold).

9. Sources

  • U.S. Census Bureau, ACS 5-Year Estimates 2020–2024 (table-based Summary File + API: B19013/B25058/B25064/B25077/B25088/B25003/B08134/B08303 + B08202 workers-per-household) — public domain.
  • U.S. DOE, LEAD Tool 2022 update (lead.openei.org; data.openei.org submission 6219, state zips + data dictionary, fetched 2026-06-12) — tract/county energy cost by AMI bracket.
  • U.S. EIA — residential electricity, natural gas, heating-oil price series (via our energy_prices ingest) — the 2022→current trend factors.
  • HUD, FY2026 Income Limits (huduser.gov/portal/datasets/il.html, Section8-FY26.xlsx, file dated 2026-04-16) — MFI/100% AMI, 80%, 50%, 30%.
  • FCC, 2026 Urban Rate Survey — fixed broadband (DA 25-1088, released 2025-12-19; data file 2026_urs_broadband_website_data_final.xlsx).
  • BLS, Consumer Expenditure Survey 2024, Table 1400 (consumer-unit size) — cellular phone service; water and other public services.
  • NJ American Water, B.P.U. No. 8 water tariff (amwater.com, current sheets) — NJ residential water anchor. NJ BPU regulates investor-owned water utilities.
  • TLCengine commute DB (gtfs3) — fares, tolls, parking, energy, isochrones; GPU RAPTOR pipeline (this repo) — routing.
  • CNT, "About the Index" + "H+T Index Methods" (Nov 2022; local copy data/cnt/method-2022.pdf) — prior art + the Regional Typical Household precedent, cited §1/§5; H+T® data © CNT, benchmark use only.
  • Circle of Blue, "The Price of Water" 30-city survey (2010–2019; discontinued) — water-rate landscape reference only.
  • Delling, Pajor, Werneck (2015), "Round-Based Public Transit Routing" — the RAPTOR algorithm.

Comments