{
  "name": "TradeBasis USA BHPH Macro Conditions Index",
  "publisher": {
    "name": "TradeBasis",
    "legal_name": "Basis Software Inc.",
    "url": "https://tradebasis.net/"
  },
  "description": "Monthly 0 to 100 score of national macro pressure relevant to US buy-here-pay-here (BHPH) lending, built from three equally weighted pillars: employment, household budget and funding. Higher scores mean greater pressure. National macro proxies only; not a measure of BHPH loan performance.",
  "methodology_version": "1.0-experimental",
  "release_date": "2026-09-26",
  "release_timezone": "UTC",
  "url": "https://tradebasis.net/research/bhph-macro-index",
  "methodology_url": "https://tradebasis.net/research/bhph-macro-index#method",
  "csv_url": "https://tradebasis.net/data/bhph-macro-index.csv",
  "json_url": "https://tradebasis.net/data/bhph-macro-index.json",
  "related_report_url": "https://tradebasis.net/research/bhph-benchmarks",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "citation": "TradeBasis. (2026). TradeBasis USA BHPH Macro Conditions Index, version 1.0-experimental (released 26 September 2026). Basis Software Inc. https://tradebasis.net/research/bhph-macro-index",
  "geography": "United States (national)",
  "frequency": "monthly",
  "coverage": {
    "start": "2025-09",
    "end": "2026-08",
    "months": 12,
    "complete_scores": 10
  },
  "scale": {
    "min": 0,
    "max": 100,
    "unit": "index points",
    "direction": "higher score means greater macro pressure"
  },
  "normalization": {
    "baseline_start": "2010-01",
    "baseline_end": "2024-12",
    "method": "Each input is converted to an empirical percentile against baseline observations: 100 x (number of baseline values below the observation + half the number tied) / baseline count. Monthly inputs use 180 baseline values; the quarterly bank lending survey uses 60."
  },
  "vintage_basis": "retrospective_latest_revised",
  "composite_rule": "Simple average of the three pillar scores. A month is scored only when all three pillars are available; missing inputs are not estimated and weights are not redistributed.",
  "pillars": [
    {
      "id": "employment",
      "weight": "1/3",
      "rule": "Average of two input percentiles",
      "inputs": [
        "Unemployment rate",
        "Monthly mean insured unemployment rate"
      ]
    },
    {
      "id": "household_budget",
      "weight": "1/3",
      "rule": "Percentile of the essential-cost-to-earnings ratio",
      "inputs": [
        "Essential-price basket index (rent, food at home, fuels and utilities, gasoline, vehicle insurance, vehicle repairs; 2024 = 100)",
        "Nominal average weekly earnings, private-sector production and nonsupervisory employees (2024 = 100)"
      ]
    },
    {
      "id": "funding",
      "weight": "1/3",
      "rule": "Average of two input percentiles",
      "inputs": [
        "Monthly average bank prime rate",
        "Net share of banks tightening standards on commercial and industrial loans to small firms"
      ]
    }
  ],
  "reproducibility": "All inputs, basket weights, formulas and sources are published as companion files so the index can be recomputed independently.",
  "files": [
    {
      "name": "bhph-macro-index.csv",
      "url": "https://tradebasis.net/data/bhph-macro-index.csv",
      "description": "Monthly scores, pillar scores, changes, input values, input percentiles, status and notes. One row per month."
    },
    {
      "name": "bhph-macro-index.json",
      "url": "https://tradebasis.net/data/bhph-macro-index.json",
      "description": "The same monthly data with the method, basket weights, source list, caveats and citation included, for software and AI tools."
    },
    {
      "name": "bhph-macro-index-methodology.csv",
      "url": "https://tradebasis.net/data/bhph-macro-index-methodology.csv",
      "description": "Every formula, definition, rule and limitation, the field dictionary, and step-by-step update instructions."
    },
    {
      "name": "bhph-macro-index-source-data.csv",
      "url": "https://tradebasis.net/data/bhph-macro-index-source-data.csv",
      "description": "All source observations from January 2010 to August 2026 and the derived inputs, with the baseline observations flagged."
    },
    {
      "name": "bhph-macro-index-basket-weights.csv",
      "url": "https://tradebasis.net/data/bhph-macro-index-basket-weights.csv",
      "description": "The six fixed basket weights and the Consumer Expenditure Survey figures they are built from."
    },
    {
      "name": "bhph-macro-index-sources.csv",
      "url": "https://tradebasis.net/data/bhph-macro-index-sources.csv",
      "description": "Every source series with its publisher, link and retrieval time."
    }
  ],
  "basket_weights": [
    {
      "category": "rent",
      "series_id": "CUSR0000SEHA",
      "weight_fraction": 0.369466328664,
      "pooled_annual_usd": 6003.192066267832,
      "cpi_2024_mean": 420.06075
    },
    {
      "category": "food_at_home",
      "series_id": "CUSR0000SAF11",
      "weight_fraction": 0.270673569592,
      "pooled_annual_usd": 4397.979733087897,
      "cpi_2024_mean": 306.554
    },
    {
      "category": "fuels_and_utilities",
      "series_id": "CUSR0000SAH2",
      "weight_fraction": 0.15268258028,
      "pooled_annual_usd": 2480.829194661758,
      "cpi_2024_mean": 314.78275
    },
    {
      "category": "gasoline",
      "series_id": "CUSR0000SETB01",
      "weight_fraction": 0.094490604746,
      "pooled_annual_usd": 1535.309728485964,
      "cpi_2024_mean": 295.7665
    },
    {
      "category": "vehicle_insurance",
      "series_id": "CUSR0000SETE",
      "weight_fraction": 0.079229260374,
      "pooled_annual_usd": 1287.339144040497,
      "cpi_2024_mean": 843.210416666667
    },
    {
      "category": "vehicle_repairs",
      "series_id": "CUSR0000SETD",
      "weight_fraction": 0.033457656343,
      "pooled_annual_usd": 543.629341923608,
      "cpi_2024_mean": 407.274583333333
    }
  ],
  "basket_weight_basis": "2024 Consumer Expenditure Survey, lowest two before-tax income quintiles pooled by consumer-unit counts; fixed for version 1.0.",
  "source_series": [
    {
      "id": "UNRATE",
      "title": "Unemployment Rate",
      "publisher": "U.S. Bureau of Labor Statistics",
      "frequency": "Monthly",
      "units": "Percent",
      "seasonal_adjustment": "Seasonally Adjusted",
      "url": "https://fred.stlouisfed.org/series/UNRATE",
      "retrieved_at_utc": "2026-09-26T02:53:48.511943+00:00"
    },
    {
      "id": "IURSA",
      "title": "Insured Unemployment Rate",
      "publisher": "U.S. Employment and Training Administration",
      "frequency": "Weekly, Ending Saturday",
      "units": "Percent",
      "seasonal_adjustment": "Seasonally Adjusted",
      "url": "https://fred.stlouisfed.org/series/IURSA",
      "retrieved_at_utc": "2026-09-26T02:53:48.710168+00:00"
    },
    {
      "id": "CES0500000030",
      "title": "Average Weekly Earnings of Production and Nonsupervisory Employees, Total Private",
      "publisher": "U.S. Bureau of Labor Statistics",
      "frequency": "Monthly",
      "units": "Dollars per Week",
      "seasonal_adjustment": "Seasonally Adjusted",
      "url": "https://fred.stlouisfed.org/series/CES0500000030",
      "retrieved_at_utc": "2026-09-26T02:53:48.446008+00:00"
    },
    {
      "id": "CUSR0000SEHA",
      "title": "Consumer Price Index for All Urban Consumers: Rent of Primary Residence in U.S. City Average",
      "publisher": "U.S. Bureau of Labor Statistics",
      "frequency": "Monthly",
      "units": "Index 1982-1984=100",
      "seasonal_adjustment": "Seasonally Adjusted",
      "url": "https://fred.stlouisfed.org/series/CUSR0000SEHA",
      "retrieved_at_utc": "2026-09-26T02:53:48.585599+00:00"
    },
    {
      "id": "CUSR0000SAF11",
      "title": "Consumer Price Index for All Urban Consumers: Food at Home in U.S. City Average",
      "publisher": "U.S. Bureau of Labor Statistics",
      "frequency": "Monthly",
      "units": "Index 1982-1984=100",
      "seasonal_adjustment": "Seasonally Adjusted",
      "url": "https://fred.stlouisfed.org/series/CUSR0000SAF11",
      "retrieved_at_utc": "2026-09-26T02:53:48.802056+00:00"
    },
    {
      "id": "CUSR0000SAH2",
      "title": "Consumer Price Index for All Urban Consumers: Fuels and Utilities in U.S. City Average",
      "publisher": "U.S. Bureau of Labor Statistics",
      "frequency": "Monthly",
      "units": "Index 1982-1984=100",
      "seasonal_adjustment": "Seasonally Adjusted",
      "url": "https://fred.stlouisfed.org/series/CUSR0000SAH2",
      "retrieved_at_utc": "2026-09-26T02:53:48.430253+00:00"
    },
    {
      "id": "CUSR0000SETB01",
      "title": "Consumer Price Index for All Urban Consumers: Gasoline (All Types) in U.S. City Average",
      "publisher": "U.S. Bureau of Labor Statistics",
      "frequency": "Monthly",
      "units": "Index 1982-1984=100",
      "seasonal_adjustment": "Seasonally Adjusted",
      "url": "https://fred.stlouisfed.org/series/CUSR0000SETB01",
      "retrieved_at_utc": "2026-09-26T02:53:53.454648+00:00"
    },
    {
      "id": "CUSR0000SETE",
      "title": "Consumer Price Index for All Urban Consumers: Motor Vehicle Insurance in U.S. City Average",
      "publisher": "U.S. Bureau of Labor Statistics",
      "frequency": "Monthly",
      "units": "Index 1982-1984=100",
      "seasonal_adjustment": "Seasonally Adjusted",
      "url": "https://data.bls.gov/timeseries/CUSR0000SETE",
      "retrieved_at_utc": "2026-09-26T02:58:33.687137+00:00"
    },
    {
      "id": "CUSR0000SETD",
      "title": "Consumer Price Index for All Urban Consumers: Motor Vehicle Maintenance and Repair in U.S. City Average",
      "publisher": "U.S. Bureau of Labor Statistics",
      "frequency": "Monthly",
      "units": "Index 1982-1984=100",
      "seasonal_adjustment": "Seasonally Adjusted",
      "url": "https://fred.stlouisfed.org/series/CUSR0000SETD",
      "retrieved_at_utc": "2026-09-26T02:53:53.831994+00:00"
    },
    {
      "id": "MPRIME",
      "title": "Bank Prime Loan Rate",
      "publisher": "Board of Governors of the Federal Reserve System (US)",
      "frequency": "Monthly",
      "units": "Percent",
      "seasonal_adjustment": "Not Seasonally Adjusted",
      "url": "https://fred.stlouisfed.org/series/MPRIME",
      "retrieved_at_utc": "2026-09-26T02:53:53.654264+00:00"
    },
    {
      "id": "DRTSCIS",
      "title": "Net Percentage of Domestic Banks Tightening Standards for Commercial and Industrial Loans to Small Firms",
      "publisher": "Board of Governors of the Federal Reserve System (US)",
      "frequency": "Quarterly",
      "units": "Percent",
      "seasonal_adjustment": "Not Seasonally Adjusted",
      "url": "https://fred.stlouisfed.org/series/DRTSCIS",
      "retrieved_at_utc": "2026-09-26T02:53:53.978254+00:00"
    },
    {
      "id": "CE2024",
      "title": "Consumer Expenditure Surveys 2024 Table 1101: Quintiles of income before taxes",
      "publisher": "U.S. Bureau of Labor Statistics",
      "frequency": "",
      "units": "",
      "seasonal_adjustment": "",
      "url": "https://www.bls.gov/cex/tables/calendar-year/mean-item-share-average-standard-error/cu-income-quintiles-before-taxes-2024.xlsx",
      "retrieved_at_utc": "2026-09-26"
    }
  ],
  "caveats": [
    "Experimental version; equal pillar weights are an initial design choice.",
    "Not a measure of BHPH delinquency, losses, dealer profitability or customer outcomes.",
    "The composite is an average of input percentiles, not itself a historical percentile or a probability of default.",
    "Fifty is not a validated neutral threshold.",
    "Predictive accuracy against BHPH losses has not been established.",
    "Retrospective series using latest-revised source data; not calculated in real time."
  ],
  "latest": {
    "month": "2026-08",
    "index_score": 40.3704,
    "employment": 23.0556,
    "household_budget": 22.7778,
    "funding": 75.2778,
    "change_1m_points": -2.5463,
    "change_3m_points": -14.213
  },
  "observations": [
    {
      "month": "2025-09",
      "status": "complete",
      "index_score": 44.537,
      "pillars": {
        "employment": 36.5278,
        "household_budget": 15.0,
        "funding": 82.0833
      },
      "available_pillars": 3,
      "change_1m_points": null,
      "change_3m_points": null,
      "strongest_pressure_pillar": "funding",
      "missing_series_ids": [],
      "inputs": {
        "unemployment_rate_pct": 4.4,
        "insured_unemployment_rate_monthly_pct": 1.3,
        "insured_unemployment_week_count": 4,
        "essential_cost_index_2024_100": 103.596874149602,
        "weekly_earnings_usd": 1063.57,
        "weekly_earnings_index_2024_100": 104.723316266247,
        "essential_cost_to_earnings_ratio": 98.924363592745,
        "prime_rate_pct": 7.38,
        "small_firm_net_tightening_pct": 8.2,
        "sloos_observation_date": "2025-07-01",
        "sloos_release_date": "2025-08-04"
      },
      "input_percentiles": {
        "unemployment": 40.2778,
        "insured_unemployment": 32.7778,
        "budget_ratio": 15.0,
        "prime": 86.6667,
        "tightening": 77.5
      },
      "note": "National macro proxies; higher score means greater pressure; not BHPH performance."
    },
    {
      "month": "2025-10",
      "status": "unavailable_missing_inputs",
      "index_score": null,
      "pillars": {
        "employment": null,
        "household_budget": null,
        "funding": 81.8056
      },
      "available_pillars": 1,
      "change_1m_points": null,
      "change_3m_points": null,
      "strongest_pressure_pillar": null,
      "missing_series_ids": [
        "UNRATE",
        "CUSR0000SEHA",
        "CUSR0000SAF11",
        "CUSR0000SAH2",
        "CUSR0000SETE",
        "CUSR0000SETD"
      ],
      "inputs": {
        "unemployment_rate_pct": null,
        "insured_unemployment_rate_monthly_pct": 1.3,
        "insured_unemployment_week_count": 4,
        "essential_cost_index_2024_100": null,
        "weekly_earnings_usd": 1068.29,
        "weekly_earnings_index_2024_100": 105.188066167783,
        "essential_cost_to_earnings_ratio": null,
        "prime_rate_pct": 7.23,
        "small_firm_net_tightening_pct": 8.2,
        "sloos_observation_date": "2025-07-01",
        "sloos_release_date": "2025-08-04"
      },
      "input_percentiles": {
        "unemployment": null,
        "insured_unemployment": 32.7778,
        "budget_ratio": null,
        "prime": 86.1111,
        "tightening": 77.5
      },
      "note": "National macro proxies; higher score means greater pressure; not BHPH performance. October unemployment and CPI data unavailable following federal shutdown."
    },
    {
      "month": "2025-11",
      "status": "unavailable_missing_inputs",
      "index_score": null,
      "pillars": {
        "employment": 37.3611,
        "household_budget": null,
        "funding": 82.2222
      },
      "available_pillars": 2,
      "change_1m_points": null,
      "change_3m_points": null,
      "strongest_pressure_pillar": null,
      "missing_series_ids": [
        "CUSR0000SETE"
      ],
      "inputs": {
        "unemployment_rate_pct": 4.5,
        "insured_unemployment_rate_monthly_pct": 1.28,
        "insured_unemployment_week_count": 5,
        "essential_cost_index_2024_100": null,
        "weekly_earnings_usd": 1074.5,
        "weekly_earnings_index_2024_100": 105.799527372981,
        "essential_cost_to_earnings_ratio": null,
        "prime_rate_pct": 7.0,
        "small_firm_net_tightening_pct": 8.3,
        "sloos_observation_date": "2025-10-01",
        "sloos_release_date": "2025-11-03"
      },
      "input_percentiles": {
        "unemployment": 41.9444,
        "insured_unemployment": 32.7778,
        "budget_ratio": null,
        "prime": 86.1111,
        "tightening": 78.3333
      },
      "note": "National macro proxies; higher score means greater pressure; not BHPH performance. November motor vehicle insurance CPI unavailable; BLS reports inadequate data for publication."
    },
    {
      "month": "2025-12",
      "status": "complete",
      "index_score": 42.3611,
      "pillars": {
        "employment": 30.6944,
        "household_budget": 14.4444,
        "funding": 81.9444
      },
      "available_pillars": 3,
      "change_1m_points": null,
      "change_3m_points": -2.1759,
      "strongest_pressure_pillar": "funding",
      "missing_series_ids": [],
      "inputs": {
        "unemployment_rate_pct": 4.4,
        "insured_unemployment_rate_monthly_pct": 1.2,
        "insured_unemployment_week_count": 4,
        "essential_cost_index_2024_100": 104.316999579666,
        "weekly_earnings_usd": 1072.67,
        "weekly_earnings_index_2024_100": 105.619338322174,
        "essential_cost_to_earnings_ratio": 98.76695048161,
        "prime_rate_pct": 6.83,
        "small_firm_net_tightening_pct": 8.3,
        "sloos_observation_date": "2025-10-01",
        "sloos_release_date": "2025-11-03"
      },
      "input_percentiles": {
        "unemployment": 40.2778,
        "insured_unemployment": 21.1111,
        "budget_ratio": 14.4444,
        "prime": 85.5556,
        "tightening": 78.3333
      },
      "note": "National macro proxies; higher score means greater pressure; not BHPH performance."
    },
    {
      "month": "2026-01",
      "status": "complete",
      "index_score": 41.6204,
      "pillars": {
        "employment": 29.5833,
        "household_budget": 13.3333,
        "funding": 81.9444
      },
      "available_pillars": 3,
      "change_1m_points": -0.7407,
      "change_3m_points": null,
      "strongest_pressure_pillar": "funding",
      "missing_series_ids": [],
      "inputs": {
        "unemployment_rate_pct": 4.3,
        "insured_unemployment_rate_monthly_pct": 1.2,
        "insured_unemployment_week_count": 5,
        "essential_cost_index_2024_100": 104.170974061029,
        "weekly_earnings_usd": 1079.57,
        "weekly_earnings_index_2024_100": 106.298739661284,
        "essential_cost_to_earnings_ratio": 97.998315307373,
        "prime_rate_pct": 6.75,
        "small_firm_net_tightening_pct": 8.3,
        "sloos_observation_date": "2025-10-01",
        "sloos_release_date": "2025-11-03"
      },
      "input_percentiles": {
        "unemployment": 38.0556,
        "insured_unemployment": 21.1111,
        "budget_ratio": 13.3333,
        "prime": 85.5556,
        "tightening": 78.3333
      },
      "note": "National macro proxies; higher score means greater pressure; not BHPH performance."
    },
    {
      "month": "2026-02",
      "status": "complete",
      "index_score": 41.9907,
      "pillars": {
        "employment": 30.6944,
        "household_budget": 13.3333,
        "funding": 81.9444
      },
      "available_pillars": 3,
      "change_1m_points": 0.3704,
      "change_3m_points": null,
      "strongest_pressure_pillar": "funding",
      "missing_series_ids": [],
      "inputs": {
        "unemployment_rate_pct": 4.4,
        "insured_unemployment_rate_monthly_pct": 1.2,
        "insured_unemployment_week_count": 4,
        "essential_cost_index_2024_100": 104.506618363177,
        "weekly_earnings_usd": 1082.95,
        "weekly_earnings_index_2024_100": 106.631547853486,
        "essential_cost_to_earnings_ratio": 98.007222503017,
        "prime_rate_pct": 6.75,
        "small_firm_net_tightening_pct": 8.9,
        "sloos_observation_date": "2026-01-01",
        "sloos_release_date": "2026-02-02"
      },
      "input_percentiles": {
        "unemployment": 40.2778,
        "insured_unemployment": 21.1111,
        "budget_ratio": 13.3333,
        "prime": 85.5556,
        "tightening": 78.3333
      },
      "note": "National macro proxies; higher score means greater pressure; not BHPH performance."
    },
    {
      "month": "2026-03",
      "status": "complete",
      "index_score": 46.4352,
      "pillars": {
        "employment": 29.5833,
        "household_budget": 27.7778,
        "funding": 81.9444
      },
      "available_pillars": 3,
      "change_1m_points": 4.4444,
      "change_3m_points": 4.0741,
      "strongest_pressure_pillar": "funding",
      "missing_series_ids": [],
      "inputs": {
        "unemployment_rate_pct": 4.3,
        "insured_unemployment_rate_monthly_pct": 1.2,
        "insured_unemployment_week_count": 4,
        "essential_cost_index_2024_100": 106.620881127849,
        "weekly_earnings_usd": 1085.66,
        "weekly_earnings_index_2024_100": 106.89838519102,
        "essential_cost_to_earnings_ratio": 99.740403877312,
        "prime_rate_pct": 6.75,
        "small_firm_net_tightening_pct": 8.9,
        "sloos_observation_date": "2026-01-01",
        "sloos_release_date": "2026-02-02"
      },
      "input_percentiles": {
        "unemployment": 38.0556,
        "insured_unemployment": 21.1111,
        "budget_ratio": 27.7778,
        "prime": 85.5556,
        "tightening": 78.3333
      },
      "note": "National macro proxies; higher score means greater pressure; not BHPH performance."
    },
    {
      "month": "2026-04",
      "status": "complete",
      "index_score": 49.4444,
      "pillars": {
        "employment": 25.2778,
        "household_budget": 41.1111,
        "funding": 81.9444
      },
      "available_pillars": 3,
      "change_1m_points": 3.0093,
      "change_3m_points": 7.8241,
      "strongest_pressure_pillar": "funding",
      "missing_series_ids": [],
      "inputs": {
        "unemployment_rate_pct": 4.3,
        "insured_unemployment_rate_monthly_pct": 1.175,
        "insured_unemployment_week_count": 4,
        "essential_cost_index_2024_100": 107.843624535738,
        "weekly_earnings_usd": 1089.37,
        "weekly_earnings_index_2024_100": 107.263686490744,
        "essential_cost_to_earnings_ratio": 100.540665777922,
        "prime_rate_pct": 6.75,
        "small_firm_net_tightening_pct": 8.9,
        "sloos_observation_date": "2026-01-01",
        "sloos_release_date": "2026-02-02"
      },
      "input_percentiles": {
        "unemployment": 38.0556,
        "insured_unemployment": 12.5,
        "budget_ratio": 41.1111,
        "prime": 85.5556,
        "tightening": 78.3333
      },
      "note": "National macro proxies; higher score means greater pressure; not BHPH performance."
    },
    {
      "month": "2026-05",
      "status": "complete",
      "index_score": 54.5833,
      "pillars": {
        "employment": 29.5833,
        "household_budget": 53.8889,
        "funding": 80.2778
      },
      "available_pillars": 3,
      "change_1m_points": 5.1389,
      "change_3m_points": 12.5926,
      "strongest_pressure_pillar": "funding",
      "missing_series_ids": [],
      "inputs": {
        "unemployment_rate_pct": 4.3,
        "insured_unemployment_rate_monthly_pct": 1.2,
        "insured_unemployment_week_count": 5,
        "essential_cost_index_2024_100": 108.761927787923,
        "weekly_earnings_usd": 1092.08,
        "weekly_earnings_index_2024_100": 107.530523828279,
        "essential_cost_to_earnings_ratio": 101.145166893831,
        "prime_rate_pct": 6.75,
        "small_firm_net_tightening_pct": 6.6,
        "sloos_observation_date": "2026-04-01",
        "sloos_release_date": "2026-05-04"
      },
      "input_percentiles": {
        "unemployment": 38.0556,
        "insured_unemployment": 21.1111,
        "budget_ratio": 53.8889,
        "prime": 85.5556,
        "tightening": 75.0
      },
      "note": "National macro proxies; higher score means greater pressure; not BHPH performance."
    },
    {
      "month": "2026-06",
      "status": "complete",
      "index_score": 45.3241,
      "pillars": {
        "employment": 28.4722,
        "household_budget": 27.2222,
        "funding": 80.2778
      },
      "available_pillars": 3,
      "change_1m_points": -9.2593,
      "change_3m_points": -1.1111,
      "strongest_pressure_pillar": "funding",
      "missing_series_ids": [],
      "inputs": {
        "unemployment_rate_pct": 4.2,
        "insured_unemployment_rate_monthly_pct": 1.2,
        "insured_unemployment_week_count": 4,
        "essential_cost_index_2024_100": 107.462905181432,
        "weekly_earnings_usd": 1094.44,
        "weekly_earnings_index_2024_100": 107.762898779047,
        "essential_cost_to_earnings_ratio": 99.721616993405,
        "prime_rate_pct": 6.75,
        "small_firm_net_tightening_pct": 6.6,
        "sloos_observation_date": "2026-04-01",
        "sloos_release_date": "2026-05-04"
      },
      "input_percentiles": {
        "unemployment": 35.8333,
        "insured_unemployment": 21.1111,
        "budget_ratio": 27.2222,
        "prime": 85.5556,
        "tightening": 75.0
      },
      "note": "National macro proxies; higher score means greater pressure; not BHPH performance."
    },
    {
      "month": "2026-07",
      "status": "complete",
      "index_score": 42.9167,
      "pillars": {
        "employment": 26.8056,
        "household_budget": 21.6667,
        "funding": 80.2778
      },
      "available_pillars": 3,
      "change_1m_points": -2.4074,
      "change_3m_points": -6.5278,
      "strongest_pressure_pillar": "funding",
      "missing_series_ids": [],
      "inputs": {
        "unemployment_rate_pct": 4.1,
        "insured_unemployment_rate_monthly_pct": 1.2,
        "insured_unemployment_week_count": 4,
        "essential_cost_index_2024_100": 107.276843177298,
        "weekly_earnings_usd": 1095.8,
        "weekly_earnings_index_2024_100": 107.896809767625,
        "essential_cost_to_earnings_ratio": 99.425407858062,
        "prime_rate_pct": 6.75,
        "small_firm_net_tightening_pct": 6.6,
        "sloos_observation_date": "2026-04-01",
        "sloos_release_date": "2026-05-04"
      },
      "input_percentiles": {
        "unemployment": 32.5,
        "insured_unemployment": 21.1111,
        "budget_ratio": 21.6667,
        "prime": 85.5556,
        "tightening": 75.0
      },
      "note": "National macro proxies; higher score means greater pressure; not BHPH performance."
    },
    {
      "month": "2026-08",
      "status": "complete",
      "index_score": 40.3704,
      "pillars": {
        "employment": 23.0556,
        "household_budget": 22.7778,
        "funding": 75.2778
      },
      "available_pillars": 3,
      "change_1m_points": -2.5463,
      "change_3m_points": -14.213,
      "strongest_pressure_pillar": "funding",
      "missing_series_ids": [],
      "inputs": {
        "unemployment_rate_pct": 4.1,
        "insured_unemployment_rate_monthly_pct": 1.18,
        "insured_unemployment_week_count": 5,
        "essential_cost_index_2024_100": 107.76029550027,
        "weekly_earnings_usd": 1099.51,
        "weekly_earnings_index_2024_100": 108.262111067349,
        "essential_cost_to_earnings_ratio": 99.536480896103,
        "prime_rate_pct": 6.75,
        "small_firm_net_tightening_pct": 1.8,
        "sloos_observation_date": "2026-07-01",
        "sloos_release_date": "2026-08-03"
      },
      "input_percentiles": {
        "unemployment": 32.5,
        "insured_unemployment": 13.6111,
        "budget_ratio": 22.7778,
        "prime": 85.5556,
        "tightening": 65.0
      },
      "note": "National macro proxies; higher score means greater pressure; not BHPH performance."
    }
  ]
}