{"id": "boise-city-id", "label": "Boise City, ID", "city": "Boise City", "state": "ID", "county": "Ada County", "geography": "multi-district metro", "population": 238429, "researched_on": "2026-09-14", "pipeline_version": "2.1.0", "model": "grok-4.3", "counts": {"total": 78, "sourced": 28, "derived": 32, "estimated": 18}, "gaps": 1, "citations": {"checked": 15, "passed": 12, "failed": 3}, "research_cost_usd": 0.0, "summary": "This is a planning tool, not a prediction. Of the 78 numbers behind a season in Boise City, 28 are published figures, 32 are worked out from published figures, and 18 are our own estimates. 41 of them were read straight out of a federal file that covers every city in the country, so there was no citation to trust and no page to misread. You can change any of them. Your result is only as good as the numbers you agree with.", "pack": {"id": "boise-city-id", "city": "Boise City", "state": "ID", "label": "Boise City, ID", "county": "Ada County", "geography_type": "multi-district metro", "researched_on": "2026-09-14", "pipeline_version": "2.1.0", "model": "grok-4.3", "records": [{"id": "population", "label": "People living here", "value": 238429, "unit": "people", "basis": "sourced", "why": "US Census Bureau vintage 2025 population estimate for Boise City city, Idaho.", "math": null, "source": {"name": "US Census Bureau, Subcounty Population Estimates", "date": "2025", "url": "https://www2.census.gov/programs-surveys/popest/datasets/2020-2025/cities/totals/sub-est2025.csv", "tier": "primary", "verified_on": "2026-09-07", "verified_by": "read directly out of the federal bulk file at this URL, matched on a key rather than on a name", "row_key": "SUMLEV 162, GEOID 1608830 -- Boise City city, Idaho"}, "range": [119214, 476858], "editable": true, "theme": "people", "bulk": true}, {"id": "land_area_sqmi", "label": "How big the city is", "value": 86.101, "unit": "sq mi", "basis": "sourced", "why": "Census Bureau Gazetteer land area for Boise City city. Water is excluded.", "math": null, "source": {"name": "US Census Bureau Gazetteer", "date": "2025", "url": "https://www2.census.gov/geo/docs/maps-data/data/gazetteer/2025_Gazetteer/2025_gaz_place_16.txt", "tier": "primary", "verified_on": "2026-09-08", "verified_by": "read directly out of the federal bulk file at this URL, matched on a key rather than on a name", "row_key": "GEOID 1608830 -- Boise City city"}, "range": [43.1, 172.2], "editable": true, "theme": "people", "bulk": true}, {"id": "density", "label": "People per square mile", "value": 2769, "unit": "people/sq mi", "basis": "derived", "why": "How tightly packed the town is, which is what decides how far an average trip runs and how much empty driving there is between fares.", "math": "238,429 residents divided by 86.101 square miles of land = 2,769 people per square mile.", "source": null, "range": [1107, 6922], "editable": true, "theme": "people", "bulk": true}, {"id": "metro_population", "label": "People in the surrounding county", "value": 546141, "unit": "people", "basis": "sourced", "why": "US Census Bureau vintage 2025 estimate for Ada County, Idaho. This is the pool a fleet actually draws on, because trips do not stop at the city line.", "math": null, "source": {"name": "US Census Bureau, County Population Estimates", "date": "2025", "url": "https://www2.census.gov/programs-surveys/popest/datasets/2020-2025/counties/totals/co-est2025-alldata.csv", "tier": "primary", "verified_on": "2026-09-07", "verified_by": "read directly out of the federal bulk file at this URL, matched on a key rather than on a name", "row_key": "SUMLEV 050, GEOID 16001 -- Ada County, Idaho"}, "range": [273070, 1092282], "editable": true, "theme": "people", "bulk": true}, {"id": "airport_name", "label": "Airport name", "value": "Boise Air Trml/Gowen Field", "unit": "", "basis": "sourced", "why": "The nearest commercial service airport to this city in the FAA's own traffic file, matched by distance from the Census Bureau's internal point for the city rather than by name.", "math": null, "source": {"name": "FAA, CY2024 Passenger Boarding (Enplanement) Data for U.S. Airports", "date": "CY2024", "url": "https://www.faa.gov/airports/planning_capacity/passenger_allcargo_stats/passenger/arp-cy2024-commercial-service-enplanements.xlsx", "tier": "primary", "verified_on": "2026-09-07", "verified_by": "read directly out of the federal bulk file at this URL, matched on a key rather than on a name", "row_key": "Locid BOI -- Boise Air Trml/Gowen Field, Boise ID"}, "range": null, "editable": true, "depends_on": null, "bulk": true, "theme": "airport"}, {"id": "airport_code", "label": "Airport code", "value": "BOI", "unit": "", "basis": "sourced", "why": "The FAA location identifier, which is the key this pack joins the traffic file and the airport coordinate file on.", "math": null, "source": {"name": "FAA, CY2024 Passenger Boarding (Enplanement) Data for U.S. Airports", "date": "CY2024", "url": "https://www.faa.gov/airports/planning_capacity/passenger_allcargo_stats/passenger/arp-cy2024-commercial-service-enplanements.xlsx", "tier": "primary", "verified_on": "2026-09-07", "verified_by": "read directly out of the federal bulk file at this URL, matched on a key rather than on a name", "row_key": "Locid BOI -- Boise Air Trml/Gowen Field, Boise ID"}, "range": null, "editable": true, "depends_on": null, "bulk": true, "theme": "airport"}, {"id": "airport_passengers_year", "label": "Passengers boarding a year", "value": 2475370, "unit": "enplanements/year", "basis": "sourced", "why": "FAA calendar year 2024 ENPLANEMENTS -- passengers BOARDING, which is about half of the arrivals-plus-departures figure an airport press release quotes. This is the federal count, read out of the FAA's own file.", "math": null, "source": {"name": "FAA, CY2024 Passenger Boarding (Enplanement) Data for U.S. Airports", "date": "CY2024", "url": "https://www.faa.gov/airports/planning_capacity/passenger_allcargo_stats/passenger/arp-cy2024-commercial-service-enplanements.xlsx", "tier": "primary", "verified_on": "2026-09-07", "verified_by": "read directly out of the federal bulk file at this URL, matched on a key rather than on a name", "row_key": "Locid BOI -- Boise Air Trml/Gowen Field, Boise ID"}, "range": [1237685, 4950740], "editable": true, "depends_on": null, "bulk": true, "theme": "airport"}, {"id": "airport_traffic_change_pct", "label": "Change in airport traffic, 2023 to 2024", "value": 4.5, "unit": "%", "basis": "derived", "why": "Whether the airport is growing or shrinking, which says more about the direction of airport ride demand than the level does.", "math": "FAA CY2024 enplanements 2,475,370 against CY2023 2,369,164, both from the same file (https://www.faa.gov/airports/planning_capacity/passenger_allcargo_stats/passenger/arp-cy2024-commercial-service-enplanements.xlsx): (2,475,370 - 2,369,164) / 2,369,164 = 4.5%.", "source": null, "range": [-50, 50], "editable": true, "depends_on": null, "bulk": true, "theme": "airport"}, {"id": "airport_distance_mi", "label": "Airport distance from the city centre", "value": 2.4, "unit": "mi", "basis": "derived", "why": "STRAIGHT-LINE miles from the Census Bureau's internal point for the city to the FAA's published coordinate for the airport. A road trip is longer -- there is no routing engine here and we do not pretend there is -- so treat this as the floor.", "math": "Great-circle distance between the city's Census internal point (43.598050, -116.231596, from the Census Gazetteer place file) and the FAA's airport coordinate (43.564367, -116.222874, from https://services6.arcgis.com/ssFJjBXIUyZDrSYZ/arcgis/rest/services/US_Airport/FeatureServer/0) = 2.4 miles. Straight line, not road miles.", "source": null, "range": [1.2, 5.9], "editable": true, "depends_on": null, "bulk": true, "theme": "airport"}, {"id": "power_state_avg", "label": "Average price of electricity in this state", "value": 0.1437, "unit": "$/kWh", "basis": "sourced", "why": "The EIA's own average price to residential customers across Idaho in June 2026. This is the all-in price actually billed, averaged over every utility in the state -- not a tariff line.", "math": null, "source": {"name": "US Energy Information Administration, Electric Power Monthly, Table 5.6.A", "date": "June 2026", "url": "https://www.eia.gov/electricity/monthly/xls/table_5_06_a.xlsx", "tier": "primary", "verified_on": "2026-09-07", "verified_by": "read directly out of the federal bulk file at this URL, matched on a key rather than on a name", "row_key": "Idaho, June 2026"}, "range": [0.072, 0.287], "editable": true, "depends_on": null, "bulk": true, "theme": "power"}, {"id": "power_state_avg_commercial", "label": "Average business electricity price in this state", "value": 0.0992, "unit": "$/kWh", "basis": "sourced", "why": "The same EIA table, commercial sector. A depot charging cars overnight is billed on a commercial tariff, not a residential one, so this is usually the closer comparison.", "math": null, "source": {"name": "US Energy Information Administration, Electric Power Monthly, Table 5.6.A", "date": "June 2026", "url": "https://www.eia.gov/electricity/monthly/xls/table_5_06_a.xlsx", "tier": "primary", "verified_on": "2026-09-07", "verified_by": "read directly out of the federal bulk file at this URL, matched on a key rather than on a name", "row_key": "Idaho, June 2026"}, "range": [0.05, 0.198], "editable": true, "depends_on": null, "bulk": true, "theme": "power"}, {"id": "power_state_avg_ytd", "label": "Average electricity price this year so far", "value": 0.128, "unit": "$/kWh", "basis": "sourced", "why": "The same EIA series averaged across the year to date rather than a single month. A tool that models a whole season should lean on this one: a single month can be 5% off the year in either direction, and June 2026 YTD is a season, not a day.", "math": null, "source": {"name": "US Energy Information Administration, Electric Power Monthly, Table 5.6.B (year to date)", "date": "June 2026 YTD", "url": "https://www.eia.gov/electricity/monthly/xls/table_5_06_b.xlsx", "tier": "primary", "verified_on": "2026-09-07", "verified_by": "read directly out of the federal bulk file at this URL, matched on a key rather than on a name", "row_key": "Idaho, June 2026 YTD"}, "range": [0.064, 0.256], "editable": true, "depends_on": null, "bulk": true, "theme": "power"}, {"id": "power_utility", "label": "Electric utility", "value": "Idaho Power Co", "unit": "", "basis": "sourced", "why": "The electric utility whose EIA-861 service territory includes Ada County, ID -- the same county this city sits in. Matched on the county, not on the utility's trading name.", "math": null, "source": {"name": "US Energy Information Administration, Form EIA-861 2024, service territory and sales to ultimate customers", "date": "2024", "url": "https://www.eia.gov/electricity/data/eia861/zip/f8612024.zip", "tier": "primary", "verified_on": "2026-09-07", "verified_by": "read directly out of the federal bulk file at this URL, matched on a key rather than on a name", "row_key": "utility Idaho Power Co (#9191), Ada County County rows, ID"}, "range": null, "editable": true, "depends_on": null, "bulk": true, "theme": "power"}, {"id": "power_utility_rate", "label": "What this utility's residential customers pay on average", "value": 0.1176, "unit": "$/kWh", "basis": "derived", "why": "Revenue divided by sales for Idaho Power Co, out of the EIA's own annual file. Bundled service only: a delivery-only row charges a delivery fee against the full kilowatt-hours and folding it in produces a rate nobody is billed.", "math": "Form EIA-861 2024 for Idaho Power Co: residential revenue of $679,350.0 thousand against 5,777,153 MWh sold. (679,350.0 x 1,000 dollars) / (5,777,153 x 1,000 kWh) = $0.1176 a kWh. This is the utility's own average across its whole residential class -- it is not a tariff, and a customer on a particular rate schedule will pay more or less.", "source": null, "range": [0.059, 0.235], "editable": true, "depends_on": null, "bulk": true, "theme": "power"}, {"id": "power_utility_rate_commercial", "label": "What this utility's business customers pay on average", "value": 0.0915, "unit": "$/kWh", "basis": "derived", "why": "The same calculation for the commercial class, which is the one a leased bay with a charger would be billed on.", "math": "Form EIA-861 2024 for Idaho Power Co: commercial revenue of $382,101.4 thousand against 4,176,454 MWh sold, so $0.0915 a kWh.", "source": null, "range": [0.046, 0.183], "editable": true, "depends_on": null, "bulk": true, "theme": "power"}, {"id": "climate_station", "label": "Weather station these figures come from", "value": "BOISE AIR TERMINAL, ID US (USW00024131), 2.2 miles from the city centre", "unit": "", "basis": "sourced", "why": "The nearest NOAA station with a complete thirty-year record, chosen by distance from the Census Bureau's internal point for the city. 0 nearer station(s) were skipped because they measure rainfall but not temperature.", "math": null, "source": {"name": "NOAA National Centers for Environmental Information, 1991-2020 U.S. Climate Normals, station USW00024131", "date": "1991-2020", "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/USW00024131.csv", "tier": "primary", "verified_on": "2026-09-07", "verified_by": "read directly out of the federal bulk file at this URL, matched on a key rather than on a name", "row_key": "BOISE AIR TERMINAL, ID US (USW00024131), 2.2 mi from the city centre"}, "range": null, "editable": true, "depends_on": null, "bulk": true, "theme": "weather"}, {"id": "temp_annual_avg_f", "label": "Average temperature over the year", "value": 53.2, "unit": "F", "basis": "derived", "why": "The mean of the twelve monthly normals, 1991-2020.", "math": "NOAA 1991-2020 monthly normals for station USW00024131: the twelve MLY-TAVG-NORMAL values averaged = 53.2F.", "source": null, "range": [38.2, 68.2], "editable": true, "depends_on": null, "bulk": true, "theme": "weather"}, {"id": "temp_coldest_month_avg_f", "label": "Average temperature in the coldest month", "value": 32.1, "unit": "F", "basis": "sourced", "why": "December is the coldest month here on the 1991-2020 normals. Cold is what puts range into a battery pack and puts people into a car instead of on a bike.", "math": null, "source": {"name": "NOAA National Centers for Environmental Information, 1991-2020 U.S. Climate Normals, station USW00024131", "date": "1991-2020", "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/USW00024131.csv", "tier": "primary", "verified_on": "2026-09-07", "verified_by": "read directly out of the federal bulk file at this URL, matched on a key rather than on a name", "row_key": "BOISE AIR TERMINAL, ID US (USW00024131), 2.2 mi from the city centre"}, "range": [17.1, 47.1], "editable": true, "depends_on": null, "bulk": true, "theme": "weather"}, {"id": "temp_hottest_month_avg_f", "label": "Average temperature in the hottest month", "value": 77.3, "unit": "F", "basis": "sourced", "why": "July is the hottest month here on the 1991-2020 normals.", "math": null, "source": {"name": "NOAA National Centers for Environmental Information, 1991-2020 U.S. Climate Normals, station USW00024131", "date": "1991-2020", "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/USW00024131.csv", "tier": "primary", "verified_on": "2026-09-07", "verified_by": "read directly out of the federal bulk file at this URL, matched on a key rather than on a name", "row_key": "BOISE AIR TERMINAL, ID US (USW00024131), 2.2 mi from the city centre"}, "range": [62.3, 92.3], "editable": true, "depends_on": null, "bulk": true, "theme": "weather"}, {"id": "precip_year_in", "label": "Rain and melted snow in a year", "value": 11.51, "unit": "in/year", "basis": "derived", "why": "The twelve monthly precipitation normals added up. Wet weather is one of the few things that reliably lifts ride-hail demand.", "math": "NOAA 1991-2020 monthly normals for station USW00024131: the twelve MLY-PRCP-NORMAL values summed = 11.51 inches a year.", "source": null, "range": [5.8, 20.7], "editable": true, "depends_on": null, "bulk": true, "theme": "weather"}, {"id": "wet_days_year", "label": "Days a year with measurable rain", "value": 89.2, "unit": "days/year", "basis": "derived", "why": "Days with at least a hundredth of an inch. The COUNT of wet days moves demand more than the total depth does -- one downpour is one busy evening.", "math": "NOAA 1991-2020 normals for station USW00024131: the twelve MLY-PRCP-AVGNDS-GE001HI values summed = 89.2 days a year.", "source": null, "range": [0, 250], "editable": true, "depends_on": null, "bulk": true, "theme": "weather"}, {"id": "snow_year_in", "label": "Snow in a year", "value": 17.6, "unit": "in/year", "basis": "derived", "why": "From station USW00024131, 2.2 miles away -- NOT the temperature station above. Fewer stations report snowfall than report temperature, so the nearest one that does is used and named rather than the figure being written down as zero.", "math": "NOAA 1991-2020 normals for station BOISE AIR TERMINAL, ID US (USW00024131), 2.2 miles from the city centre: the twelve MLY-SNOW-NORMAL values summed = 17.6 inches a year.", "source": null, "range": [0, 35], "editable": true, "depends_on": null, "bulk": true, "theme": "weather"}, {"id": "snow_days_year", "label": "Days a year with measurable snow", "value": 18.2, "unit": "days/year", "basis": "sourced", "why": "Days with at least a tenth of an inch of snowfall, from the same station as the annual total.", "math": null, "source": {"name": "NOAA NCEI 1991-2020 U.S. Climate Normals, station USW00024131", "date": "1991-2020", "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/USW00024131.csv", "tier": "primary", "verified_on": "2026-09-07", "verified_by": "read directly out of the federal bulk file at this URL, matched on a key rather than on a name", "row_key": "BOISE AIR TERMINAL, ID US (USW00024131), 2.2 mi from the city centre"}, "range": [0, 200], "editable": true, "depends_on": null, "bulk": true, "theme": "weather"}, {"id": "adult_share", "label": "Share of residents who are adults", "value": 0.8151, "unit": "share", "basis": "derived", "why": "Residents 18 and over in Boise City, ID, from the Census Bureau's own age table. This is the first link in the rides-a-day chain, so it is worth having from the primary file rather than a re-publication of it.", "math": "ACS 2020-2024 5-year table B01001 for GEO_ID 1600000US1608830: total population 237,242, of whom 43,866 are under 18 (the eight under-18 age bands for males and females). (237,242 - 43,866) / 237,242 = 0.8151.", "source": null, "range": [0.55, 0.95], "editable": true, "depends_on": null, "bulk": true, "theme": "people"}, {"id": "median_household_income", "label": "What a household here earns in a year", "value": 83904, "unit": "$/year", "basis": "sourced", "why": "The median household income in Boise City, ID. It is the ceiling on what a ride can be priced at before people walk, and it is published for every city in the country.", "math": null, "source": {"name": "US Census Bureau, American Community Survey 2020-2024 5-year estimates, table B19013", "date": "2020-2024", "url": "https://www2.census.gov/programs-surveys/acs/summary_file/2024/table-based-SF/data/5YRData/acsdt5y2024-b19013.dat", "tier": "primary", "verified_on": "2026-09-07", "verified_by": "read directly out of the federal bulk file at this URL, matched on a key rather than on a name", "row_key": "GEO_ID 1600000US1608830, B19013_E001"}, "range": [41952, 167808], "editable": true, "depends_on": null, "bulk": true, "theme": "people"}, {"id": "no_vehicle_share", "label": "Share of households with no car", "value": 0.0501, "unit": "share", "basis": "derived", "why": "Households in Boise City, ID with no vehicle available. This is the strongest published local signal there is for who has to hire a ride, and it is the one number in this pack that most directly separates a town where everyone drives from one where a fleet has a market.", "math": "ACS 2020-2024 5-year table B25044 for GEO_ID 1600000US1608830: 101,178 occupied households, of which 1,370 owner-occupied (B25044_E003) and 3,700 renter-occupied (B25044_E010) have no vehicle available. (1,370 + 3,700) / 101,178 = 0.0501, or 5.0%.", "source": null, "range": [0, 0.6], "editable": true, "depends_on": null, "bulk": true, "theme": "people"}, {"id": "commute_drove_alone_share", "label": "Share who drive to work alone", "value": 0.6759, "unit": "share", "basis": "derived", "why": "How car-shaped the town is. A place where four in five drive alone is one where a ride is a substitute for a car nobody wants to give up.", "math": "ACS 2020-2024 5-year table B08301 for GEO_ID 1600000US1608830: 85,946 of 127,151 workers 16 and over (B08301_E003 / B08301_E001) = 0.6759, or 67.59%.", "source": null, "range": [0, 1], "editable": true, "depends_on": null, "bulk": true, "theme": "people"}, {"id": "commute_transit_share", "label": "Share who take public transport to work", "value": 0.0051, "unit": "share", "basis": "derived", "why": "The competition, and the floor under demand when it stops running at night.", "math": "ACS 2020-2024 5-year table B08301 for GEO_ID 1600000US1608830: 654 of 127,151 workers 16 and over (B08301_E010 / B08301_E001) = 0.0051, or 0.51%.", "source": null, "range": [0, 1], "editable": true, "depends_on": null, "bulk": true, "theme": "people"}, {"id": "commute_taxi_ridehail_share", "label": "Share who commute by taxi or ride-hail", "value": 0.0032, "unit": "share", "basis": "derived", "why": "The Census counts this line explicitly. It is a small number everywhere, and it is the only published local measurement of ride-hail use there is.", "math": "ACS 2020-2024 5-year table B08301 for GEO_ID 1600000US1608830: 403 of 127,151 workers 16 and over (B08301_E016 / B08301_E001) = 0.0032, or 0.32%.", "source": null, "range": [0, 1], "editable": true, "depends_on": null, "bulk": true, "theme": "people"}, {"id": "commute_wfh_share", "label": "Share who work from home", "value": 0.176, "unit": "share", "basis": "derived", "why": "Workers who make no commute trip at all, which takes the top off weekday morning demand.", "math": "ACS 2020-2024 5-year table B08301 for GEO_ID 1600000US1608830: 22,375 of 127,151 workers 16 and over (B08301_E021 / B08301_E001) = 0.1760, or 17.60%.", "source": null, "range": [0, 1], "editable": true, "depends_on": null, "bulk": true, "theme": "people"}, {"id": "mean_commute_minutes", "label": "How long the average commute takes", "value": 18.9, "unit": "minutes", "basis": "derived", "why": "The mean one-way journey to work in Boise City, ID. It is the best published proxy for how far a typical local trip runs, and the trip-length estimate should be argued against it.", "math": "ACS 2020-2024 5-year tables B08013 and B08303 for GEO_ID 1600000US1608830: 1,980,050 aggregate minutes of travel to work divided by 104,776 workers who did not work from home = 18.9 minutes.", "source": null, "range": [5, 60], "editable": true, "depends_on": null, "bulk": true, "theme": "people"}, {"id": "local_cleaner_wage", "label": "What a car cleaner is paid here", "value": 17.45, "unit": "$/hour", "basis": "sourced", "why": "The median hourly wage for Cleaners of Vehicles and Equipment (occupation 53-7061) in Boise City, ID, from the Bureau of Labor Statistics' own May 2024 estimates. This is the single biggest component of every cleaning price below, and it is published for every metropolitan AND non-metropolitan area in the country -- which is why a town of three thousand people gets a real figure here and a web search for a local detailer gets nothing.", "math": "BLS Occupational Employment and Wage Statistics, May 2024, occupation 53-7061, area area 'Boise City, ID', 1,120 people employed in it: median hourly wage $17.45. The national median for the same occupation is $16.96, so this town's labour index is 17.45 / 16.96 = 1.029.", "source": {"name": "US Bureau of Labor Statistics, Occupational Employment and Wage Statistics, May 2024", "date": "2024-05", "url": "https://www.bls.gov/oes/special-requests/oesm24ma.zip", "tier": "primary", "verified_on": "2026-09-09", "verified_by": "read directly out of the federal bulk file at this URL, matched on a key rather than on a name", "row_key": "OCC_CODE 53-7061, AREA 14260 -- Boise City, ID"}, "range": [10.47, 31.41], "editable": true, "depends_on": null, "bulk": true, "derived_from": [{"name": "US Bureau of Labor Statistics, Occupational Employment and Wage Statistics, May 2024", "date": "2024-05", "url": "https://www.bls.gov/oes/special-requests/oesm24ma.zip", "read_on": "2026-09-09", "value": 17.45, "unit": "$/hour", "note": "occupation 53-7061, Boise City, ID"}], "theme": "costs"}, {"id": "labour_note", "label": "What hand work costs here", "value": "Cleaners of Vehicles and Equipment in Boise City, ID are paid a median of $17.45 an hour (BLS May 2024, occupation 53-7061, 1,120 employed). The national median for the same job is $16.96, so hand work here costs 103% of what it costs nationally.", "unit": "", "basis": "derived", "why": "The wage that scales every cleaning price below. It is published for every metropolitan and non-metropolitan area in the country, which is why a town of three thousand people gets a real figure where a web search for a local detailer's rate gets nothing.", "math": "Read out of the BLS Occupational Employment and Wage Statistics May 2024 bulk files, occupation 53-7061, at the area level. No search was made for it.", "source": null, "range": null, "editable": true, "depends_on": ["local_cleaner_wage"], "bulk": true, "theme": "costs"}, {"id": "local_labour_index", "label": "How this town's labour costs compare with the country", "value": 1.029, "unit": "x national", "basis": "derived", "why": "Everything a person does by hand costs roughly what a person costs here. This one ratio scales every cleaning price in the pack, and it is measured rather than guessed.", "math": "BLS May 2024, occupation 53-7061 (Cleaners of Vehicles and Equipment): the area figure for 'Boise City, ID' is $17.45 an hour against $16.96 nationally, so 17.45 / 16.96 = 1.029. This is a genuine local labour market estimate.", "source": null, "range": [0.5, 2.0], "editable": true, "depends_on": null, "bulk": true, "theme": "costs"}, {"id": "local_rent_index", "label": "How this town's property costs compare with the country", "value": 1.023, "unit": "x national", "basis": "derived", "why": "Rent is the other half of a local cost. There is no published rent for small commercial bays anywhere in the country, so the pack uses the one property price that IS published for 32,330 places -- what people pay to rent a home here against what they pay nationally. It is housing, not industrial space, and it is used as a proxy on purpose rather than by accident.", "math": "ACS 2020-2024 5-year table B25064, median gross rent: $1,446 a month in Boise City, ID (place level) against $1,413 for the United States from the same table (GEO_ID 0100000US), so 1446 / 1413 = 1.023.", "source": null, "range": [0.2, 3.0], "editable": true, "depends_on": null, "bulk": true, "theme": "costs"}, {"id": "clean_wipe_cost", "label": "A quick interior wipe between shifts", "value": 36, "unit": "$", "basis": "derived", "why": "This is a derivation, not a local quote: a national published figure scaled by a published local index. Nobody publishes a quick contracted interior wipe-down in a town this size, because it is a manual service: keeping a price list current is work, and the price is whatever the owner says on the day. A real quote from a real local supplier beats this number, and it is exactly what you should type over it. The national half of it is what Uber and Lyft themselves pay a driver for a minor mess -- published, national, and kept current because money moves on it every day.", "math": "NATIONAL BASELINE $35.00, then scaled to this town.\n  Lyft publishes a flat $25 for minor 'small food/beverage spills, scuff marks, mud, dirt, or animal fur in the car'.\n  Uber publishes $30 to $60 for a minor mess: 'spills or messes that require extensive cleaning' -- centre $45.00.\n  Average of the two operators' central values: ($25 + $45.00) / 2 = $35.00.\n  Both platforms pay the fee straight to the driver, and Uber requires an itemised receipt from a cleaning service for a professional claim, so these tiers are the platforms' own published view of what such a clean costs.\n  LOCAL STEP: $35.00 x labour index 1.029 = $36.\n  DIRECTION OF ERROR, stated rather than hidden: a platform fee prices a MESS, not a booked clean, so it brackets the right number rather than being it. Neither page carries a publication date; both were read on 2026-09-09.", "source": null, "range": [14, 90], "editable": true, "depends_on": ["local_labour_index"], "bulk": true, "derived_from": [{"name": "Lyft, damage fee policy", "date": null, "url": "https://help.lyft.com/hc/en-us/all/articles/115012927367-I-was-charged-a-damage-fee", "read_on": "2026-09-09", "value": 25.0, "unit": "$", "note": "minor damage"}, {"name": "Uber, driver cleaning fee policy", "date": null, "url": "https://help.uber.com/en/riders/article/uber-driver-cleaning-fee-policy?nodeId=2dba264f-edb9-4ae7-8186-68dd399874f0", "read_on": "2026-09-09", "value": [30.0, 60.0], "unit": "$", "note": "minor mess"}], "theme": "costs", "game_id": "wipe_cost_contract"}, {"id": "clean_deep_cost", "label": "A full interior clean", "value": 75, "unit": "$", "basis": "derived", "why": "This is a derivation, not a local quote: a national published figure scaled by a published local index. Nobody publishes a full interior detail in a town this size, because it is a manual service: keeping a price list current is work, and the price is whatever the owner says on the day. A real quote from a real local supplier beats this number, and it is exactly what you should type over it. The national half of it is what Uber and Lyft themselves pay a driver for a moderate mess -- published, national, and kept current because money moves on it every day.", "math": "NATIONAL BASELINE $72.50, then scaled to this town.\n  Lyft publishes a flat $75 for moderate 'biowaste outside of the car'.\n  Uber publishes $55 to $85 for a moderate mess: 'larger contained spills or biological messes that require focused cleaning, time, and specialized supplies' -- centre $70.00.\n  Average of the two operators' central values: ($75 + $70.00) / 2 = $72.50.\n  Both platforms pay the fee straight to the driver, and Uber requires an itemised receipt from a cleaning service for a professional claim, so these tiers are the platforms' own published view of what such a clean costs.\n  LOCAL STEP: $72.50 x labour index 1.029 = $75.\n  DIRECTION OF ERROR, stated rather than hidden: a platform fee prices a MESS, not a booked clean, so it brackets the right number rather than being it. Neither page carries a publication date; both were read on 2026-09-09.", "source": null, "range": [30, 186], "editable": true, "depends_on": ["local_labour_index"], "bulk": true, "derived_from": [{"name": "Lyft, damage fee policy", "date": null, "url": "https://help.lyft.com/hc/en-us/all/articles/115012927367-I-was-charged-a-damage-fee", "read_on": "2026-09-09", "value": 75.0, "unit": "$", "note": "moderate damage"}, {"name": "Uber, driver cleaning fee policy", "date": null, "url": "https://help.uber.com/en/riders/article/uber-driver-cleaning-fee-policy?nodeId=2dba264f-edb9-4ae7-8186-68dd399874f0", "read_on": "2026-09-09", "value": [55.0, 85.0], "unit": "$", "note": "moderate mess"}], "theme": "costs", "game_id": "deep_clean_cost"}, {"id": "clean_biohazard_cost", "label": "A biohazard clean-out", "value": 156, "unit": "$", "basis": "derived", "why": "This is a derivation, not a local quote: a national published figure scaled by a published local index. Nobody publishes an emergency biohazard clean-out in a town this size, because it is a manual service: keeping a price list current is work, and the price is whatever the owner says on the day. A real quote from a real local supplier beats this number, and it is exactly what you should type over it. The national half of it is what Uber and Lyft themselves pay a driver for a severe mess -- published, national, and kept current because money moves on it every day.", "math": "NATIONAL BASELINE $151.25, then scaled to this town.\n  Lyft publishes a flat $150 for severe 'large biowaste spills that would require specialized cleaning'.\n  Uber publishes $80 to $225 for a severe mess: 'substantial messes involving large amounts of bodily fluids or difficult-to-clean matter across multiple areas' -- centre $152.50.\n  Average of the two operators' central values: ($150 + $152.50) / 2 = $151.25.\n  Both platforms pay the fee straight to the driver, and Uber requires an itemised receipt from a cleaning service for a professional claim, so these tiers are the platforms' own published view of what such a clean costs.\n  LOCAL STEP: $151.25 x labour index 1.029 = $156.\n  DIRECTION OF ERROR, stated rather than hidden: a platform fee prices a MESS, not a booked clean, so it brackets the right number rather than being it. Neither page carries a publication date; both were read on 2026-09-09.", "source": null, "range": [62, 389], "editable": true, "depends_on": ["local_labour_index"], "bulk": true, "derived_from": [{"name": "Lyft, damage fee policy", "date": null, "url": "https://help.lyft.com/hc/en-us/all/articles/115012927367-I-was-charged-a-damage-fee", "read_on": "2026-09-09", "value": 150.0, "unit": "$", "note": "severe damage"}, {"name": "Uber, driver cleaning fee policy", "date": null, "url": "https://help.uber.com/en/riders/article/uber-driver-cleaning-fee-policy?nodeId=2dba264f-edb9-4ae7-8186-68dd399874f0", "read_on": "2026-09-09", "value": [80.0, 225.0], "unit": "$", "note": "severe mess"}], "theme": "costs", "game_id": "bio_contractor_cost"}, {"id": "depot_rent_month", "label": "A small commercial bay, per month", "value": 1305, "unit": "$/month", "basis": "derived", "why": "This is a derivation, not a local quote: a national published figure scaled by a published local index. Nobody publishes what a 1,500 square foot bay lets for in a town this size, because small commercial bays let privately, one handshake at a time, and no index tracks them. A real quote from a real local supplier beats this number, and it is exactly what you should type over it.", "math": "NATIONAL BASELINE: Cushman & Wakefield, MarketBeat United States Industrial Q1 2026 reports an overall US industrial asking rent of $10.20 a square foot a year, NNN. 1,500 square feet x $10.20 = $15,300 a year = $1,275.00 a month nationally.\n  LOCAL STEP: $1,275.00 x rent index 1.023 = $1,305 a month.\n  TWO WAYS THIS IS LOW, said rather than hidden: the national figure is the overall industrial average, dominated by large logistics buildings, and a 1,500 square foot service bay asks MORE per square foot than a 500,000 square foot warehouse -- no premium is applied because no published figure supports one. And NNN means taxes, insurance and common-area costs are on top of this. Treat it as a floor. Read on 2026-09-09.", "source": null, "range": [522, 3914], "editable": true, "depends_on": ["local_rent_index"], "bulk": true, "derived_from": [{"name": "Cushman & Wakefield, MarketBeat United States Industrial Q1 2026", "date": "2026-Q1", "url": "https://assets.cushmanwakefield.com/-/media/cw/marketbeat-pdfs/2026/q1/us-reports/national/q12026usindustrialmarketbeat.pdf", "read_on": "2026-09-09", "value": 10.2, "unit": "$/sq ft/year", "note": "overall US industrial asking rent, NNN"}], "theme": "costs", "game_id": "depot_bay_rent"}, {"id": "insurance_base_month", "label": "Insurance on the first car", "value": 231, "unit": "$/month", "basis": "derived", "why": "This is a derivation, not a local quote: a national published figure scaled by a published local index. Nobody publishes a price for commercial for-hire cover on a single car in a town this size, because a premium is quoted to a particular operator on particular facts, and no insurer publishes a rate table for for-hire cars. A real quote from a real local supplier beats this number, and it is exactly what you should type over it. What stands in for it is general commercial auto adjusted upward for for-hire use, and that adjustment is our judgement, not a published figure.", "math": "NATIONAL BASELINE: Insureon, Commercial auto insurance cost (updated 2026-03-04) reports a median of $245 a month for commercial auto across 100,000 small-business policyholders, calculated as 'the median cost of policies sold by leading insurance carriers to Insureon's small business customers'.\n  FOR-HIRE UPLIFT x1.40 -- THIS IS OUR JUDGEMENT, NOT A PUBLISHED FIGURE. Progressive publish their own 2025 new-policy premium per power unit by class: business auto $276 a month against for-hire specialty truck $734 and for-hire transport truck $926, so their for-hire classes run 2.7 to 3.4 times general business auto. Those classes are TRUCKS; a for-hire passenger car sits between a tradesman's van and a truck, and 1.40 is a conservative reading of that gap.\n  STATE STEP: NAIC 2023 average auto expenditure is $863.96 in ID against $1,281.60 countrywide, so the state index is 863.96 / 1281.60 = 0.674. It is PERSONAL auto -- nobody publishes commercial for-hire premiums by state -- but what it measures is the part that genuinely varies between states: the loss environment, the tort and rate-filing regime, the uninsured rate and the minimum limits.\n  $245 x 1.40 x 0.674 = $231 a month. This is the number in the pack most worth replacing with a real quote. Read on 2026-09-09.", "source": null, "range": [92, 693], "editable": true, "depends_on": null, "bulk": true, "derived_from": [{"name": "Insureon, Commercial auto insurance cost", "date": "2026-03-04", "url": "https://www.insureon.com/small-business-insurance/commercial-auto/cost", "read_on": "2026-09-09", "value": 245.0, "unit": "$/month", "note": "median commercial auto, small business"}, {"name": "Progressive Commercial, average commercial auto cost by business type", "date": "2025", "url": "https://www.progressivecommercial.com/commercial-auto-insurance/commercial-auto-cost/", "read_on": "2026-09-09", "note": "evidence for the direction and rough size of a for-hire uplift"}, {"name": "National Association of Insurance Commissioners, 2023 Auto Insurance Database Average Premium Supplement, Table 4", "date": "2025-06", "url": "https://content.naic.org/sites/default/files/aut-db_1.pdf", "read_on": "2026-09-09", "value": 863.96, "unit": "$/year", "note": "ID average expenditure per insured vehicle, personal auto"}], "theme": "costs", "game_id": "insurance_base"}, {"id": "insurance_per_car_month", "label": "Insurance on each car after the first", "value": 196, "unit": "$/month", "basis": "derived", "why": "What each additional vehicle adds to the premium. Lower than the first car because a fleet policy spreads the administrative part of a premium across the vehicles while the risk part scales with them -- which is part of why growing is the way out of the trap.", "math": "$231 (the first car, above) x 0.85 = $196. NOBODY PUBLISHES THAT SPLIT: the 0.85 is ours, and it is the reason a second car is cheaper to run than the first.", "source": null, "range": [78, 588], "editable": true, "depends_on": ["insurance_base_month"], "bulk": true, "theme": "costs", "game_id": "insurance_per_car"}, {"id": "power_offpeak", "theme": "power", "label": "Overnight electricity", "value": 0.0962, "unit": "$/kWh", "basis": "derived", "why": "Idaho Power Schedule 5 (optional residential Time-of-Use Plan, effective 2026-01-01) prices every midnight–06:00 hour as Off-Peak in both seasons; this is that Off-Peak energy charge, month-weighted, plus PCA, residential FCA, kWh tax, BPA credit, 2.35% Energy Efficiency Rider, and Boise’s 1.5% franchise fee. It is a home tariff: a charging business cannot take Schedule 5.", "math": "Schedule 5 Off-Peak energy is 7.4797 cents/kWh in summer (Jun–Sep, 4 months) and 9.2231 cents/kWh in non-summer (Oct–May, 8 months). Midnight–06:00 is Off-Peak on both calendars (summer Off-Peak is 11 p.m.–3 p.m.; non-summer Off-Peak includes 8 p.m.–6 a.m.). Month-weighted energy = (4*7.4797 + 8*9.2231)/12 = 8.6420 cents. Add Schedule 55 PCA 0.5392 cents + Schedule 54 residential FCA 0.0330 cents + Schedule 97 kWh tax 0.0923 cents − Schedule 98 BPA credit 0.0305 cents = +0.6340 cents. Add Schedule 91 EE rider 2.35% of energy: 8.6420*0.0235 = 0.2031 cents. Subtotal 9.4791 cents. Boise Schedule 95 franchise 1.5%: 9.4791*1.015 = 9.621 cents = $0.0962/kWh. Excludes the $15/month service charge (about 1 cent/kWh at 1,500 kWh), so a fully loaded bill is a little higher. Sundays are also Off-Peak overnight, so there is no weekday penalty on this window.", "source": null, "range": [0.06, 0.14], "editable": true, "depends_on": null, "game_id": "power_offpeak"}, {"id": "power_mid", "theme": "power", "label": "Daytime electricity", "value": 0.1084, "unit": "$/kWh", "basis": "derived", "why": "Not a named Idaho Power period. Schedule 5 Mid-Peak exists only in summer, 3–7 p.m.; 06:00–16:00 is mostly Off-Peak in summer and a mix of morning On-Peak plus Off-Peak in non-summer. This figure maps the tariff onto that clock window, then adds the same riders as overnight.", "math": "Summer (4 months), weekday 06:00–16:00: 9 hours Off-Peak at 7.4797 cents + 1 hour Mid-Peak (3–4 p.m.) at 14.9594 cents → (9*7.4797 + 14.9594)/10 = 8.2277 cents energy. Non-summer (8 months): 3 hours On-Peak (6–9 a.m.) at 13.8347 cents + 7 hours Off-Peak at 9.2231 cents → (3*13.8347 + 7*9.2231)/10 = 10.6066 cents energy. Month-weighted energy = (4*8.2277 + 8*10.6066)/12 = 10.8136 cents. Same adders as overnight: +0.6340 cents PCA/FCA/tax/credit + EE 10.8136*0.0235 = 0.2541 cents → 11.7017 cents, then *1.015 Boise franchise = 11.877 cents = $0.1188/kWh. Recheck with the same all-in-then-weight path used for overnight: summer all-in = (8.2277*1.0235 + 0.6340)*1.015 = 9.1908 cents; non-summer all-in = (10.6066*1.0235 + 0.6340)*1.015 = 11.6622 cents; (4*9.1908 + 8*11.6622)/12 = 10.8384 cents = $0.1084/kWh. Use $0.1084 (the all-in-then-weight path, consistent with overnight). Conservative on weekdays — Sundays and holidays are all Off-Peak, which would pull this down. Idaho Power’s expensive hours are evening, not midday, so this window is only a little above overnight.", "source": null, "range": [0.07, 0.18], "editable": true, "depends_on": null, "game_id": "power_mid"}, {"id": "power_onpeak", "theme": "power", "label": "Evening electricity", "value": 0.1568, "unit": "$/kWh", "basis": "derived", "why": "Clock window 16:00–midnight is not Idaho Power’s On-Peak. Summer On-Peak is only 7–11 p.m. (Mid-Peak 3–7 p.m.); non-summer On-Peak is 5–8 p.m. This blends those tariff prices over 16:00–24:00, then adds riders. Summer evenings are much dearer than the year-blend.", "math": "Summer weekday 16:00–24:00: 3 hours Mid-Peak at 14.9594 cents (4–7 p.m.) + 4 hours On-Peak at 29.9185 cents (7–11 p.m.) + 1 hour Off-Peak at 7.4797 cents (11 p.m.–midnight) → (3*14.9594 + 4*29.9185 + 7.4797)/8 = 21.5040 cents energy. All-in = (21.5040*1.0235 + 0.6340)*1.015 = 22.983 cents ($0.2298). Non-summer: 1 hour Off-Peak (4–5 p.m.) + 3 hours On-Peak at 13.8347 cents (5–8 p.m.) + 4 hours Off-Peak (8 p.m.–midnight) → (5*9.2231 + 3*13.8347)/8 = 10.9525 cents energy. All-in = (10.9525*1.0235 + 0.6340)*1.015 = 12.021 cents ($0.1202). Month-weighted = (4*22.983 + 8*12.021)/12 = 15.675 cents = $0.1568/kWh. Direction: year-blend mutes the summer spike — if the operator only runs Jun–Sep evenings, use ~$0.23 not $0.16. Conservative vs a mix that includes Sundays (all Off-Peak). Same rider stack as overnight (PCA 0.5392, FCA 0.0330, tax 0.0923, credit −0.0305, EE 2.35%, Boise 1.5%).", "source": null, "range": [0.1, 0.35], "editable": true, "depends_on": null, "game_id": "power_onpeak"}, {"id": "power_dcfc", "theme": "power", "label": "Public DC fast charging", "value": 0.6, "unit": "$/kWh", "basis": "sourced", "why": "Walk-up price at the Electrify America site at Walmart Supercenter, 8300 W Overland Rd, Boise — open to any CCS EV, any hour. Third-party scrape of Electrify America’s posted price, not an EA corporate tariff page. Tesla Superchargers also operate in Boise and often post a lower member rate; this record is the open-network public DCFC. This is a secondary source -- it republishes a figure it did not itself produce.", "math": null, "source": {"name": "DCFC Tracker (Electrify America, Walmart 2508 Boise)", "date": "2026-09", "url": "https://dcfctracker.com/stations/121715", "tier": "secondary", "verified_on": "2026-09-14", "verified_by": "the exact quoted text is on the page"}, "range": [0.25, 0.9], "editable": true, "depends_on": null, "game_id": "supercharger_kwh", "federal_check": {"verdict": "confirmed", "subject": "chargers", "claim": "Electrify America fast charging here", "federal": "the snapshot lists Walmart 2508 (Boise, ID) (Boise, ID) (Electrify America, 4 fast ports, 2.6 mi)", "checked_on": "2026-09-18", "findings": 2}}, {"id": "power_tou_note", "theme": "power", "label": "Time-of-use tariff available", "value": "Yes — optional Schedule 5 Residential Service Time-of-Use Plan for homes. Schedule 7 Small General Service (≤2,000 kWh/month) has no TOU. Schedule 9 Large General Service offers optional TOU if usage exceeds 2,000 kWh/month.", "unit": "", "basis": "sourced", "why": "Idaho Power does publish a TOU a small residential operator can take (Schedule 5), with a real overnight Off-Peak window every day. A business on Small General Service cannot; it stays on a flat/tiered Schedule 7 until it qualifies for Schedule 9. This is a secondary source -- it republishes a figure it did not itself produce.", "math": null, "source": {"name": "Idaho Power Schedule 5 Residential Service Time-of-Use Plan (Optional)", "date": "2026-01", "url": "https://docs.idahopower.com/pdfs/aboutus/ratesregulatory/tariffs/schedule-5.pdf", "tier": "secondary", "verified_on": "2026-09-14", "verified_by": "the page carries 12 of the 14 distinctive words in this note"}, "range": [0, 1], "editable": true, "depends_on": null}, {"id": "ridehail_present", "theme": "demand", "label": "Ride-hail and taxi services on the ground", "value": "Uber 24/7 citywide plus Lyft, including BOI airport; leftover independent taxis. Dual-app TNC market, not a deep taxi fleet.", "unit": "", "basis": "estimated", "why": "Uber's own Boise city page states on-demand rides anytime 24/7, and the City of Boise airport ground-transportation page names Lyft and Uber as the designated airport rideshare operators, with taxis still on a separate curb. Unconfirmed -- treated as our estimate.", "math": "Verification failed on https://www.uber.com/global/en/r/cities/boise-id-us/: the cited page loads but does not carry the figure (the page carries only 3 of the 14 distinctive words in this note). We checked the citation the research pass gave us and could not confirm it, so this number is presented as our own estimate rather than as a published figure.", "source": null, "range": ["Uber+Lyft thin", "Uber+Lyft+taxis dense"], "editable": true, "depends_on": null}, {"id": "transit_note", "theme": "demand", "label": "Public bus evenings and weekends", "value": "Valley Regional Transit runs ~19 fixed routes weekdays about 5:45am–9:45pm and Saturdays; no Sunday service and no regular buses after about 10pm.", "unit": "", "basis": "estimated", "why": "VRT's own airport-service page schedules the three airport routes Monday–Saturday only, with last trips around 8:40pm–10:00pm, and a 2024 Extra Hours pilot was needed to test past-midnight Friday/Saturday service because VRT does not currently offer it. Unconfirmed -- treated as our estimate.", "math": "Verification failed on https://www.valleyregionaltransit.org/how-to-ride/boise-airport-service/: the cited page loads but does not carry the figure (the page carries only 7 of the 14 distinctive words in this note). We checked the citation the research pass gave us and could not confirm it, so this number is presented as our own estimate rather than as a published figure.", "source": null, "range": ["no evening/weekend bus", "24-hour frequent transit"], "editable": true, "depends_on": null}, {"id": "trip_mi_avg", "theme": "demand", "label": "Average paid trip length", "value": 5.2, "unit": "miles", "basis": "estimated", "why": "Nobody publishes Boise ride-hail trip lengths; 5.2 miles is reasoned from the city's own 86.101 sq mi land area, the 4-mile airport-to-downtown hop Uber lists, and the short 18.9-minute mean commute.", "math": "Land area 86.101 sq mi gives an equivalent-circle radius of sqrt(86.101/pi) = 5.24 miles. The mean straight-line distance between two random points in a disk is 128R/(45pi) = 4.74 miles; a ~1.2 network factor would be ~5.7 miles if trips were random citywide. They are not: Uber's Boise page lists BOI at 4 miles, and the ACS mean one-way commute is only 18.9 minutes (about 5.7–6.3 miles at 18–20 mph). Ride-hail mixes those airport/commute legs with shorter downtown hops, and 0.176 of workers here work from home so long commute substitutes are weaker than a national TNC average. Blend ~4.7-mile geographic mean with the 4-mile airport hop and the ~6-mile commute implied by 18.9 minutes → 5.2 miles. Likely conservative on the high side for pure downtown bar trips and a little low if many hailers go out to Meridian/Nampa (Uber lists those 10–19 mile routes as popular priced examples).", "source": null, "range": [2.5, 12], "editable": true, "depends_on": null}, {"id": "trip_mi_short_share", "theme": "demand", "label": "Share of trips under 3 miles", "value": 0.42, "unit": "share", "basis": "estimated", "why": "In a city whose equivalent diameter is only about 10.5 miles, a large slice of paid trips are downtown, campus, and bar hops under 3 miles, but airport runs (~4 miles) and walk/scooter competition pull the short share off 50%.", "math": "City equivalent diameter is 2*5.24 = 10.5 miles, so most intra-Boise trips can be short. BTS-style all-mode US trip tables put more than half of daily trips under 3 miles, but those include walking; ride-hail loses the sub-mile walk/scooter trips (Boise has a micromobility program) and gains 4-mile airport trips. With trip_mi_avg 5.2, a split of 42% at ~1.5 miles, 48% at ~6 miles, and 10% at ~15 miles reconstitutes the 5.2-mile mean (0.42*1.5 + 0.48*6 + 0.10*15 = 5.01). Stepped down from a naive 50%+ all-mode short share ON the 4-mile airport hop and ON only 0.0501 of households having no vehicle (most short trips can be driven in a household car).", "source": null, "range": [0.2, 0.65], "editable": true, "depends_on": ["trip_mi_avg"]}, {"id": "trip_mi_long_share", "theme": "demand", "label": "Share of trips over 10 miles", "value": 0.1, "unit": "share", "basis": "estimated", "why": "Boise City itself is only about 10.5 miles across, so trips over 10 miles are mostly hailers going out to Meridian, Nampa or Caldwell rather than intra-city rides.", "math": "Equivalent diameter 10.5 miles means a random intra-city trip over 10 miles is rare. Uber's Boise page does list BOI–Meridian at 10 miles, BOI–Nampa at 17–19 miles, and BOI–Caldwell at 26 miles as priced routes, so a non-zero long tail exists, but those are suburban/airport examples, not the typical downtown ride. 10% over 10 miles is the residual that keeps the 5.2-mile average consistent with a 42% short share. Stepped down from a sprawling-metro TNC long tail ON this city's 86.101 sq mi land area. Likely conservative — ignores some Treasure Valley cross-town commute hails.", "source": null, "range": [0.03, 0.25], "editable": true, "depends_on": ["trip_mi_avg"]}, {"id": "night_share", "theme": "demand", "label": "Share of demand between 9pm and 3am", "value": 0.22, "unit": "share", "basis": "estimated", "why": "A six-hour late window is about 25% of the clock; Boise over-indexes a bit because buses die around 10pm and there is no Sunday transit, but it is still a car city, so this is not a Vegas-style night market.", "math": "MAPC's 2017 in-vehicle survey of Boston ride-hail passengers found the greatest frequency between 7pm and midnight and recorded 13% of surveyed trips between midnight and 3am (an undercount, they note, because late-night riders often will not complete a survey). Uniform clock share for 21:00–03:00 is 6/24 = 0.25. Starting from that Boston night pattern, step DOWN ON Boise's 0.0501 no-vehicle household share and $83,904 median income (most residents can self-drive home) and ON the short 18.9-minute commute (this is not a transit-captive nightlife city). Step UP because VRT has no regular service after about 10pm, no Sunday buses, and VRT's CEO said late-night and weekend service are requests they often get — they only tested past-midnight buses as a 2024 holiday Extra Hours pilot. Net 0.22. Direction: likely a little low on Friday/Saturday around Treefort and BSU nights (Uber says Treefort Music Hall is the most-requested Boise dropoff) and a little high as a seven-day average.", "source": null, "range": [0.08, 0.4], "editable": true, "depends_on": null}, {"id": "visitors_year", "theme": "demand", "label": "Annual visitors", "value": 2400000, "unit": "visitors/year", "basis": "sourced", "why": "Visit Boise's own tourism-matters page reports calendar year 2025 airport passenger stats: 5,229,399 passengers through BOI, of whom 47.2% lived farther than 150 miles, which they state as 2.4 million visitors. That is airport visitors in 2025, not a full city visitor census (drive-in visitors are extra; unique people are fewer because inbound and outbound legs both count). This is a secondary source -- it republishes a figure it did not itself produce.", "math": null, "source": {"name": "Visit Boise", "date": "2026-02", "url": "https://visitboise.com/tourism-matters/", "tier": "secondary", "verified_on": "2026-09-14", "verified_by": "the exact quoted text is on the page"}, "range": [800000, 5000000], "editable": true, "depends_on": null, "federal_check": {"verdict": "disputed", "subject": "airports", "claim": "5,229,399 passengers or enplanements", "federal": "the note gives 5,229,399; the FAA file gives 2,475,370 CY2024 enplanements (2,369,164 in CY2023) for BOI", "checked_on": "2026-09-18", "findings": 1}}, {"id": "visitor_party_size", "theme": "demand", "label": "Average visiting party size", "value": 3.1, "unit": "people", "basis": "sourced", "why": "Southwest Idaho Travel Association publishes 3.1 people as the average overnight traveling group for SW Idaho (the region that contains Boise), from the Compass–Longwoods 2023 visitor profile. It is regional overnight parties, not a Boise-City-only hotel figure. This is a secondary source -- it republishes a figure it did not itself produce.", "math": null, "source": {"name": "Southwest Idaho Travel Association", "date": "2024-09", "url": "https://www.visitsouthwestidaho.org/tourism-impact/", "tier": "secondary", "verified_on": "2026-09-14", "verified_by": "the exact quoted text is on the page"}, "range": [1.0, 5.0], "editable": true, "depends_on": null}, {"id": "visitor_nights_avg", "theme": "demand", "label": "Average nights per visiting party", "value": 3.1, "unit": "nights", "basis": "sourced", "why": "The same SWITA / Compass–Longwoods 2023 visitor-profile figure gives 3.1 nights as the average stay in Southwest Idaho. Boise hotel stays are often shorter than regional leisure trips that include McCall or the mountains, so this is a regional overnight average, not a downtown-hotel ALOS. This is a secondary source -- it republishes a figure it did not itself produce.", "math": null, "source": {"name": "Southwest Idaho Travel Association", "date": "2024-09", "url": "https://www.visitsouthwestidaho.org/tourism-impact/", "tier": "secondary", "verified_on": "2026-09-14", "verified_by": "the exact quoted text is on the page"}, "range": [1.0, 7.0], "editable": true, "depends_on": null}, {"id": "rides_reported", "theme": "demand", "label": "Published paid-ride count", "value": 0, "unit": "trips/year", "basis": "estimated", "why": "No public agency publishes a Boise or Ada County taxi/TNC trip total. Idaho state law preempts local TNC trip reporting, the airport publishes TNC fee revenue rather than trip counts, and the MPO survey predates scaled TNC service.", "math": "Checked in the required order. (1) State taxicab/TNC authority: Idaho has no Nevada-style taxicab authority posting monthly trip PDFs. The Transportation Network Company Services Act (Idaho Code 49-3715) says TNCs are governed exclusively by that chapter and no municipality may license or tax TNC service; the statute requires TNCs to keep trip records two years but does not require public trip reports, and ITD/PUC searches returned the statute, not counts. (2) City/county TNC or for-hire open data: Boise still licenses taxicabs under city code Title 3 Chapter 13, but TNC preemption means there is no city TNC trip portal; the city micromobility dashboard covers scooters/e-bikes, not Uber/Lyft. (3) Airport ground transportation: iflyboise.com describes Lyft and Uber pickup rules but does not publish pickup counts. The 6 Aug 2025 Airport Commission packet reports Rideshare (TNC) Revenue of $960,448 for FY2025 year-to-date through June versus $477,382 a year earlier — revenue, not trips. A 2020 KIVI story said Uber and Lyft would be charged $1.50 per ride; converting revenue at that old fee would be unsafe because the fee may have changed (revenue roughly doubled year-over-year). (4) MPO travel survey: the COMPASS 2012 Ada/Canyon household travel survey reports mode shares (0.2% of trips on public transportation) and no TNC trip total; it predates local Uber/Lyft scale. (5) Local reporting: KIVI and Idaho Press cover the 2020 airport Uber/Lyft curb agreement and the $1.50 fee, not a trip census. Value 0 means no usable published trip count, not zero rides.", "source": null, "range": [0, 5000000], "editable": true, "depends_on": null}, {"id": "geography_type", "theme": "geography", "label": "City shape", "value": "multi-district metro", "unit": "", "basis": "estimated", "why": "Boise City is the 238k-person core of an ~846k Treasure Valley metro, with Wikipedia-named districts (Downtown, BSU/Southeast, North End, Bench, West Boise, Southwest/Airport, East End) stretched along the river and foothills, Garden City as a doughnut-hole, and Meridian immediately west — a fleet has to choose among those districts, not cover the city with one car.", "math": "Classification is from layout, not a published label. Wikipedia (retrieved 2026-09) lists distinct neighborhoods with different generators (capitol/downtown, 37,000-seat stadium and ExtraMile Arena at BSU, Micron in southeast, airport in southwest, hospitals on opposite sides) and states the metro spans five counties with ~846,000 people. Equivalent-circle radius is only ~5.2 mi, but the city is elongated west toward Meridian and cut by foothills to the north, so one depot cannot serve downtown, the airport, west Boise, and BSU equally. Likely conservative as a metro call: adjacent Meridian/Nampa/Eagle are separate cities a regional fleet would also serve.", "source": null, "range": [0, 1], "editable": true, "depends_on": null}, {"id": "city_radius_mi", "theme": "geography", "label": "City radius", "value": 5.2, "unit": "mi", "basis": "derived", "why": "No published centre-to-edge radius; this is the equivalent-circle radius from the settled land area of 86.101 sq mi, which understates the west edge of this elongated river-valley city.", "math": "r = sqrt(land_area / pi) = sqrt(86.101 / 3.1416) = sqrt(27.41) = 5.24 mi, reported as 5.2. Direction of uncertainty: low vs the true drive to the western built-up edge (West Boise / Eagle Road) and high vs the foothills edge a few miles north of downtown. A circular city of this area would have this radius; Boise is not circular.", "source": null, "range": [3, 12], "editable": true, "depends_on": null}, {"id": "district_count", "theme": "geography", "label": "Demand districts", "value": 6, "unit": "", "basis": "estimated", "why": "Six districts inside city limits have different trip generators a fleet would actually choose between: downtown/capitol, BSU/southeast, the Bench, west Boise, southwest/airport, and the North End/foothills.", "math": "Wikipedia's neighborhood list is longer (Downtown, BSU, North End, Highlands, Southwest, Northwest, Warm Springs/East End, Southeast, Bench, West Boise). For fleet demand those collapse to six: (1) downtown/capitol plus St. Luke's East End, (2) BSU/southeast including Micron and ExtraMile Arena, (3) the Bench plateau between downtown and the airport, (4) west Boise toward Meridian including St. Alphonsus on Curtis, (5) southwest/airport/Gowen Field, (6) North End and foothills. Count of 6 is a demand grouping, not a legal boundary count; Blueprint Boise's planning-area list is longer (Airport, Barber Valley, Central Bench, Downtown, Foothills, North/East End, Northwest, Southeast, Southwest, Ten Mile Creek, West Bench). Editor can raise toward 8–11 if splitting East End and Northwest.", "source": null, "range": [3, 12], "editable": true, "depends_on": ["geography_type"]}, {"id": "districts_note", "theme": "geography", "label": "District names", "value": "downtown/capitol and St. Luke's east end; Boise State/southeast (stadium, ExtraMile Arena, Micron); the Bench plateau; west Boise toward Meridian (St. Alphonsus); southwest/airport/Gowen Field; North End and foothills", "unit": "", "basis": "estimated", "why": "Names the six demand districts from Wikipedia's neighborhood geography plus the two hospital campuses and the airport, which is what a fleet actually chooses among.", "math": "Taken from Wikipedia's Neighborhoods and areas section (Downtown; BSU south of downtown with Albertsons Stadium and ExtraMile Arena; Southeast from BSU to Micron; Bench ~60 ft above downtown with the airport due south; West Boise; North End north of State Street) plus St. Luke's on Bannock/East End and St. Alphonsus on Curtis in west Boise. Garden City is a separate municipality in the doughnut hole and is not counted as a Boise district.", "source": null, "range": [1, 20], "editable": true, "depends_on": ["district_count"]}, {"id": "airport_flights_note", "theme": "geography", "label": "Airport flight pattern", "value": "~82 scheduled passenger departures/day on 7–8 airlines to ~29 U.S. cities (Alaska focus city; Seattle, Denver, Phoenix busiest); not a hub", "unit": "", "basis": "estimated", "why": "BOI is a mid-size spoke/focus-city airport, not a connecting hub — ~80 daily departures to many West/Midwest cities is a completely different demand pattern from a two-flight town. Directflights.com is a schedule compiler (secondary); the airport's own page lists 8 airlines and 29 nonstop destinations but not a daily departure count. Unconfirmed -- treated as our estimate.", "math": "Verification failed on https://www.directflights.com/BOI: the cited page could not be fetched (HTTP 403). We checked the citation the research pass gave us and could not confirm it, so this number is presented as our own estimate rather than as a published figure.", "source": null, "range": [40, 150], "editable": true, "depends_on": null}, {"id": "generators_note", "theme": "geography", "label": "Demand generators", "value": "St. Luke's Boise (flagship hospital, expanding toward 500+ beds); Saint Alphonsus Regional (381 licensed beds, Level II trauma); Boise State (28,519 students; 37,000-seat Albertsons Stadium; ExtraMile Arena); Micron in southeast Boise; Idaho State Capitol; Albertsons HQ; Gowen Field Air National Guard", "unit": "", "basis": "estimated", "why": "These are the named places that actually concentrate trips: two large hospitals on opposite sides of town, the state's largest university and its stadium, the memory-chip campus, the capitol, and the joint civil-military airport.", "math": "Hospital names and St. Alphonsus 381 licensed beds from saintalphonsus.org; St. Luke's expansion to more than 500 beds from stlukesonline.org; BSU 28,519 from boisestate.edu; 37,000-seat Albertsons Stadium and ExtraMile Arena, Micron in Southeast Boise, and capitol/Treefort from Wikipedia Boise. City ACFR/Wikipedia employer tables also rank St. Luke's, St. Alphonsus, Micron, and BSU as top employers. Does not include Meridian's ICOM medical school or CWI's Nampa campus. Conservative on employers: state government and HP are also large but less spatially concentrated.", "source": null, "range": [1, 20], "editable": true, "depends_on": ["hospital_beds", "college_enrollment"], "federal_check": {"verdict": "skipped", "subject": "hospitals", "claim": "hospital bed count", "federal": "no federal hospital file is cached (CMS Hospital General Information would be the file; it is not fetched by this rule)", "checked_on": "2026-09-18", "findings": 1}}, {"id": "hospital_beds", "theme": "geography", "label": "Largest hospital beds", "value": 437, "unit": "beds", "basis": "sourced", "why": "Staffed/listed beds at St. Luke's Boise, the city's largest hospital campus; Wikipedia is secondary (it cites AHD). St. Luke's own expansion page does not state current beds but says adding 80 will take capacity to more than 500, which matches ~420–440 now. FREIDA lists 609 beds at the same Bannock Street address and AHD has listed ~579 — those figures likely fold in the Meridian affiliate (Wikipedia says 578 combined). Use 437 for this Boise campus; editor can raise if they want the combined CCN. This is a secondary source -- it republishes a figure it did not itself produce.", "math": null, "source": {"name": "Wikipedia (St. Luke's Boise Medical Center)", "date": "2026-09", "url": "https://en.wikipedia.org/wiki/St._Luke%27s_Boise_Medical_Center", "tier": "secondary", "verified_on": "2026-09-14", "verified_by": "the exact quoted text is on the page"}, "range": [350, 650], "editable": true, "depends_on": null}, {"id": "college_enrollment", "theme": "geography", "label": "College enrollment", "value": 28519, "unit": "students", "basis": "sourced", "why": "Official Boise State fall 2025 census — the city's dominant campus. Slightly conservative as a city-wide total: Boise Bible College is ~94 (fall 2024, Wikipedia college list); CWI is Nampa-based with a leased Ada/Boise presence; ICOM (632) is in Meridian, not Boise City. This is a secondary source -- it republishes a figure it did not itself produce.", "math": null, "source": {"name": "Boise State University", "date": "2025-10", "url": "https://www.boisestate.edu/news/2025/10/30/university-sets-enrollment-record-with-fall-2025-students/", "tier": "secondary", "verified_on": "2026-09-14", "verified_by": "the exact quoted text is on the page"}, "range": [20000, 40000], "editable": true, "depends_on": null}, {"id": "events_note", "theme": "geography", "label": "Demand-moving events", "value": "Treefort Music Fest (late March, downtown); Western Idaho Fair (Aug 21–30, Expo Idaho); Spirit of Boise Balloon Classic (early September, Ann Morrison Park); Idaho Shakespeare Festival (summer, east end); Boise State football (fall, 37,000-seat Albertsons Stadium)", "unit": "", "basis": "estimated", "why": "These are the annual events with sourced months that actually fill downtown, the fairgrounds, Ann Morrison Park, and the BSU stadium; named only where a retrieved page states the event and timing.", "math": "Treefort late March from Wikipedia culture section and BSU student-life page (2026 campus days March 26–27). Western Idaho Fair Aug 21–30 2026 from the fair's own site. Spirit of Boise Balloon Classic first 2026 launch Sept 4 at Ann Morrison Park from Idaho News (35th year). Idaho Shakespeare Festival named on Wikipedia's East End and culture sections (summer repertory). BSU football and 37,000-seat Albertsons Stadium from Wikipedia Boise. Attendance figures (e.g. ~250k fair visitors) appear on third-party pages not fully retrieved here, so they are omitted. Jaialdi (Basque festival every five years, next 2030) is real but not annual.", "source": null, "range": [1, 20], "editable": true, "depends_on": null}, {"id": "insurance_min_liability", "theme": "costs", "label": "Idaho TNC liability minimums", "value": "$1,000,000 on a prearranged ride; $50,000/$100,000/$25,000 while logged on awaiting a request", "unit": "", "basis": "sourced", "why": "Idaho Code § 41-2519 is the state's TNC financial-responsibility statute: $1,000,000 primary liability while carrying a rider, and 50/100/25 while the app is on but no ride is in progress. These are the state TNC limits, not ordinary 25/50/15 private-auto minimums.", "math": null, "source": {"name": "Idaho State Legislature, Idaho Code § 41-2519", "date": "2015-07", "url": "https://legislature.idaho.gov/statutesrules/idstat/Title41/T41CH25/SECT41-2519/", "tier": "primary", "verified_on": "2026-09-14", "verified_by": "the page carries 5 of the 6 distinctive words in this note"}, "range": [25000, 2000000], "editable": true, "depends_on": null}, {"id": "registration_note", "theme": "costs", "label": "For-hire / TNC vehicle registration", "value": "TNC cars take ordinary Idaho passenger plates only — $45–$69/year by age plus Ada County $9.50 admin; no commercial/for-hire plate and no city TNC license.", "unit": "", "basis": "sourced", "why": "Idaho Code § 49-3704 says a TNC driver shall not be required to register the vehicle as commercial or for-hire; § 49-3715 bars any city from licensing a TNC vehicle. So Boise City TNC cars pay the Idaho Transportation Department passenger schedule ($69 ages 1–2, $57 ages 3–6, $45 ages 7+), plus Ada County’s $9.50 registration admin fee on the same ITD page. Ada County Highway District can add about $24–$40 (ITD fact sheet); EMS is another $1.25. Taxi/for-hire is a separate City of Boise license; the clerk fee-schedule page did not return readable text this session, so those taxi dollars are omitted.", "math": null, "source": {"name": "Idaho Transportation Department, Vehicle Registrations", "date": "2025-07", "url": "https://itd.idaho.gov/dmv/registrations-plates-titles/vehicle-registrations/", "tier": "primary", "verified_on": "2026-09-14", "verified_by": "the page carries 10 of the 14 distinctive words in this note"}, "range": [40, 250], "editable": true, "depends_on": null}, {"id": "parking_month", "theme": "costs", "label": "Downtown monthly parking", "value": 135, "unit": "$/month", "basis": "sourced", "why": "ParkBOI is the Capital City Development Corporation public-garage system for downtown Boise. The cheapest standard 24/7 monthly pass is $135 at 11th & Front; other ParkBOI garages are $155–$195, and the all-access pass is $340. A $20 setup fee is charged at purchase. This is a designated-garage monthly space, not on-street meters. This is a secondary source -- it republishes a figure it did not itself produce.", "math": null, "source": {"name": "ParkBOI (Capital City Development Corporation)", "date": "2026-08", "url": "https://parkboi.com/parking-options/monthly-parking/", "tier": "secondary", "verified_on": "2026-09-14", "verified_by": "found 135 on the same line as 'monthly'"}, "range": [50, 400], "editable": true, "depends_on": null}, {"id": "ridehail_ever_share", "label": "US adults who have ever used a ride-hailing app", "value": 0.36, "unit": "share", "basis": "sourced", "why": "The published national benchmark the local figure is built from. It is pinned in the pipeline rather than researched fresh each time, because asking a language model for a published fact four times returns four answers, and that variance was landing straight in rides per day. The page is still fetched and checked on every run. This is a secondary source -- it republishes a figure it did not itself produce.", "math": null, "source": {"name": "Pew Research Center", "date": "2019-01-04", "url": "https://www.pewresearch.org/short-reads/2019/01/04/more-americans-are-using-ride-hailing-apps/", "tier": "secondary", "verified_on": "2026-09-14", "verified_by": "the exact quoted text is on the page"}, "range": [0.2, 0.55], "editable": true, "theme": "demand", "depends_on": null}, {"id": "ridehail_active_share_of_users", "label": "Of people who have ever used it, the share who ride in a given month", "value": 0.32, "unit": "share", "basis": "sourced", "why": "The second half of the same national survey, taken from the same page so that the two halves describe the same population. Ten per cent of users ride at least weekly and another 22% monthly; the other 67% ride less than once a month. This is a secondary source -- it republishes a figure it did not itself produce.", "math": "0.10 riding at least weekly + 0.22 riding monthly = 0.32 of ever-users taking a trip in a given month. The complement the page prints, 67% riding less than monthly, agrees with it to within rounding.", "source": {"name": "Pew Research Center", "date": "2019-01-04", "url": "https://www.pewresearch.org/short-reads/2019/01/04/more-americans-are-using-ride-hailing-apps/", "tier": "secondary", "verified_on": "2026-09-14", "verified_by": "the exact quoted text is on the page"}, "range": [0.2, 0.5], "editable": true, "theme": "demand", "depends_on": null}, {"id": "ridehail_local_multiplier", "label": "How much more, or less, this town hires rides than the country does", "value": 0.857, "unit": "x national", "basis": "derived", "why": "The step from the national figure to this town, built only from measured Census figures so that it is the same number every time it is computed. It replaces the sentence a language model used to write here -- '0.115 x 1.25 plus a modest nightlife premium' -- in which the premium was invisible and unrepeatable.", "math": "Two measured local signals, each taken against the same figure summed over all 3144 county rows of the same ACS 2020-2024 file. Households with no vehicle: 0.0501 here against 0.0835 nationally = 0.60x. Workers commuting by taxi or ride-hail (ACS B08301_016, a line the Census counts explicitly): 0.00320 here against 0.00261 nationally = 1.22x. Each ratio is clamped to 0.25-4.00 because one ACS cell in a small place rests on very few responses, then blended as a geometric mean because these are ratios, giving 0.86x, clamped to 0.30-3.50. WHAT THIS CANNOT SEE: whether drivers are actually available. In a small town supply, not demand, is usually what binds.", "source": null, "range": [0.43, 1.71], "editable": true, "depends_on": ["no_vehicle_share", "commute_taxi_ridehail_share"], "theme": "demand"}, {"id": "ridehail_month_share", "label": "Local adults taking a ride-hail trip in a given month", "value": 0.0987, "unit": "share", "basis": "derived", "why": "The share of adults in Boise City who hire a ride in a typical month. This is one of the two numbers that decide rides per day, so it is now computed rather than judged: nothing about it is asked of a language model.", "math": "Computed, not estimated. 0.36 of US adults have ever used a ride-hail app x 0.32 of those users taking a trip in a given month = 0.1152 of US adults in a typical month (fall 2018 survey, Pew Research Center). Stepped to this town by the measured multiplier of 0.86x: 0.1152 x 0.86 = 0.0987. CHANGE THIS FIRST IF YOU KNOW THE TOWN. It and the visitor chain are the two numbers the whole ride estimate turns on, and this one is built from a national survey and two Census ratios -- it cannot see how many drivers are actually on the road here, which in a small market is usually the real limit. The editable band runs 0.0395 to 0.2467, roughly 0.4x to 2.5x, which is how uncertain this honestly is. Pew's State of Gig Work (December 2021) separately found that 22% of US adults had used a ride-hailing app in the previous twelve months. A national monthly share of 11.5% sits sensibly inside that; it would not if the monthly share were near the annual one.", "source": null, "range": [0.0395, 0.2467], "editable": true, "depends_on": ["ridehail_ever_share", "ridehail_active_share_of_users", "ridehail_local_multiplier"], "theme": "demand"}, {"id": "trips_per_user_month", "label": "Trips a month, per local who rides at all that month", "value": 2.2, "unit": "trips", "basis": "estimated", "why": "Counted only over the people who are active in that month, so it can never be below 1. It multiplies the entire resident stream, which is why it is drawn several times rather than once.", "math": "How many rides a local who uses ride-hail at all in a month takes in that month. Drawn 5 times independently with no web search, so that the run-to-run wobble is measured rather than hidden: 2.2, 2.2, 2.2, 2.3, 2.5. The MEDIAN, 2.2, is used; the draws spanned 2.2 to 2.5, a factor of 1.14. With only 0.0501 of households carless and an 18.9-minute commute, monthly-active residents are occasional users taking a couple of trips, not daily riders.", "source": null, "range": [1.0, 6.0], "editable": true, "theme": "demand", "depends_on": null}, {"id": "visitor_air_arrival_share", "label": "Share of visitors who arrive by air", "value": 0.95, "unit": "share", "basis": "derived", "why": "A party that flies in has two airport transfers to make and no car; a party that drives in has neither. This is the fork the whole visitor chain turns on, and where two published counts exist it is division rather than judgement.", "math": "2,475,370 boardings at BOI in calendar 2024 (FAA, a federal file) divided by 2,400,000 visitors a year = 1.031. Boardings count DEPARTING passengers, and one visiting party that flies in also flies out, so this is the share of visitors who came by air. DIRECTION OF ERROR, STATED: boardings also include residents flying out on their own trips, so this OVERSTATES the visitor air share, and by more in a city whose residents fly a lot. It is capped at 0.95. The raw ratio was 1.031 and the cap bound it.", "source": null, "range": [0.475, 0.95], "editable": true, "depends_on": ["airport_passengers_year", "visitors_year"], "theme": "demand", "federal_check": {"verdict": "confirmed", "subject": "airports", "claim": "2,475,370 passengers or enplanements", "federal": "the note gives 2,475,370; FAA CY2024 enplanements for BOI = 2,475,370 -- within 5%", "checked_on": "2026-09-18", "findings": 1}}, {"id": "visitor_airport_ridehail_share", "label": "Of air arrivals, the share whose airport transfer is a hired ride", "value": 0.25, "unit": "share", "basis": "estimated", "why": "The rest rent a car, take a hotel or casino shuttle, ride a rail or bus link, or get a lift. This is judgement -- no federal file counts it -- but it is a narrow question about one airport rather than an open one about a whole city.", "math": "How many air-arriving parties hire their ride from the airport. Drawn 5 times independently with no web search, so that the run-to-run wobble is measured rather than hidden: 0.26, 0.22, 0.22, 0.25, 0.32. The MEDIAN, 0.25, is used; the draws spanned 0.22 to 0.32, a factor of 1.45. BOI is only 2.4 miles from the centre, so a cheap short taxi/Uber often beats a rental for downtown-bound parties, but rentals, hotel shuttles, and pickups still take the majority.", "source": null, "range": [0.05, 0.8], "editable": true, "theme": "demand", "depends_on": null}, {"id": "visitor_local_trips_per_stay", "label": "Hired rides a visiting party takes in town, per visit", "value": 0.8, "unit": "trips", "basis": "estimated", "why": "Trips during the stay, not counting the two airport transfers. A resort where everything is walkable from the hotel is low; a spread-out city is higher.", "math": "How many hired rides a visiting party takes while it is here, excluding the airport transfers. Drawn 5 times independently with no web search, so that the run-to-run wobble is measured rather than hidden: 0.8, 0.5, 0.9, 0.8, 1.2. The MEDIAN, 0.8, is used; the draws spanned 0.5 to 1.2, a factor of 2.40. A 3.1-night stay clustered in walkable downtown Boise means most parties take zero in-stay ride-hails, with a minority adding one nightlife or neighborhood trip.", "source": null, "range": [0.0, 5.0], "editable": true, "theme": "demand", "depends_on": null}, {"id": "visitor_trips_per_stay", "label": "Hired rides one visiting party takes per visit, all in", "value": 1.275, "unit": "trips", "basis": "estimated", "why": "Every hired ride one visiting PARTY takes on one visit, airport transfers included. Per party and per visit -- not per head and not per night. A party shares one car, so a count of visitors is never a count of rides.", "math": "Built from its parts rather than answered as one number, because answered as one number it came back 1.2 on one run and 3.5 on the next and moved the whole town's ride estimate by a factor of three. 2 airport transfers x 0.950 arriving by air x 0.250 of those hiring a ride = 0.475, plus 0.800 trips in town = 1.275 trips a party. Pushing every judgement piece to its own measured extreme gives a range of 0.71 to 1.81. CHANGE THIS FIRST IF YOU KNOW THE TOWN -- this and the monthly ride-hail share are the two numbers the whole estimate rests on, and this one is judgement about tourists that no federal file counts.", "source": null, "range": [0.0, 8.0], "editable": true, "theme": "demand", "depends_on": null}, {"id": "rides_per_day", "label": "Rides a day, whole town", "value": 4093, "unit": "rides/day", "basis": "estimated", "why": "Total app-hailed trips a day across every operator in the city -- the pool your fleet competes for a share of, not the number you will get.", "math": "Nobody publishes rides per day for a town this size, so this is built as a chain and every link is visible. People living here = 238429 (a published figure); Share of residents who are adults = 0.8151 (worked out from published figures); Local adults taking a ride-hail trip in a given month = 0.0987 (worked out from published figures); Trips a month, per local who rides at all that month = 2.2 (our estimate); Annual visitors = 2400000 (a published figure); Average visiting party size = 3.1 (a published figure); Hired rides one visiting party takes per visit, all in = 1.275 (our estimate). Residents: 238,429 people x 0.8151 adults = 194,343 adults; x 0.0987 who take a ride-hail trip in a given month = 19,182 people; x 2.2 trips each a month = 42,200 trips a month; divided by 30.4 days = 1,388 resident rides a day. Visitors: 2,400,000 a year / 3.1 people in a party = 774,194 visiting parties; x 1.275 ride-hail trips a party takes while it is here / 365 days = 2,704 visitor rides a day. A party shares one car, so a count of visitors is not a count of rides. Visitors are 66% of this total, so the answer turns on the visitor figures more than on the residents. Total: 4,093 rides a day across ALL operators, not just yours. RANGE, HONESTLY: running the same arithmetic with every judgement link at its own low bound gives 2,059 rides a day, and at its own high bound 7,778. The 4,093 above is the midpoint of a real range, not a measurement. The bounds are this run's own -- the panel's lowest and highest draws and the computed share's editable band -- so the width of this range is a report of how unsure the research was. NO CROSS-CHECK EXISTS, AND THE SEARCH IS ON THE RECORD. Checked in the required order. (1) State taxicab/TNC authority: Idaho has no Nevada-style taxicab authority posting monthly trip PDFs. The Transportation Network Company Services Act (Idaho Code 49-3715) says TNCs are governed exclusively by that chapter and no municipality may license or tax TNC service; the statute requires TNCs to keep trip records two years but does not require public trip reports, and ITD/PUC searches returned the statute, not counts. (2) City/county TNC or for-hire open data: Boise still licenses taxicabs under city code Title 3 Chapter 13, but TNC preemption means there is no city TNC trip portal; the city micromobility dashboard covers scooters/e-bikes, not Uber/Lyft. (3) Airport ground transportation: iflyboise.com describes Lyft and Uber pickup rules but does not publish pickup counts. The 6 Aug 2025 Airport Commission packet reports Rideshare (TNC) Revenue of $960,448 for FY2025 year-to-date through June versus $477,382 a year earlier — revenue, not trips. A 2020 KIVI story said Uber and Lyft would be charged $1.50 per ride; converting revenue at that old fee would be unsafe because the fee may have changed (revenue roughly doubled year-over-year). (4) MPO travel survey: the COMPASS 2012 Ada/Canyon household travel survey reports mode shares (0.2% of trips on public transportation) and no TNC trip total; it predates local Uber/Lyft scale. (5) Local reporting: KIVI and Idaho Press cover the 2020 airport Uber/Lyft curb agreement and the $1.50 fee, not a trip census. Value 0 means no usable published trip count, not zero rides. Nothing independent confirms this chain. That absence is stated rather than hidden: a pack with no cross-check is weaker than one with a disagreeing cross-check, because the disagreeing one at least tells you which way you might be wrong. Direction of uncertainty: this counts only app-hailed rides and ignores taxis, shuttles, non-emergency medical transport and the airport's own courtesy runs, so it is more likely low than high. It also assumes supply exists to meet the demand, which in a small town is often the binding constraint rather than demand itself.", "source": null, "range": [1023, 16370], "editable": true, "low": 2059, "high": 7778, "cross_check": {"has_cross_check": false, "search_was_audited": true, "searched": "Checked in the required order. (1) State taxicab/TNC authority: Idaho has no Nevada-style taxicab authority posting monthly trip PDFs. The Transportation Network Company Services Act (Idaho Code 49-3715) says TNCs are governed exclusively by that chapter and no municipality may license or tax TNC service; the statute requires TNCs to keep trip records two years but does not require public trip reports, and ITD/PUC searches returned the statute, not counts. (2) City/county TNC or for-hire open data: Boise still licenses taxicabs under city code Title 3 Chapter 13, but TNC preemption means there is no city TNC trip portal; the city micromobility dashboard covers scooters/e-bikes, not Uber/Lyft. (3) Airport ground transportation: iflyboise.com describes Lyft and Uber pickup rules but does not publish pickup counts. The 6 Aug 2025 Airport Commission packet reports Rideshare (TNC) Revenue of $960,448 for FY2025 year-to-date through June versus $477,382 a year earlier — revenue, not trips. A 2020 KIVI story said Uber and Lyft would be charged $1.50 per ride; converting revenue at that old fee would be unsafe because the fee may have changed (revenue roughly doubled year-over-year). (4) MPO travel survey: the COMPASS 2012 Ada/Canyon household travel survey reports mode shares (0.2% of trips on public transportation) and no TNC trip total; it predates local Uber/Lyft scale. (5) Local reporting: KIVI and Idaho Press cover the 2020 airport Uber/Lyft curb agreement and the $1.50 fee, not a trip census. Value 0 means no usable published trip count, not zero rides.", "verdict": ["none", "five named sources were checked and none of them publishes a trip count for this city"], "our_estimate_per_day": 4093, "our_range_per_day": [1023, 16370]}, "theme": "people", "federal_check": {"verdict": "confirmed", "subject": "population", "claim": "238,429 people", "federal": "the note says 238,429; the Census file says Boise City city 238,429 (Census vintage 2025) -- within 5%", "checked_on": "2026-09-18", "findings": 1}}], "notes": {"power": "Utility is Idaho Power. TOU cents are from the filed Schedule 5 tariff (energy is already bundled generation+delivery), not from EIA averages — do not replace them with the $0.1176 residential or $0.0915 commercial bundled averages. Riders used in the all-in math, each opened this session: Schedule 55 PCA 0.5392¢/kWh (Idaho Power current adjustments page https://www.idahopower.com/accounts-service/understand-your-bill/pricing/idaho-pricing/business/schedule-7/ ); Schedule 54 FCA 0.0330¢/kWh for residential Schedules 1/3/5/6, effective 2026-06-01 (https://docs.idahopower.com/pdfs/aboutus/ratesregulatory/tariffs/286.pdf ); Schedule 91 EE rider 2.35% of base energy (https://docs.idahopower.com/pdfs/aboutus/ratesregulatory/tariffs/204.pdf ); Schedule 97 kWh tax 0.0923¢ (https://docs.idahopower.com/pdfs/aboutus/ratesregulatory/tariffs/97.pdf ); Schedule 98 BPA credit 0.0305¢ (https://docs.idahopower.com/pdfs/aboutus/ratesregulatory/tariffs/170.pdf ); Schedule 95 City of Boise franchise 1.5% (https://docs.idahopower.com/pdfs/aboutus/ratesregulatory/tariffs/57.pdf ). Customer charge $15/month is omitted. Schedule 7 has no TOU (https://docs.idahopower.com/pdfs/aboutus/ratesregulatory/tariffs/37.pdf ). Schedule 9 optional TOU energy is only ~4.6–6.4¢/kWh but adds demand ($9.49/kW summer, $7.75 non-summer) plus $1.84/kW basic — that demand stack, not energy, dominates a commercial depot (https://docs.idahopower.com/pdfs/aboutus/ratesregulatory/tariffs/38.pdf ). Named Schedule 5 windows do not match 00–06 / 06–16 / 16–24; mid and on-peak records are clock-window blends, not a tariff row. Summer evening (16:00–24:00) all-in is about $0.23 if you do not year-weight. DCFC is Electrify America at Overland Rd Walmart; idle fee $0.40/min after 10 min. Company TOU explainer with the same energy cents: https://idahopower.com/accounts-service/understand-your-bill/pricing/idaho-pricing/time-use-plan/ .", "demand": "Calendar-year 2025 is the visitor vintage (Visit Boise airport visitors, 2.4 million). Do not mix it with Visit Boise's separate CoStar figure of 1.49 million Boise-area overnight hotel stays (Dec 2025 snapshot) or with Dean Runyan 2023 Southwest Idaho spending. Party size and nights are SW Idaho overnight averages (Longwoods 2023 via SWITA), not Boise-city hotel ALOS; hotel parties are typically smaller, so 3.1 people is conservative for converting visitors into vehicles. Rides_reported is 0 after checking the five mandated sources; the airport TNC revenue line is real but is not a trip count. Adult share, no-vehicle share (0.0501), mean commute (18.9 min), taxi/ride-hail commute share (0.0032), transit commute share (0.0051) and WFH (0.176) were used as given and not re-researched.", "geography": "Boise City is the core of a multi-city Treasure Valley metro (Meridian, Nampa, Caldwell, Eagle, Garden City are separate municipalities). Equivalent-circle radius 5.2 mi understates the west edge. Hospital beds disagree: Wikipedia 437 for the Boise campus; FREIDA 609 and AHD ~579 at the same address likely include St. Luke's Meridian under one CCN; St. Luke's own page only says +80 beds will take capacity to more than 500. Airport daily-departure count is from Directflights.com (schedule compiler), not iflyboise.com; the airport's own page (https://www.iflyboise.com/travel-planner/nonstop-destinations, July 2026 map) says eight airlines and 29 nonstop destinations and that BOI is not presented as a hub. College figure is BSU only (official fall 2025). Supporting pages also retrieved: https://www.boisestate.edu/about/facts/ (28,519 census), https://www.saintalphonsus.org/location/saint-alphonsus-regional-medical-center-boise (381 licensed beds), https://stlukesonline.org/en/healthier-communities/commitments-and-impact/st-lukes-boise-development-plan/hospital-tower-and-medical-plaza/ (+80 beds, >500), https://idahofair.com/news/western-idaho-fair-announces-expanded-schedule-beginning-2027/ (Fair Aug 21–30 2026), https://idahonews.com/news/local/balloons-launch-for-first-time-at-35th-spirit-of-boise (balloon classic), https://en.wikipedia.org/wiki/Boise,_Idaho (neighborhoods, metro 846k, stadium, events, Micron).", "costs": "Insurance figures are unchanged since the 2015 enactment of § 41-2519; the official legislature page still posts those limits (Idaho statutes are refreshed on the site each July 1). TNC preemption is in § 49-3704 and § 49-3715 (https://legislature.idaho.gov/statutesrules/idstat/Title49/T49CH37/SECT49-3704/ and https://legislature.idaho.gov/statutesrules/idstat/Title49/T49CH37/SECT49-3715/). Passenger registration dollars are from ITD’s live fee table, which matches ITD’s July 2025 registration fact sheet. City of Boise clerk licensing-fee-schedule (taxi vehicle / taxicab business) did not return page text when fetched, so taxi-license dollars are not cited. ParkBOI rates were live on the operator site; CCDC announced the current product lineup on 3 Aug 2026."}, "gaps": ["rides_per_day: the five named sources were checked and none publishes a trip count for this city, so the estimate stands on its own arithmetic"], "counts": {"total": 78, "sourced": 28, "derived": 32, "estimated": 18}, "applies_to_game": {"overrides": 10, "how": "A record carrying `game_id` replaces that id in the game's assumptions.js when this city is selected. The rest of the pack is city context the model has no slot for yet -- rides per day, the trip-length split, the airport's traffic, the demand generators -- and is stated rather than quietly mapped onto something it is not.", "unmapped": ["adult_share", "airport_code", "airport_distance_mi", "airport_flights_note", "airport_name", "airport_passengers_year", "airport_traffic_change_pct", "city_radius_mi", "climate_station", "college_enrollment", "commute_drove_alone_share", "commute_taxi_ridehail_share", "commute_transit_share", "commute_wfh_share", "density", "district_count", "districts_note", "events_note", "generators_note", "geography_type", "hospital_beds", "insurance_min_liability", "labour_note", "land_area_sqmi", "local_cleaner_wage", "local_labour_index", "local_rent_index", "mean_commute_minutes", "median_household_income", "metro_population", "night_share", "no_vehicle_share", "parking_month", "population", "power_state_avg", "power_state_avg_commercial", "power_state_avg_ytd", "power_tou_note", "power_utility", "power_utility_rate", "power_utility_rate_commercial", "precip_year_in", "registration_note", "ridehail_active_share_of_users", "ridehail_ever_share", "ridehail_local_multiplier", "ridehail_month_share", "ridehail_present", "rides_per_day", "rides_reported", "snow_days_year", "snow_year_in", "temp_annual_avg_f", "temp_coldest_month_avg_f", "temp_hottest_month_avg_f", "transit_note", "trip_mi_avg", "trip_mi_long_share", "trip_mi_short_share", "trips_per_user_month", "visitor_air_arrival_share", "visitor_airport_ridehail_share", "visitor_local_trips_per_stay", "visitor_nights_avg", "visitor_party_size", "visitor_trips_per_stay", "visitors_year", "wet_days_year"]}, "source_mix": {"with_a_citation": 28, "primary": 18, "secondary": 10, "tier_unknown": 0, "no_citation_derived_or_estimated": 50, "read_from_a_federal_bulk_file": 41, "how": "A `primary` citation is the body that produced the figure -- a .gov file, or the utility, airport or operator publishing its own number. `secondary` is somebody re-publishing a number they did not produce. Records with no citation are the derived and estimated ones, and their working is in `math`."}, "bulk_sources": {"records": 41, "records_needing_no_citation_check": 16, "record_ids": ["adult_share", "airport_code", "airport_distance_mi", "airport_name", "airport_passengers_year", "airport_traffic_change_pct", "clean_biohazard_cost", "clean_deep_cost", "clean_wipe_cost", "climate_station", "commute_drove_alone_share", "commute_taxi_ridehail_share", "commute_transit_share", "commute_wfh_share", "density", "depot_rent_month", "insurance_base_month", "insurance_per_car_month", "labour_note", "land_area_sqmi", "local_cleaner_wage", "local_labour_index", "local_rent_index", "mean_commute_minutes", "median_household_income", "metro_population", "no_vehicle_share", "population", "power_state_avg", "power_state_avg_commercial", "power_state_avg_ytd", "power_utility", "power_utility_rate", "power_utility_rate_commercial", "precip_year_in", "snow_days_year", "snow_year_in", "temp_annual_avg_f", "temp_coldest_month_avg_f", "temp_hottest_month_avg_f", "wet_days_year"], "how": "These came out of national files that cover every city in the country. The file is downloaded ONCE and shared by every city in the run; the city is matched to its row by a key -- a place or county FIPS code, an FAA airport identifier, or a coordinate -- never by name. They do not go through the citation verifier, because there is no cited page to check: the federal file is the source. What guards them instead is a plausibility band applied when the record is built, and anything outside it is flagged into `gaps` rather than accepted.", "files": {"sub-est2025.csv": {"downloads": 0, "bytes": 7464556, "wire_bytes": 0, "reuses": 1, "url": "https://www2.census.gov/programs-surveys/popest/datasets/2020-2025/cities/totals/sub-est2025.csv"}, "gaz_place_16.txt": {"downloads": 0, "bytes": 23876, "wire_bytes": 0, "reuses": 1, "url": "https://www2.census.gov/geo/docs/maps-data/data/gazetteer/2025_Gazetteer/2025_gaz_place_16.txt"}, "co-est2025-alldata.csv": {"downloads": 0, "bytes": 2071735, "wire_bytes": 0, "reuses": 1, "url": "https://www2.census.gov/programs-surveys/popest/datasets/2020-2025/counties/totals/co-est2025-alldata.csv"}, "faa-cy2024-commercial-service-enplanements.xlsx": {"downloads": 0, "bytes": 58201, "wire_bytes": 0, "reuses": 1, "url": "https://www.faa.gov/airports/planning_capacity/passenger_allcargo_stats/passenger/arp-cy2024-commercial-service-enplanements.xlsx"}, "faa-us-airports.json": {"downloads": 0, "bytes": 3686620, "wire_bytes": 0, "reuses": 1, "url": "https://services6.arcgis.com/ssFJjBXIUyZDrSYZ/arcgis/rest/services/US_Airport/FeatureServer/0"}, "eia-epm-table-5-06-a.xlsx": {"downloads": 0, "bytes": 19709, "wire_bytes": 0, "reuses": 1, "url": "https://www.eia.gov/electricity/monthly/xls/table_5_06_a.xlsx"}, "eia-epm-table-5-06-b.xlsx": {"downloads": 0, "bytes": 19788, "wire_bytes": 0, "reuses": 1, "url": "https://www.eia.gov/electricity/monthly/xls/table_5_06_b.xlsx"}, "eia-861-2024.zip": {"downloads": 0, "bytes": 4568208, "wire_bytes": 0, "reuses": 3, "url": "https://www.eia.gov/electricity/data/eia861/zip/f8612024.zip"}, "noaa-normals-inventory-30yr.txt": {"downloads": 0, "bytes": 1342890, "wire_bytes": 0, "reuses": 1, "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/doc/inventory_30yr.txt"}, "noaa\\USW00024131.csv": {"downloads": 0, "bytes": 41666, "wire_bytes": 0, "reuses": 1, "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/USW00024131.csv"}, "acs2024-b01001-places-counties.psv": {"downloads": 0, "bytes": 11267969, "wire_bytes": 0, "reuses": 1, "url": "https://www2.census.gov/programs-surveys/acs/summary_file/2024/table-based-SF/data/5YRData/acsdt5y2024-b01001.dat"}, "acs2024-b08301-places-counties.psv": {"downloads": 0, "bytes": 4910243, "wire_bytes": 0, "reuses": 1, "url": "https://www2.census.gov/programs-surveys/acs/summary_file/2024/table-based-SF/data/5YRData/acsdt5y2024-b08301.dat"}, "acs2024-b08303-places-counties.psv": {"downloads": 0, "bytes": 3510917, "wire_bytes": 0, "reuses": 1, "url": "https://www2.census.gov/programs-surveys/acs/summary_file/2024/table-based-SF/data/5YRData/acsdt5y2024-b08303.dat"}, "acs2024-b08013-places-counties.psv": {"downloads": 0, "bytes": 1608092, "wire_bytes": 0, "reuses": 1, "url": "https://www2.census.gov/programs-surveys/acs/summary_file/2024/table-based-SF/data/5YRData/acsdt5y2024-b08013.dat"}, "acs2024-b25044-places-counties.psv": {"downloads": 0, "bytes": 3952608, "wire_bytes": 0, "reuses": 1, "url": "https://www2.census.gov/programs-surveys/acs/summary_file/2024/table-based-SF/data/5YRData/acsdt5y2024-b25044.dat"}, "acs2024-b19013-places-counties.psv": {"downloads": 0, "bytes": 1058767, "wire_bytes": 0, "reuses": 1, "url": "https://www2.census.gov/programs-surveys/acs/summary_file/2024/table-based-SF/data/5YRData/acsdt5y2024-b19013.dat"}, "acs2024-b25064-places-counties.psv": {"downloads": 0, "bytes": 1025542, "wire_bytes": 0, "reuses": 1, "url": "https://www2.census.gov/programs-surveys/acs/summary_file/2024/table-based-SF/data/5YRData/acsdt5y2024-b25064.dat"}, "bls-oes2024-53-7061-national.psv": {"downloads": 0, "bytes": 120, "wire_bytes": 0, "reuses": 1, "url": "https://www.bls.gov/oes/special-requests/oesm24nat.zip"}, "bls-oes2024-area-definitions.xlsx": {"downloads": 0, "bytes": 147222, "wire_bytes": 0, "reuses": 1, "url": "https://www.bls.gov/oes/2024/may/area_definitions_m2024.xlsx"}, "bls-oes2024-53-7061-areas.psv": {"downloads": 0, "bytes": 33711, "wire_bytes": 0, "reuses": 1, "url": "https://www.bls.gov/oes/special-requests/oesm24ma.zip"}, "acs2024-b25064-us-states.psv": {"downloads": 0, "bytes": 1043, "wire_bytes": 0, "reuses": 1, "url": "https://www2.census.gov/programs-surveys/acs/summary_file/2024/table-based-SF/data/5YRData/acsdt5y2024-b25064.dat"}}, "downloads_this_run": 0, "cache_reuses_this_run": 23, "not_bulk_sourced_and_why": "What is still researched is the LOCAL STORY, and it is researched because it is real, published and findable: the utility's time-of-use split (a filed tariff, not a table), public fast-charge prices, the visitor economy, the state's minimum liability statute, the city's own parking schedule, and the named demand generators -- hospitals with their bed counts, colleges with their enrolments, the venue that fills the town. That is the half of a pack no federal file will ever carry, and it is the half worth having: Dover, Tennessee is a town of 1,918 people in the federal files and nothing more, and what makes it interesting is that 84% of its rides are visitors to Fort Donelson National Battlefield.", "derived_rather_than_researched": "Cleaning, depot rent and insurance USED to be researched and are not any more. They are manual-service prices that nobody publishes, because maintaining a price page is work and the price is whatever the owner says on the day. Searching for them found nothing at all in the smallest town and found ONE detailer's advertised price in the others, which was then stamped `sourced` -- a claim of rigour a sample of one does not have. Each is now a national published baseline times a published local index (BLS area wages for hand work, ACS median gross rent for property, NAIC state expenditure for insurance), with the arithmetic in `math`. See local_costs.py."}, "verification": {"bulk_records": 41, "bulk_needing_no_verification": 16, "citations_checked": 15, "citations_passed": 12, "citations_failed": 3, "primary": 2, "secondary": 10, "derived_downgraded": 0, "method": "Every record the model returned as 'sourced' had its cited URL fetched. The page had to load, and the figure had to be in its text within 400 characters of one of the record's own keywords. Anything that failed was demoted to 'estimated' with the failure written into its math.", "reports": [{"id": "population", "basis_in": "sourced", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "SUMLEV 162, GEOID 1608830 -- Boise City city, Idaho", "action": "not checked (read straight from a federal bulk file)"}, {"id": "land_area_sqmi", "basis_in": "sourced", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "GEOID 1608830 -- Boise City city", "action": "not checked (read straight from a federal bulk file)"}, {"id": "density", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "metro_population", "basis_in": "sourced", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "SUMLEV 050, GEOID 16001 -- Ada County, Idaho", "action": "not checked (read straight from a federal bulk file)"}, {"id": "airport_name", "basis_in": "sourced", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "Locid BOI -- Boise Air Trml/Gowen Field, Boise ID", "action": "not checked (read straight from a federal bulk file)"}, {"id": "airport_code", "basis_in": "sourced", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "Locid BOI -- Boise Air Trml/Gowen Field, Boise ID", "action": "not checked (read straight from a federal bulk file)"}, {"id": "airport_passengers_year", "basis_in": "sourced", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "Locid BOI -- Boise Air Trml/Gowen Field, Boise ID", "action": "not checked (read straight from a federal bulk file)"}, {"id": "airport_traffic_change_pct", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "airport_distance_mi", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "power_state_avg", "basis_in": "sourced", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "Idaho, June 2026", "action": "not checked (read straight from a federal bulk file)"}, {"id": "power_state_avg_commercial", "basis_in": "sourced", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "Idaho, June 2026", "action": "not checked (read straight from a federal bulk file)"}, {"id": "power_state_avg_ytd", "basis_in": "sourced", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "Idaho, June 2026 YTD", "action": "not checked (read straight from a federal bulk file)"}, {"id": "power_utility", "basis_in": "sourced", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "utility Idaho Power Co (#9191), Ada County County rows, ID", "action": "not checked (read straight from a federal bulk file)"}, {"id": "power_utility_rate", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "power_utility_rate_commercial", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "climate_station", "basis_in": "sourced", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "BOISE AIR TERMINAL, ID US (USW00024131), 2.2 mi from the city centre", "action": "not checked (read straight from a federal bulk file)"}, {"id": "temp_annual_avg_f", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "temp_coldest_month_avg_f", "basis_in": "sourced", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "BOISE AIR TERMINAL, ID US (USW00024131), 2.2 mi from the city centre", "action": "not checked (read straight from a federal bulk file)"}, {"id": "temp_hottest_month_avg_f", "basis_in": "sourced", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "BOISE AIR TERMINAL, ID US (USW00024131), 2.2 mi from the city centre", "action": "not checked (read straight from a federal bulk file)"}, {"id": "precip_year_in", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "wet_days_year", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "snow_year_in", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "snow_days_year", "basis_in": "sourced", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "BOISE AIR TERMINAL, ID US (USW00024131), 2.2 mi from the city centre", "action": "not checked (read straight from a federal bulk file)"}, {"id": "adult_share", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "median_household_income", "basis_in": "sourced", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "GEO_ID 1600000US1608830, B19013_E001", "action": "not checked (read straight from a federal bulk file)"}, {"id": "no_vehicle_share", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "commute_drove_alone_share", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "commute_transit_share", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "commute_taxi_ridehail_share", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "commute_wfh_share", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "mean_commute_minutes", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "local_cleaner_wage", "basis_in": "sourced", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "OCC_CODE 53-7061, AREA 14260 -- Boise City, ID", "action": "not checked (read straight from a federal bulk file)"}, {"id": "labour_note", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "local_labour_index", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "local_rent_index", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "clean_wipe_cost", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "clean_deep_cost", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "clean_biohazard_cost", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "depot_rent_month", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "insurance_base_month", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "insurance_per_car_month", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "read out of the federal file named in its source", "action": "not checked (read straight from a federal bulk file)"}, {"id": "power_offpeak", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "power_mid", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "power_onpeak", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "power_dcfc", "basis_in": "sourced", "url": "https://dcfctracker.com/stations/121715", "status": 200, "url_ok": true, "figure_ok": true, "tier": "secondary", "detail": "the exact quoted text is on the page", "action": "kept"}, {"id": "power_tou_note", "basis_in": "sourced", "url": "https://docs.idahopower.com/pdfs/aboutus/ratesregulatory/tariffs/schedule-5.pdf", "status": 200, "url_ok": true, "figure_ok": true, "tier": "secondary", "detail": "the page carries 12 of the 14 distinctive words in this note", "action": "kept"}, {"id": "ridehail_present", "basis_in": "sourced", "url": "https://www.uber.com/global/en/r/cities/boise-id-us/", "status": 200, "url_ok": true, "figure_ok": false, "tier": "secondary", "detail": "the cited page loads but does not carry the figure (the page carries only 3 of the 14 distinctive words in this note)", "action": "demoted to estimated"}, {"id": "transit_note", "basis_in": "sourced", "url": "https://www.valleyregionaltransit.org/how-to-ride/boise-airport-service/", "status": 200, "url_ok": true, "figure_ok": false, "tier": "secondary", "detail": "the cited page loads but does not carry the figure (the page carries only 7 of the 14 distinctive words in this note)", "action": "demoted to estimated"}, {"id": "trip_mi_avg", "basis_in": "estimated", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "trip_mi_short_share", "basis_in": "estimated", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "trip_mi_long_share", "basis_in": "estimated", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "night_share", "basis_in": "estimated", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "visitors_year", "basis_in": "sourced", "url": "https://visitboise.com/tourism-matters/", "status": 200, "url_ok": true, "figure_ok": true, "tier": "secondary", "detail": "the exact quoted text is on the page", "action": "kept"}, {"id": "visitor_party_size", "basis_in": "sourced", "url": "https://www.visitsouthwestidaho.org/tourism-impact/", "status": 200, "url_ok": true, "figure_ok": true, "tier": "secondary", "detail": "the exact quoted text is on the page", "action": "kept"}, {"id": "visitor_nights_avg", "basis_in": "sourced", "url": "https://www.visitsouthwestidaho.org/tourism-impact/", "status": 200, "url_ok": true, "figure_ok": true, "tier": "secondary", "detail": "the exact quoted text is on the page", "action": "kept"}, {"id": "rides_reported", "basis_in": "estimated", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "geography_type", "basis_in": "estimated", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "city_radius_mi", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "district_count", "basis_in": "estimated", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "districts_note", "basis_in": "estimated", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "airport_flights_note", "basis_in": "sourced", "url": "https://www.directflights.com/BOI", "status": 0, "url_ok": false, "figure_ok": null, "tier": "secondary", "detail": "the cited page could not be fetched (HTTP 403)", "action": "demoted to estimated"}, {"id": "generators_note", "basis_in": "estimated", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "hospital_beds", "basis_in": "sourced", "url": "https://en.wikipedia.org/wiki/St._Luke%27s_Boise_Medical_Center", "status": 200, "url_ok": true, "figure_ok": true, "tier": "secondary", "detail": "the exact quoted text is on the page", "action": "kept"}, {"id": "college_enrollment", "basis_in": "sourced", "url": "https://www.boisestate.edu/news/2025/10/30/university-sets-enrollment-record-with-fall-2025-students/", "status": 200, "url_ok": true, "figure_ok": true, "tier": "secondary", "detail": "the exact quoted text is on the page", "action": "kept"}, {"id": "events_note", "basis_in": "estimated", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "insurance_min_liability", "basis_in": "sourced", "url": "https://legislature.idaho.gov/statutesrules/idstat/Title41/T41CH25/SECT41-2519/", "status": 200, "url_ok": true, "figure_ok": true, "tier": "primary", "detail": "the page carries 5 of the 6 distinctive words in this note", "action": "kept"}, {"id": "registration_note", "basis_in": "sourced", "url": "https://itd.idaho.gov/dmv/registrations-plates-titles/vehicle-registrations/", "status": 200, "url_ok": true, "figure_ok": true, "tier": "primary", "detail": "the page carries 10 of the 14 distinctive words in this note", "action": "kept"}, {"id": "parking_month", "basis_in": "sourced", "url": "https://parkboi.com/parking-options/monthly-parking/", "status": 200, "url_ok": true, "figure_ok": true, "tier": "secondary", "detail": "found 135 on the same line as 'monthly'", "action": "kept"}, {"id": "ridehail_ever_share", "basis_in": "sourced", "url": "https://www.pewresearch.org/short-reads/2019/01/04/more-americans-are-using-ride-hailing-apps/", "status": 200, "url_ok": true, "figure_ok": true, "tier": "secondary", "detail": "the exact quoted text is on the page", "action": "kept"}, {"id": "ridehail_active_share_of_users", "basis_in": "sourced", "url": "https://www.pewresearch.org/short-reads/2019/01/04/more-americans-are-using-ride-hailing-apps/", "status": 200, "url_ok": true, "figure_ok": true, "tier": "secondary", "detail": "the exact quoted text is on the page", "action": "kept"}, {"id": "ridehail_local_multiplier", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "ridehail_month_share", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "trips_per_user_month", "basis_in": "estimated", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "visitor_air_arrival_share", "basis_in": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "visitor_airport_ridehail_share", "basis_in": "estimated", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "visitor_local_trips_per_stay", "basis_in": "estimated", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "visitor_trips_per_stay", "basis_in": "estimated", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}]}, "cost": {"calls": 9, "input_tokens": 0, "output_tokens": 0, "web_searches": 0, "cost_usd": 0.0, "seconds": 2214.0}, "search_ceiling": {"scope": "boise-city-id", "searches_charged": 112, "search_ceiling": 200, "searches_left": 88, "calls_made": 9, "call_ceiling": 12, "search_enabled_calls": 4, "per_call_ceiling": 60, "charged_by_estimate": 112, "how_the_cli_is_charged": "The Grok CLI does not report how many web searches it made, so every search-enabled call is charged a flat 28 -- the measured mean of the runs this ceiling exists to prevent (668 searches over 24 search-enabled calls). It is deliberately the worst case, so the ceiling binds early rather than late.", "per_call_breaches": [], "refusals": [], "bound": false, "why": "Six cities on 2026-09-08 made 668 web searches between them and pulled 13,057,511 input tokens, because nothing counted them. This ceiling refuses a call the remaining budget cannot pay for. It is set well above the shape of a normal city on purpose: it is a guard rail against a loop that has run away, not a reason to ask fewer questions about the town. If it bound, the fields that went unresearched are named in `gaps`."}, "reproducibility": {"why": "Re-running the same research prompt for the same city used to return materially different judgement figures, and those figures dominate rides per day. Three variables were taken off the model and rebuilt: the monthly ride-hail share is now computed from a pinned national survey and two measured Census ratios; the per-party visitor trip rate is composed from narrower questions; and what judgement is left is drawn several times and reported as a median with its spread.", "computed_not_judged": ["ridehail_ever_share", "ridehail_active_share_of_users", "ridehail_local_multiplier", "ridehail_month_share", "visitor_air_arrival_share"], "panel_draws": 5, "panel": {"visitor_airport_ridehail_share": {"median": 0.25, "draws": [0.26, 0.22, 0.22, 0.25, 0.32], "min": 0.22, "max": 0.32, "spread_x": 1.45}, "visitor_local_trips_per_stay": {"median": 0.8, "draws": [0.8, 0.5, 0.9, 0.8, 1.2], "min": 0.5, "max": 1.2, "spread_x": 2.4}, "trips_per_user_month": {"median": 2.2, "draws": [2.2, 2.2, 2.2, 2.3, 2.5], "min": 2.2, "max": 2.5, "spread_x": 1.14}}, "panel_answers_clipped_to_bounds": [], "rides_per_day_range": [2059, 7778]}, "cross_check": {"has_cross_check": false, "search_was_audited": true, "searched": "Checked in the required order. (1) State taxicab/TNC authority: Idaho has no Nevada-style taxicab authority posting monthly trip PDFs. The Transportation Network Company Services Act (Idaho Code 49-3715) says TNCs are governed exclusively by that chapter and no municipality may license or tax TNC service; the statute requires TNCs to keep trip records two years but does not require public trip reports, and ITD/PUC searches returned the statute, not counts. (2) City/county TNC or for-hire open data: Boise still licenses taxicabs under city code Title 3 Chapter 13, but TNC preemption means there is no city TNC trip portal; the city micromobility dashboard covers scooters/e-bikes, not Uber/Lyft. (3) Airport ground transportation: iflyboise.com describes Lyft and Uber pickup rules but does not publish pickup counts. The 6 Aug 2025 Airport Commission packet reports Rideshare (TNC) Revenue of $960,448 for FY2025 year-to-date through June versus $477,382 a year earlier — revenue, not trips. A 2020 KIVI story said Uber and Lyft would be charged $1.50 per ride; converting revenue at that old fee would be unsafe because the fee may have changed (revenue roughly doubled year-over-year). (4) MPO travel survey: the COMPASS 2012 Ada/Canyon household travel survey reports mode shares (0.2% of trips on public transportation) and no TNC trip total; it predates local Uber/Lyft scale. (5) Local reporting: KIVI and Idaho Press cover the 2020 airport Uber/Lyft curb agreement and the $1.50 fee, not a trip census. Value 0 means no usable published trip count, not zero rides.", "verdict": ["none", "five named sources were checked and none of them publishes a trip count for this city"], "our_estimate_per_day": 4093, "our_range_per_day": [1023, 16370]}, "replayed_from_saved_research": false, "summary": "This is a planning tool, not a prediction. Of the 78 numbers behind a season in Boise City, 28 are published figures, 32 are worked out from published figures, and 18 are our own estimates. 41 of them were read straight out of a federal file that covers every city in the country, so there was no citation to trust and no page to misread. You can change any of them. Your result is only as good as the numbers you agree with.", "federal_cross_check": {"rule": "Every research claim about charging stations, population or airports is checked against a federal bulk file the pipeline already holds on disk: chargers against the DOE/AFDC station snapshot (open, public sites within 10 straight-line miles of the Census town center), population against the Census place and county estimates, airports against the FAA enplanement file. Confirmed means the federal file agrees within tolerance (a stall count within 25% or one stall; a figure within 5%). Disputed means the federal file holds a different figure -- both are printed and the pack keeps its own citation. Unconfirmed means the federal file has no record of the thing claimed, which is never treated as false: the locator is voluntary submission and grant-funded sites lag it. Hospital claims are not checked because no federal hospital file is cached. A planned or permitted site never counts as present.", "checked_on": "2026-09-18", "town_center": [43.59805, -116.231596], "geoid": "1608830", "files": {"chargers": {"name": "US DOE Alternative Fuels Data Center station locator", "snapshot": "2026-09-16", "rows": "89386", "views": "dcfc_public / l2_public (status E, public, unrestricted)", "path": "../../american_adventurer/data/camp_leads.sqlite"}, "population": {"place": {"name": "Boise City city", "population": 238429, "vintage": "2025", "file": "sub-est2025.csv", "read_on": "2026-09-07"}, "county": {"name": "Ada County", "population": 546141, "vintage": "2025", "file": "co-est2025-alldata.csv", "read_on": "2026-09-07"}, "name": "US Census Bureau population estimates, vintage 2025"}, "airports": {"name": "FAA CY2024 commercial service enplanements + FAA airport layer", "read_on": "2026-09-07"}, "hospitals": {"skipped": "no federal hospital file is cached (CMS Hospital General Information would be the file; it is not fetched by this rule)"}}, "federal_chargers_within_10mi": {"dcfc_sites": 13, "dcfc_ports": 52, "dcfc_list": [{"name": "Boise, ID - North Orchard Street - Tesla Supercharger", "network": "Tesla", "ports": 8, "connectors": "TESLA", "miles": 1.2, "open_date": "2023-10-05"}, {"name": "AAA OR ID AAA-BOI3", "network": "ChargePoint Network", "ports": 1, "connectors": "CHADEMO J1772COMBO", "miles": 2.2, "open_date": "2024-10-11"}, {"name": "AAA OR ID AAA-BOI2", "network": "ChargePoint Network", "ports": 1, "connectors": "CHADEMO J1772COMBO", "miles": 2.2, "open_date": "2024-10-11"}, {"name": "Lyle Pearson Acura", "network": "Blink Network", "ports": 2, "connectors": "J1772COMBO", "miles": 2.3, "open_date": "2023-05-30"}, {"name": "Boise, ID - Tesla Supercharger", "network": "Tesla", "ports": 8, "connectors": "TESLA", "miles": 2.4, "open_date": "2015-08-06"}, {"name": "Walmart 2508 (Boise, ID) (Boise, ID)", "network": "Electrify America", "ports": 4, "connectors": "CHADEMO J1772COMBO", "miles": 2.6, "open_date": "2019-04-26"}, {"name": "L072 PL-BOISE-02", "network": "ChargePoint Network", "ports": 2, "connectors": "J1772COMBO", "miles": 3.3, "open_date": "2025-12-30"}, {"name": "L072 BOISE-PL01", "network": "ChargePoint Network", "ports": 2, "connectors": "J1772COMBO", "miles": 3.3, "open_date": "2025-12-30"}, {"name": "KENDALL HYU BOI FV L3 #1", "network": "ChargePoint Network", "ports": 1, "connectors": "CHADEMO J1772COMBO", "miles": 3.6, "open_date": "2024-04-19"}, {"name": "KENDALL HYU BOI FV L3 #2", "network": "ChargePoint Network", "ports": 1, "connectors": "CHADEMO J1772COMBO", "miles": 3.6, "open_date": "2024-04-19"}, {"name": "Jackson's Store 105", "network": "ONPOINT_EV_SOLUTIONS", "ports": 8, "connectors": "J1772COMBO TESLA", "miles": 6.2, "open_date": "2026-05-01"}, {"name": "Kendall Meridian Ford", "network": "Blink Network", "ports": 6, "connectors": "J1772 J1772COMBO", "miles": 8.0, "open_date": "2023-10-13"}, {"name": "WinCo Foods - Tesla Supercharger", "network": "Tesla", "ports": 8, "connectors": "TESLA", "miles": 8.0, "open_date": "2026-08-14"}], "l2_sites": 63, "l2_ports": 190, "nearest_dcfc": {"name": "Boise, ID - North Orchard Street - Tesla Supercharger", "network": "Tesla", "ports": 8, "connectors": "TESLA", "miles": 1.2, "city": "Boise", "state": "ID"}}, "counts": {"confirmed": 5, "disputed": 1, "unconfirmed": 0, "skipped_no_file": 3, "claims": 9, "records_touched": 7, "records_read_from_a_federal_file_not_rechecked": 41}, "findings": [{"record": "power_dcfc", "field": "why", "subject": "chargers", "claim": "Electrify America fast charging here", "claim_text": "Walk-up price at the Electrify America site at Walmart Supercenter, 8300 W Overland Rd, Boise — open to any CCS EV, any hour.", "verdict": "confirmed", "federal": "the snapshot lists Walmart 2508 (Boise, ID) (Boise, ID) (Electrify America, 4 fast ports, 2.6 mi)", "tolerance": "within 10 straight-line miles of the Census town center; a stall count within 25% or one stall"}, {"record": "power_dcfc", "field": "why", "subject": "chargers", "claim": "Tesla Supercharger fast charging here", "claim_text": "Tesla Superchargers also operate in Boise and often post a lower member rate;", "verdict": "confirmed", "federal": "the snapshot lists Boise, ID - North Orchard Street - Tesla Supercharger (Tesla, 8 fast ports, 1.2 mi)", "tolerance": "within 10 straight-line miles of the Census town center; a stall count within 25% or one stall"}, {"record": "visitors_year", "field": "why", "subject": "airports", "claim": "5,229,399 passengers or enplanements", "claim_text": "Visit Boise's own tourism-matters page reports calendar year 2025 airport passenger stats: 5,229,399 passengers through BOI, of whom 47.2% lived farther than 150 miles, which they state as 2.4 million visitors.", "verdict": "disputed", "federal": "the note gives 5,229,399; the FAA file gives 2,475,370 CY2024 enplanements (2,369,164 in CY2023) for BOI", "tolerance": "within 5%"}, {"record": "generators_note", "field": "value", "subject": "hospitals", "claim": "hospital bed count", "claim_text": "Luke's Boise (flagship hospital, expanding toward 500+ beds);", "verdict": "skipped", "federal": "no federal hospital file is cached (CMS Hospital General Information would be the file; it is not fetched by this rule)", "tolerance": ""}, {"record": "visitor_air_arrival_share", "field": "math", "subject": "airports", "claim": "2,475,370 passengers or enplanements", "claim_text": "2,475,370 boardings at BOI in calendar 2024 (FAA, a federal file) divided by 2,400,000 visitors a year = 1.031.", "verdict": "confirmed", "federal": "the note gives 2,475,370; FAA CY2024 enplanements for BOI = 2,475,370 -- within 5%", "tolerance": "within 5%"}, {"record": "rides_per_day", "field": "math", "subject": "population", "claim": "238,429 people", "claim_text": "Residents: 238,429 people x 0.8151 adults = 194,343 adults;", "verdict": "confirmed", "federal": "the note says 238,429; the Census file says Boise City city 238,429 (Census vintage 2025) -- within 5%", "tolerance": "within 5%"}, {"record": "notes.power", "field": "text", "subject": "chargers", "claim": "Electrify America fast charging here", "claim_text": "DCFC is Electrify America at Overland Rd Walmart;", "verdict": "confirmed", "federal": "the snapshot lists Walmart 2508 (Boise, ID) (Boise, ID) (Electrify America, 4 fast ports, 2.6 mi)", "tolerance": "within 10 straight-line miles of the Census town center; a stall count within 25% or one stall"}, {"record": "notes.geography", "field": "text", "subject": "hospitals", "claim": "hospital bed count", "claim_text": "Hospital beds disagree: Wikipedia 437 for the Boise campus;", "verdict": "skipped", "federal": "no federal hospital file is cached (CMS Hospital General Information would be the file; it is not fetched by this rule)", "tolerance": ""}, {"record": "notes.geography", "field": "text", "subject": "hospitals", "claim": "hospital bed count", "claim_text": "Supporting pages also retrieved: https://www.boisestate.edu/about/facts/ (28,519 census), https://www.saintalphonsus.org/location/saint-alphonsus-regional-medical-center-boise (381 licensed beds), https://stlukesonline.org/en/healthier-communities/commitments-and-impact/st-lukes-boise-development-pl", "verdict": "skipped", "federal": "no federal hospital file is cached (CMS Hospital General Information would be the file; it is not fetched by this rule)", "tolerance": ""}]}, "citation_recheck": {"on": "2026-09-24", "how": "Every citation this pack's build-time check reported as failed was fetched again by hand on 2026-09-24: one request at a time, with the header set a real browser sends, a pause between hosts, a retry with a back-off on 403, 429 and 5xx, and redirects followed and recorded.", "counts": {"rechecked": 3, "gone": 0, "moved": 0, "blocked": 0, "flaky": 0, "answers_normally": 3, "passes_the_same_test_now": 1, "still_fails_the_same_test": 2, "could_not_be_read_today": 0}, "what_this_means": "A citation counted as failed at build time is not the same thing as a dead link. None of this pack's failed citations is a dead page. Where the URL answers and the same test now passes, the original failure was our own fetch being refused, not the source.", "citations": [{"record": "airport_flights_note", "url": "https://www.directflights.com/BOI", "url_today": "answers normally", "detail_today": "HTTP 200 on the first attempt", "build_time_verdict": "never fetched: the cited page could not be fetched (HTTP 403)", "same_test_now": "passes", "same_test_detail": "the page carries 10 of the 13 distinctive words in this note"}, {"record": "ridehail_present", "url": "https://www.uber.com/global/en/r/cities/boise-id-us/", "url_today": "answers normally", "detail_today": "HTTP 200 on the first attempt", "build_time_verdict": "the cited page loads but does not carry the figure (the page carries only 3 of the 14 distinctive words in this note)", "same_test_now": "still fails", "same_test_detail": "the page carries only 3 of the 14 distinctive words in this note"}, {"record": "transit_note", "url": "https://www.valleyregionaltransit.org/how-to-ride/boise-airport-service/", "url_today": "answers normally", "detail_today": "HTTP 200 on the first attempt", "build_time_verdict": "the cited page loads but does not carry the figure (the page carries only 7 of the 14 distinctive words in this note)", "same_test_now": "still fails", "same_test_detail": "the page carries only 7 of the 14 distinctive words in this note"}]}}, "ok": true}