{"id": "asheville-nc", "label": "Asheville, NC", "city": "Asheville", "state": "NC", "county": "Buncombe County", "geography": "multi-district metro", "population": 93523, "researched_on": "2026-09-14", "pipeline_version": "2.1.0", "model": "grok-4.3", "counts": {"total": 78, "sourced": 30, "derived": 31, "estimated": 17}, "gaps": 3, "citations": {"checked": 18, "passed": 13, "failed": 5}, "research_cost_usd": 0.0, "summary": "This is a planning tool, not a prediction. Of the 78 numbers behind a season in Asheville, 30 are published figures, 31 are worked out from published figures, and 17 are our own estimates. 40 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": "asheville-nc", "city": "Asheville", "state": "NC", "label": "Asheville, NC", "county": "Buncombe 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": 93523, "unit": "people", "basis": "sourced", "why": "US Census Bureau vintage 2025 population estimate for Asheville city, North Carolina.", "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 3702140 -- Asheville city, North Carolina"}, "range": [46761, 187046], "editable": true, "theme": "people", "bulk": true}, {"id": "land_area_sqmi", "label": "How big the city is", "value": 45.48, "unit": "sq mi", "basis": "sourced", "why": "Census Bureau Gazetteer land area for Asheville 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_37.txt", "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": "GEOID 3702140 -- Asheville city"}, "range": [22.7, 91.0], "editable": true, "theme": "people", "bulk": true}, {"id": "density", "label": "People per square mile", "value": 2056, "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": "93,523 residents divided by 45.48 square miles of land = 2,056 people per square mile.", "source": null, "range": [822, 5140], "editable": true, "theme": "people", "bulk": true}, {"id": "metro_population", "label": "People in the surrounding county", "value": 277417, "unit": "people", "basis": "sourced", "why": "US Census Bureau vintage 2025 estimate for Buncombe County, North Carolina. 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 37021 -- Buncombe County, North Carolina"}, "range": [138708, 554834], "editable": true, "theme": "people", "bulk": true}, {"id": "airport_name", "label": "Airport name", "value": "Asheville Regional", "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 AVL -- Asheville Regional, Asheville NC"}, "range": null, "editable": true, "depends_on": null, "bulk": true, "theme": "airport"}, {"id": "airport_code", "label": "Airport code", "value": "AVL", "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 AVL -- Asheville Regional, Asheville NC"}, "range": null, "editable": true, "depends_on": null, "bulk": true, "theme": "airport"}, {"id": "airport_passengers_year", "label": "Passengers boarding a year", "value": 1096465, "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 AVL -- Asheville Regional, Asheville NC"}, "range": [548232, 2192930], "editable": true, "depends_on": null, "bulk": true, "theme": "airport"}, {"id": "airport_traffic_change_pct", "label": "Change in airport traffic, 2023 to 2024", "value": -2.6, "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 1,096,465 against CY2023 1,125,935, both from the same file (https://www.faa.gov/airports/planning_capacity/passenger_allcargo_stats/passenger/arp-cy2024-commercial-service-enplanements.xlsx): (1,096,465 - 1,125,935) / 1,125,935 = -2.6%.", "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": 9.3, "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 (35.570972, -82.552725, from the Census Gazetteer place file) and the FAA's airport coordinate (35.436120, -82.542051, from https://services6.arcgis.com/ssFJjBXIUyZDrSYZ/arcgis/rest/services/US_Airport/FeatureServer/0) = 9.3 miles. Straight line, not road miles.", "source": null, "range": [4.7, 23.3], "editable": true, "depends_on": null, "bulk": true, "theme": "airport"}, {"id": "airport_alternatives_note", "label": "Busier airports within reach", "value": "Charlotte/Douglas International (CLT) 94 mi away, 28,523,822 boardings a year; McGhee Tyson (TYS) 83 mi away, 1,639,080 boardings a year; Greenville Spartanburg International (GSP) 50 mi away, 1,412,702 boardings a year", "unit": "", "basis": "sourced", "why": "The nearest airport is not always the one people use. These are the busier commercial airports within 120 miles, from the same FAA file, so a reader can see the choice a traveller here actually has.", "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 AVL -- Asheville Regional, Asheville NC"}, "range": null, "editable": true, "depends_on": null, "bulk": true, "theme": "airport"}, {"id": "power_state_avg", "label": "Average price of electricity in this state", "value": 0.1474, "unit": "$/kWh", "basis": "sourced", "why": "The EIA's own average price to residential customers across North Carolina 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": "North Carolina, June 2026"}, "range": [0.074, 0.295], "editable": true, "depends_on": null, "bulk": true, "theme": "power"}, {"id": "power_state_avg_commercial", "label": "Average business electricity price in this state", "value": 0.1051, "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": "North Carolina, June 2026"}, "range": [0.053, 0.21], "editable": true, "depends_on": null, "bulk": true, "theme": "power"}, {"id": "power_state_avg_ytd", "label": "Average electricity price this year so far", "value": 0.149, "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": "North Carolina, June 2026 YTD"}, "range": [0.074, 0.298], "editable": true, "depends_on": null, "bulk": true, "theme": "power"}, {"id": "power_utility_candidates", "label": "Utilities that serve this county", "value": "Duke Energy Carolinas, LLC (1,919,372 customers in NC); Duke Energy Progress - (NC) (1,356,079 customers in NC); French Broad Elec Member Corp (36,147 customers in NC); Haywood Electric Member Corp (29,078 customers in NC)", "unit": "", "basis": "sourced", "why": "Every utility filing an EIA-861 service territory for Buncombe County. More than one is large enough here that the county file cannot say which one this town is on, so it does not say.", "math": null, "source": {"name": "US Energy Information Administration, Form EIA-861 2024 service territory", "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": "Buncombe County, NC"}, "range": null, "editable": true, "depends_on": null, "bulk": true, "theme": "power"}, {"id": "climate_station", "label": "Weather station these figures come from", "value": "ASHEVILLE, NC US (USW00013872), 1.7 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. 2 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 USW00013872", "date": "1991-2020", "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/USW00013872.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": "ASHEVILLE, NC US (USW00013872), 1.7 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": 57.3, "unit": "F", "basis": "derived", "why": "The mean of the twelve monthly normals, 1991-2020.", "math": "NOAA 1991-2020 monthly normals for station USW00013872: the twelve MLY-TAVG-NORMAL values averaged = 57.3F.", "source": null, "range": [42.3, 72.3], "editable": true, "depends_on": null, "bulk": true, "theme": "weather"}, {"id": "temp_coldest_month_avg_f", "label": "Average temperature in the coldest month", "value": 38.2, "unit": "F", "basis": "sourced", "why": "January 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 USW00013872", "date": "1991-2020", "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/USW00013872.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": "ASHEVILLE, NC US (USW00013872), 1.7 mi from the city centre"}, "range": [23.2, 53.2], "editable": true, "depends_on": null, "bulk": true, "theme": "weather"}, {"id": "temp_hottest_month_avg_f", "label": "Average temperature in the hottest month", "value": 75.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 USW00013872", "date": "1991-2020", "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/USW00013872.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": "ASHEVILLE, NC US (USW00013872), 1.7 mi from the city centre"}, "range": [60.3, 90.3], "editable": true, "depends_on": null, "bulk": true, "theme": "weather"}, {"id": "precip_year_in", "label": "Rain and melted snow in a year", "value": 40.61, "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 USW00013872: the twelve MLY-PRCP-NORMAL values summed = 40.61 inches a year.", "source": null, "range": [20.3, 73.1], "editable": true, "depends_on": null, "bulk": true, "theme": "weather"}, {"id": "wet_days_year", "label": "Days a year with measurable rain", "value": 130.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 USW00013872: the twelve MLY-PRCP-AVGNDS-GE001HI values summed = 130.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": 11.5, "unit": "in/year", "basis": "derived", "why": "From station USW00013872, 1.7 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 ASHEVILLE, NC US (USW00013872), 1.7 miles from the city centre: the twelve MLY-SNOW-NORMAL values summed = 11.5 inches a year.", "source": null, "range": [0, 23], "editable": true, "depends_on": null, "bulk": true, "theme": "weather"}, {"id": "snow_days_year", "label": "Days a year with measurable snow", "value": 10.4, "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 USW00013872", "date": "1991-2020", "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/USW00013872.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": "ASHEVILLE, NC US (USW00013872), 1.7 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.8518, "unit": "share", "basis": "derived", "why": "Residents 18 and over in Asheville, NC, 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 1600000US3702140: total population 94,535, of whom 14,009 are under 18 (the eight under-18 age bands for males and females). (94,535 - 14,009) / 94,535 = 0.8518.", "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": 71102, "unit": "$/year", "basis": "sourced", "why": "The median household income in Asheville, NC. 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 1600000US3702140, B19013_E001"}, "range": [35551, 142204], "editable": true, "depends_on": null, "bulk": true, "theme": "people"}, {"id": "no_vehicle_share", "label": "Share of households with no car", "value": 0.0762, "unit": "share", "basis": "derived", "why": "Households in Asheville, NC 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 1600000US3702140: 37,394 occupied households, of which 351 owner-occupied (B25044_E003) and 2,500 renter-occupied (B25044_E010) have no vehicle available. (351 + 2,500) / 37,394 = 0.0762, or 7.6%.", "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.6607, "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 1600000US3702140: 31,535 of 47,729 workers 16 and over (B08301_E003 / B08301_E001) = 0.6607, or 66.07%.", "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.013, "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 1600000US3702140: 619 of 47,729 workers 16 and over (B08301_E010 / B08301_E001) = 0.0130, or 1.30%.", "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.0056, "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 1600000US3702140: 266 of 47,729 workers 16 and over (B08301_E016 / B08301_E001) = 0.0056, or 0.56%.", "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.2005, "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 1600000US3702140: 9,572 of 47,729 workers 16 and over (B08301_E021 / B08301_E001) = 0.2005, or 20.05%.", "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.2, "unit": "minutes", "basis": "derived", "why": "The mean one-way journey to work in Asheville, NC. 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 1600000US3702140: 693,840 aggregate minutes of travel to work divided by 38,157 workers who did not work from home = 18.2 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": 16.27, "unit": "$/hour", "basis": "sourced", "why": "The median hourly wage for Cleaners of Vehicles and Equipment (occupation 53-7061) in Asheville, NC, 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 'Asheville, NC', 410 people employed in it: median hourly wage $16.27. The national median for the same occupation is $16.96, so this town's labour index is 16.27 / 16.96 = 0.959.", "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 11700 -- Asheville, NC"}, "range": [9.76, 29.29], "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": 16.27, "unit": "$/hour", "note": "occupation 53-7061, Asheville, NC"}], "theme": "costs"}, {"id": "labour_note", "label": "What hand work costs here", "value": "Cleaners of Vehicles and Equipment in Asheville, NC are paid a median of $16.27 an hour (BLS May 2024, occupation 53-7061, 410 employed). The national median for the same job is $16.96, so hand work here costs 96% 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": 0.959, "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 'Asheville, NC' is $16.27 an hour against $16.96 nationally, so 16.27 / 16.96 = 0.959. 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": 0.992, "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,402 a month in Asheville, NC (place level) against $1,413 for the United States from the same table (GEO_ID 0100000US), so 1402 / 1413 = 0.992.", "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": 34, "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 0.959 = $34.\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": [13, 84], "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": 70, "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 0.959 = $70.\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": [28, 174], "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": 145, "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 0.959 = $145.\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": [58, 363], "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": 1265, "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 0.992 = $1,265 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": [506, 3795], "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": 248, "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 $925.08 in NC against $1,281.60 countrywide, so the state index is 925.08 / 1281.60 = 0.722. 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.722 = $248 a month. This is the number in the pack most worth replacing with a real quote. Read on 2026-09-09.", "source": null, "range": [99, 744], "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": 925.08, "unit": "$/year", "note": "NC 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": 211, "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": "$248 (the first car, above) x 0.85 = $211. 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": [84, 633], "editable": true, "depends_on": ["insurance_base_month"], "bulk": true, "theme": "costs", "game_id": "insurance_per_car"}, {"id": "power_utility", "theme": "power", "label": "Electric utility serving Asheville", "value": "Duke Energy Progress", "unit": "", "basis": "sourced", "why": "Duke Energy’s own August 2026 news release states that Duke Energy Progress, not Duke Energy Carolinas, serves the Asheville region; the city is wired by DEP as the NCUC-regulated IOU. This is a secondary source -- it republishes a figure it did not itself produce.", "math": null, "source": {"name": "Duke Energy News Center", "date": "2026-08", "url": "https://news.duke-energy.com/releases/duke-energy-progress-reaches-agreement-with-north-carolina-public-staff-and-other-stakeholders-to-deliver-a-lower-cost-path-to-power-north-carolinas-future", "tier": "secondary", "verified_on": "2026-09-14", "verified_by": "the page carries 3 of the 3 distinctive words in this note"}, "range": [0, 0], "editable": true, "depends_on": null}, {"id": "power_offpeak", "theme": "power", "label": "Overnight electricity", "value": 0.0893, "unit": "$/kWh", "basis": "derived", "why": "All-in Schedule SGS-TOUE Discount energy for a small commercial DEP customer under 30 kW: bundled energy+delivery from the tariff plus the official SGS rider total and both storm securitization riders. This is the overnight super-off-peak window (summer 1:00–6:00 a.m. every day; winter only 1:00–3:00 a.m.), not a split of the EIA state average. Midnight–1:00 a.m. is billed at the slightly higher Off-Peak energy charge.", "math": "SGS-TOUE Discount 7.624¢/kWh (tariff energy, delivery bundled) + Leaf 600 SGS rider total 1.047¢ + Rider STS 0.147¢ + Rider STS-2 0.111¢ = 8.929¢ = $0.0893/kWh. Excludes NC sales tax and the monthly CEPS/customer charges, so the billed all-in is a little higher. Likely conservative on tax; slightly optimistic if charging starts at midnight rather than 1 a.m. A site at or above 30 kW leaves this schedule. URLs: https://www.duke-energy.com/-/media/pdfs/for-your-home/rates/dep-nc/leaf-no-521-schedule-sgs-toue.pdf ; https://www.duke-energy.com/-/media/pdfs/for-your-home/rates/dep-nc/leaf-no-600-summary-of-riders.pdf ; https://www.duke-energy.com/-/media/pdfs/for-your-home/rates/dep-nc/leaf-no-607-rider-sts-ry1.pdf ; https://www.duke-energy.com/-/media/pdfs/for-your-home/rates/dep-nc/leaf-no-613-rider-sts.pdf", "source": null, "range": [0.05, 0.16], "editable": true, "depends_on": null, "game_id": "power_offpeak"}, {"id": "power_mid", "theme": "power", "label": "Midday electricity", "value": 0.1103, "unit": "$/kWh", "basis": "derived", "why": "All-in SGS-TOUE Off-Peak energy (every hour that is not On-Peak or Discount). In summer this covers roughly 6:00 a.m.–6:00 p.m. on weekdays and all weekend hours outside 1:00–6:00 a.m.; it is the right tariff bucket for 06:00–16:00, not an EIA-average shape. Winter weekdays 6:00–9:00 a.m. are On-Peak and 11:00 a.m.–4:00 p.m. are Discount, so this midday figure overstates a winter 11:00–16:00 session.", "math": "SGS-TOUE Off-Peak 9.721¢/kWh + SGS riders 1.047¢ + STS 0.147¢ + STS-2 0.111¢ = 11.026¢ = $0.1103/kWh. Same exclusions as overnight (sales tax, monthly CEPS). Same tariff and rider URLs as power_offpeak.", "source": null, "range": [0.06, 0.18], "editable": true, "depends_on": null, "game_id": "power_mid"}, {"id": "power_onpeak", "theme": "power", "label": "Evening peak electricity", "value": 0.2077, "unit": "$/kWh", "basis": "derived", "why": "All-in SGS-TOUE On-Peak energy. DEP’s on-peak window is only 6:00–9:00 p.m. weekdays in May–September and 6:00–9:00 a.m. weekdays in October–April (holidays off-peak)—not the whole 16:00–midnight block. Using this rate for every evening hour overstates cost; most of 16:00–24:00 is Off-Peak at $0.1103.", "math": "SGS-TOUE On-Peak 19.463¢/kWh + SGS riders 1.047¢ + STS 0.147¢ + STS-2 0.111¢ = 20.768¢ = $0.2077/kWh. Same exclusions as the other TOU periods. Same tariff and rider URLs as power_offpeak.", "source": null, "range": [0.12, 0.4], "editable": true, "depends_on": null, "game_id": "power_onpeak"}, {"id": "power_dcfc", "theme": "power", "label": "Public DC fast charging", "value": 0.61, "unit": "$/kWh", "basis": "sourced", "why": "Posted public (non-member) price at the Tesla Supercharger at 40 Westgate Pkwy, Asheville, NC 28806 — 20 stalls, open to all EVs; CCS needs a NACS adapter. Third-party page compiling Tesla’s public station data as of 13 Sep 2026, not Tesla’s own site. Electrify America at Sam’s Club (645 Patton Ave) posts $0.60/kWh 10:00 a.m.–10:00 p.m. and $0.40/kWh overnight, a CCS alternative. This is a secondary source -- it republishes a figure it did not itself produce.", "math": null, "source": {"name": "DCFC Tracker (Tesla Supercharger, Asheville Westgate)", "date": "2026-09", "url": "https://dcfctracker.com/stations/397001", "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": "20 fast-charging stalls (Tesla Supercharger)", "federal": "the note counts 20 stalls; the snapshot lists Asheville, NC - Westgate Parkway - Tesla Supercharger with 20 fast ports 1.9 mi from the town center (TESLA)", "checked_on": "2026-09-18", "findings": 1}}, {"id": "power_tou_note", "theme": "power", "label": "Time-of-use tariff available", "value": "Yes — Schedule SGS-TOUE (small commercial, under 30 kW) and residential Schedule R-TOU; overnight Discount 1–6am summer", "unit": "", "basis": "sourced", "why": "DEP publishes a voluntary small-commercial all-energy TOU (SGS-TOUE) a small operator can take if contract demand stays under 30 kW, plus residential R-TOU (commercial use forbidden) and a residential EV pilot R-TOU-EV (11pm–5am Discount). This is a real off-peak window, not a gap filled from the EIA average. This is a secondary source -- it republishes a figure it did not itself produce.", "math": null, "source": {"name": "Duke Energy Progress NC Schedule SGS-TOUE", "date": "2025-10", "url": "https://www.duke-energy.com/-/media/pdfs/for-your-home/rates/dep-nc/leaf-no-521-schedule-sgs-toue.pdf", "tier": "secondary", "verified_on": "2026-09-14", "verified_by": "the page carries 8 of the 11 distinctive words in this note"}, "range": [0, 0], "editable": true, "depends_on": null}, {"id": "ridehail_present", "theme": "demand", "label": "Ride-hail and taxi services on the ground", "value": "Uber, Lyft, and local AVL Ride (Asheville Taxi) operate 24/7; supply is thin — longer waits than larger cities, and AVL Taxi fields about 50 gig drivers in a typical week plus a small owned fleet", "unit": "", "basis": "estimated", "why": "Operator pages and the airport list Uber, Lyft, and Asheville Taxi as live ride apps; U.S. News and local reporting describe thin supply and longer waits, which is the right local picture for a city of ~93,500. Unconfirmed -- treated as our estimate.", "math": "Verification failed on https://travel.usnews.com/Asheville_NC/Getting_Around/: the cited page could not be fetched (ReadTimeout: HTTPSConnectionPool(host='travel.usnews.com', port=443): Read timed out. (read timeout=45) -- and gave up after 120s of trying). 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": [0, 1], "editable": true, "depends_on": null, "federal_check": {"verdict": "confirmed", "subject": "population", "claim": "93,500 people", "federal": "the note says 93,500; the Census file says Asheville city 93,523 (Census vintage 2025) -- within 5%", "checked_on": "2026-09-18", "findings": 1}}, {"id": "transit_note", "theme": "demand", "label": "Public bus system hours", "value": "Yes: Asheville Rides Transit (ART) runs 18 city routes Mon–Sat about 5:30 a.m.–10:30 p.m. and Sundays/holidays about 8:30 a.m.–6:30 p.m.; no late-night bus after ~10:30 p.m.", "unit": "", "basis": "sourced", "why": "The city's own transit page is the primary source for whether an evening/weekend bus exists; last city bus at 10:30 p.m. weeknights pushes bar, hospital-shift, and visitor trips onto cars.", "math": null, "source": {"name": "City of Asheville, Transit (ART)", "date": "2026-05", "url": "https://www.ashevillenc.gov/department/transit/", "tier": "primary", "verified_on": "2026-09-14", "verified_by": "the page carries 13 of the 14 distinctive words in this note"}, "range": [0, 1], "editable": true, "depends_on": null}, {"id": "trip_mi_avg", "theme": "demand", "label": "Average paid trip length", "value": 5.0, "unit": "miles", "basis": "estimated", "why": "Nobody publishes a local TNC mean; 5.0 miles is a geography-based blend of the city's 45.48 sq mi land area, the 18.2-minute mean commute, and the 13-mile airport-to-downtown run.", "math": "Equivalent-circle radius of 45.48 sq mi is sqrt(45.48/pi)=3.81 mi, so two random points average ~3.45 mi — a floor for intra-city hops. The 18.2-minute mean commute at 18–22 mph urban speed is 5.5–6.7 mi one-way; ride-hail trips are typically shorter than commutes (0.2005 of workers here work from home). Uber lists AVL–Asheville at 13 mi, which pulls the mean up. National TNC means (Schaller 6.1 mi overall; ~4.9 in large metros) were stepped down ON this compact land area and short commute. Mix used: 0.38 of trips at ~1.8 mi + 0.47 at ~5.0 mi + 0.15 airport/long at 13 mi = 0.68+2.35+1.95=4.98, rounded to 5.0. Likely a little low if airport and Biltmore-area tourist runs are a larger share than assumed.", "source": null, "range": [2.0, 12.0], "editable": true, "depends_on": null}, {"id": "trip_mi_short_share", "theme": "demand", "label": "Share of trips under 3 miles", "value": 0.38, "unit": "share", "basis": "estimated", "why": "Downtown Asheville is a compact bar/brewery core, 7.62% of households have no vehicle, and national TNC distributions put a large minority of paid trips under 3 miles.", "math": "RideAustin published TNC data (a similar midsize city) found about 44% of paid trips under 3 miles. Chicago open TNC data is even shorter-heavy (~26% under 2 miles, ~50% under 4). Stepped down from ~0.44 ON Asheville's walkable downtown (some sub-1-mile hops walk) and ON the 0.2005 work-from-home share, which cuts short commute ride-hail. Stepped up a little ON the 0.0762 no-vehicle household share, which generates short errands. 0.38 is consistent with a 5.0-mile mean that still has a 13-mile airport tail. Likely conservative if visitors without cars take many downtown hops.", "source": null, "range": [0.15, 0.6], "editable": true, "depends_on": ["trip_mi_avg"]}, {"id": "trip_mi_long_share", "theme": "demand", "label": "Share of trips over 10 miles", "value": 0.15, "unit": "share", "basis": "estimated", "why": "The paid-ride long tail here is the airport: Uber's own Asheville page puts AVL–downtown at 13 miles, outside the 10-mile cutoff.", "math": "RideAustin TNC data found ~14% of trips over 10 miles; Schaller's suburban/rural TNC mean is 8.7 mi. AVL–Asheville is 13 mi on Uber's city page. Biltmore is only ~4 mi from downtown so it is not in this tail. Airport passenger volume was 2,174,125 in 2024 (airport traffic report) — even a modest TNC share of those arrivals/departures is enough to put ~0.12–0.20 of all paid rides over 10 miles. Used 0.15, slightly above the RideAustin analog, stepped up ON the 13-mile airport pair. Direction: could be higher in leaf season and lower if most air passengers use rental cars or hotel shuttles (the airport lists both).", "source": null, "range": [0.05, 0.3], "editable": true, "depends_on": ["trip_mi_avg"], "federal_check": {"verdict": "confirmed", "subject": "airports", "claim": "2,174,125 passengers or enplanements", "federal": "the note gives 2,174,125; FAA 2 x CY2024 enplanements (total passengers, both directions) for AVL = 2,192,930 -- within 5%", "checked_on": "2026-09-18", "findings": 1}}, {"id": "night_share", "theme": "demand", "label": "Share of demand between 21:00 and 03:00", "value": 0.18, "unit": "share", "basis": "estimated", "why": "Asheville's brewery/bar core, Mission Hospital shift changes, and UNCA nights sit after ART's last bus (~10:30 p.m. Mon–Sat, ~6:30 p.m. Sunday), so this window is a real paid-ride market.", "math": "The 21:00–03:00 window is 6/24=0.25 of clock time, but demand is not uniform. Local operator Woodward McKee (Mountain Xpress): Friday demand runs from about 3 p.m. until bars close; Saturday night is 'totally crazy'; early Sunday is an airport rush. NC last call is about 2 a.m. (downtown rooms advertise 9 p.m.–2 a.m.). Rough mix: ~35% of weekly paid trips on Fri–Sat with ~0.32 of those in the night window, plus ~65% on other days with ~0.10 in the night window → 0.35×0.32 + 0.65×0.10 = 0.112+0.065=0.177, rounded to 0.18. Stepped up from a uniform 0.25? No — stepped down from clock share ON weaker weekday nights, then up ON no late bus, hospital, and tourist bars. Likely conservative — ignores UNCA late-night Fridays and 24-hour hospital discharges; Helene recovery may have cut 2024–25 nightlife.", "source": null, "range": [0.08, 0.35], "editable": true, "depends_on": null}, {"id": "visitors_year", "theme": "demand", "label": "Annual visitors", "value": 13900000, "unit": "visitors/year", "basis": "estimated", "why": "Explore Asheville / Tourism Economics visitor volume for calendar year 2023, the most recent complete year with a published headcount (Asheville is defined in that study as Buncombe County; 2024 spending was released without a visitor count). Unconfirmed -- treated as our estimate.", "math": "Verification failed on https://www.exploreasheville.com/sites/default/files/2025-02/Asheville-Buncombe-County-Tourism-Economic-Impact-2023.pdf: 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": [5000000, 20000000], "editable": true, "depends_on": null}, {"id": "visitor_party_size", "theme": "demand", "label": "Average visiting party size", "value": 2.5, "unit": "people", "basis": "sourced", "why": "Visit NC's 2024 statewide average party size (overnight and day-trip both 2.5); Explore Asheville has not published a newer city-specific figure (the 2012–14 CVB overnight-leisure profile was 2.28, so 2.5 is a little high for this couples-heavy mountain weekend market). This is a secondary source -- it republishes a figure it did not itself produce.", "math": null, "source": {"name": "Visit North Carolina, 2024 North Carolina Visitor Profile", "date": "2025-08", "url": "https://www.visitnc.com/sites/default/files/2025-08/2024%20North%20Carolina%20Visitor%20Profile_0.pdf", "tier": "secondary", "verified_on": "2026-09-14", "verified_by": "the exact quoted text is on the page"}, "range": [1.5, 4.0], "editable": true, "depends_on": null}, {"id": "visitor_nights_avg", "theme": "demand", "label": "Average nights per visiting party", "value": 2.44, "unit": "nights", "basis": "sourced", "why": "Last published Asheville-specific overnight length (CVB / D.K. Shifflet 2012–14 leisure profile); Visit NC 2024 statewide overnight stay is 3.5 nights, pulled up by beach trips, so the older local 2.44 is the better analog for this weekend-getaway city. This is a secondary source -- it republishes a figure it did not itself produce.", "math": null, "source": {"name": "Asheville CVB / D.K. Shifflet, 2014 Asheville Visitor Profile", "date": "2015-06", "url": "http://www.ashevillecvb.com/wp-content/uploads/2009/08/2014-Asheville-Visitor-Profile-06232015.pdf", "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": "rides_reported", "theme": "demand", "label": "Published paid-ride count", "value": 0, "unit": "trips/year", "basis": "estimated", "why": "No public TNC or taxi trip total was found for Asheville or Buncombe after checking the five required source classes; zero is an absence, not a measured floor.", "math": "(1) State taxicab/TNC authority: North Carolina regulates TNCs at the DMV (G.S. 20-280) and since July 2025 collects a transportation-commerce tax on TNC/taxi gross receipts (NCDOR FAQs), but NCDOT's 2025 annual performance report and NCDOR pages publish no trip counts — unlike Nevada's Taxicab Authority. (2) City/county TNC permit reports and open data: N.C.G.S. 160A-304(c) bars cities from regulating TNCs; the City of Asheville ArcGIS open-data hub returned no TNC/taxi trip dataset. (3) Airport ground transportation: flyAVL lists Uber, Lyft, and Asheville Taxi as ride apps and publishes monthly passenger traffic (2,174,125 passengers in 2024) but the December 2024 traffic report has enplaned/deplaned passengers and aircraft ops only — no TNC pickup counts (unlike PHX). (4) MPO travel survey: FBRMPO's site and older MTP model docs describe a household travel survey and a travel-survey update still in progress as of early 2026; no published TNC trip total. (5) Local reporting: Mountain Xpress (Oct 2023) quotes AVL Taxi's ~50 weekly gig drivers and bar-close demand but no trip census; WLOS covers airport pickup relocation, not volumes. Absence is auditable; a 2024–25 tax return series does not yet exist in public form.", "source": null, "range": [0, 20000000], "editable": true, "depends_on": null, "federal_check": {"verdict": "confirmed", "subject": "airports", "claim": "2,174,125 passengers or enplanements", "federal": "the note gives 2,174,125; FAA 2 x CY2024 enplanements (total passengers, both directions) for AVL = 2,192,930 -- within 5%", "checked_on": "2026-09-18", "findings": 1}}, {"id": "geography_type", "theme": "geography", "label": "City shape", "value": "multi-district metro", "unit": "", "basis": "estimated", "why": "Downtown, West Asheville, the River Arts District, North Asheville/UNCA and Biltmore Village sit far enough apart that a fleet has to choose a base; this is not a single town one car covers.", "math": "Asheville.com documents six neighborhoods that do not blend into one fabric: West Asheville is a 15–20 minute drive from downtown across I-26/the French Broad, the River Arts District is ~10 minutes, North Asheville 10–15 minutes, South Slope a 5-minute walk from downtown. Biltmore Village/Estate is a separate southern tourist node, and AVL is 9.3 miles south in Fletcher. That is several distinct demand districts, not a single-radius town.", "source": null, "range": [0, 1], "editable": true, "depends_on": null}, {"id": "city_radius_mi", "theme": "geography", "label": "City radius", "value": 3.8, "unit": "mi", "basis": "derived", "why": "No published centre-to-edge radius; this is the equivalent-circle radius of the settled 45.48 sq mi land area, a fair built-up radius for fleet coverage.", "math": "r = sqrt(land area / π) = sqrt(45.48 / 3.1416) = sqrt(14.48) = 3.80 miles. This treats the city as a compact disk. Asheville is elongated along the French Broad and includes the large Biltmore estate, so the farthest built-up edge is a bit longer than 3.8 mi; the airport at 9.3 mi is outside the city. Likely a slight underestimate of the longest axis.", "source": null, "range": [2.5, 8], "editable": true, "depends_on": null}, {"id": "district_count", "theme": "geography", "label": "Demand districts", "value": 6, "unit": "", "basis": "sourced", "why": "Local guide names six distinct neighborhoods that do not form one walkable urban fabric; those are the bases a fleet would actually choose among. This is a secondary source -- it republishes a figure it did not itself produce.", "math": null, "source": {"name": "Asheville.com neighborhood guide", "date": "2026-03", "url": "https://www.asheville.com/neighborhood-guide/", "tier": "secondary", "verified_on": "2026-09-14", "verified_by": "the exact quoted text is on the page"}, "range": [3, 10], "editable": true, "depends_on": null}, {"id": "districts_note", "theme": "geography", "label": "Named districts", "value": "downtown; South Slope brewery blocks; West Asheville (Haywood Road); River Arts District; Montford; North Asheville/UNCA", "unit": "", "basis": "sourced", "why": "Those are the six neighborhoods Asheville.com treats as genuinely different; Biltmore Village/Estate sits just south of this set as the tourist gate, not counted in the six. This is a secondary source -- it republishes a figure it did not itself produce.", "math": null, "source": {"name": "Asheville.com neighborhood guide", "date": "2026-03", "url": "https://www.asheville.com/neighborhood-guide/", "tier": "secondary", "verified_on": "2026-09-14", "verified_by": "the page carries 14 of the 14 distinctive words in this note"}, "range": [0, 1], "editable": true, "depends_on": ["district_count"]}, {"id": "airport_flights_note", "theme": "geography", "label": "Airport flight pattern", "value": "~44 daily passenger departures to 23 U.S. cities; several daily to Charlotte, Atlanta and Chicago; Allegiant leisure base, not a hub", "unit": "", "basis": "estimated", "why": "Schedule aggregator count of takeoffs, corroborated by the airport's own nonstop list and the CVB's hub frequencies; this is a spoke/leisure airport, not a connecting hub. Unconfirmed -- treated as our estimate.", "math": "Verification failed on https://www.directflights.com/AVL: 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": [0, 1], "editable": true, "depends_on": null}, {"id": "generators_note", "theme": "geography", "label": "Demand generators", "value": "Mission Hospital (733 licensed acute-care beds, Level I trauma); Biltmore Estate (1M+ visitors/year; 4,000–5,000 guests on a busy day); UNC Asheville (3,056 students); A-B Tech (6,510); Harrah's Cherokee Center downtown", "unit": "", "basis": "derived", "why": "These are the named loads a fleet actually feels: the regional hospital, the estate that fills the town, the two in-city colleges, and the downtown arena.", "math": "Hospital 733 licensed acute-care beds (BPR, Apr 2026). Biltmore: more than one million guests a year (FOX Carolina, Oct 2025) and 4,000–5,000 guests on a typical busy day (WLOS, Nov 2025). UNCA 3,056 (2024–25) + A-B Tech 6,510 (2024 IPEDS). Warren Wilson (~791) is in Swannanoa, not the city, so omitted here.", "source": null, "range": [0, 1], "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": 2}}, {"id": "hospital_beds", "theme": "geography", "label": "Largest hospital beds", "value": 733, "unit": "beds", "basis": "sourced", "why": "Current licensed acute-care beds at Mission Hospital, the city's only large hospital and WNC's Level I trauma center; this is licensed capacity, not a staffed-bed census (staffed is typically lower). This is a secondary source -- it republishes a figure it did not itself produce.", "math": null, "source": {"name": "Blue Ridge Public Radio / Asheville Watchdog", "date": "2026-04", "url": "https://www.bpr.org/health/2026-04-01/despite-multiple-safety-sanctions-mission-hospital-receives-state-approval-to-add-95-more-beds-in-asheville", "tier": "secondary", "verified_on": "2026-09-14", "verified_by": "the exact quoted text is on the page"}, "range": [500, 900], "editable": true, "depends_on": null, "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": "college_enrollment", "theme": "geography", "label": "College enrollment", "value": 9566, "unit": "students", "basis": "derived", "why": "Sum of the two colleges physically in the city; Warren Wilson is in Swannanoa and is excluded. Both inputs are IPEDS-style figures republished by third parties, not the registrars' own pages.", "math": "UNC Asheville 3,056 (academic year 2024–25) + A-B Tech 6,510 (2024) = 9,566. A-B Tech is institution-wide, including Enka/Madison/Woodfin campuses, so slightly high for city-only demand. UNCA's fall 2025 census was reported lower (~2,874) after Helene, so this 2024–25 pair is likely a bit high versus the current term.", "source": null, "range": [5000, 15000], "editable": true, "depends_on": null}, {"id": "events_note", "theme": "geography", "label": "Events that move demand", "value": "Christmas at Biltmore (Nov–early Jan, ~330k–343k guests); Warren Haynes Christmas Jam (December, Harrah's Cherokee Center, ~$4.8M local sales)", "unit": "", "basis": "sourced", "why": "These are the two annual events with published crowd or sales figures that actually fill hotels and downtown; Bele Chere is defunct and is not listed. This is a secondary source -- it republishes a figure it did not itself produce.", "math": null, "source": {"name": "FOX Carolina / WLOS", "date": "2025-10", "url": "https://www.foxcarolina.com/2025/10/29/130-year-tradition-biltmore-house-kicks-off-christmas-season/", "tier": "secondary", "verified_on": "2026-09-14", "verified_by": "the page carries 7 of the 13 distinctive words in this note"}, "range": [0, 1], "editable": true, "depends_on": null}, {"id": "insurance_min_liability", "theme": "costs", "label": "Minimum TNC liability limits", "value": "$1,000,000 CSL in TNC service; $50k/$100k/$25k logged-on waiting", "unit": "", "basis": "estimated", "why": "North Carolina's TNC statute, not a broker summary: G.S. 20-280.4 requires $1 million combined single-limit liability while the driver is engaged in TNC service, and $50,000/$100,000/$25,000 while logged on but not providing TNC service. Unconfirmed -- treated as our estimate.", "math": "Verification failed on https://www.ncleg.gov/EnactedLegislation/Statutes/HTML/BySection/Chapter_20/GS_20-280.4.html: the cited page loads but does not carry the figure (the page carries only 1 of the 3 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": [25000, 2000000], "editable": true, "depends_on": null}, {"id": "registration_note", "theme": "costs", "label": "For-hire and TNC vehicle paperwork", "value": "$5,000/yr NCDMV TNC company permit; no city TNC license; TNC cars keep ordinary plates", "unit": "", "basis": "estimated", "why": "G.S. 20-280.3 is the state's required TNC operating permit, $5,000 to apply and $5,000 each annual renewal, paid by the company not per car. G.S. 20-280.10 bars Asheville from adding a TNC license or fee. TNC vehicles are not issued a special for-hire plate (G.S. 20-280.6 only requires proof of ordinary registration). A non-TNC for-hire passenger vehicle of 15 or fewer seats pays $128.50/year under G.S. 20-87(1), which was also retrieved. Unconfirmed -- treated as our estimate.", "math": "Verification failed on https://www.ncleg.gov/EnactedLegislation/Statutes/HTML/BySection/Chapter_20/GS_20-280.3.html: the cited page loads but does not carry the figure (the page carries only 2 of the 9 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": [0, 10000], "editable": true, "depends_on": null}, {"id": "parking_month", "theme": "costs", "label": "Downtown monthly parking", "value": 130, "unit": "$/month", "basis": "sourced", "why": "City of Asheville 24-hour permit at Rankin Avenue Garage, a typical downtown 24/7 city-garage space. This is not a street meter: 24-hour garage permits on the same city page run $100 (Harrah’s Cherokee Center) to $150 (Biltmore Avenue); lots are $65 and on-street permits $30–$50.", "math": null, "source": {"name": "City of Asheville Parking Services", "date": "2026-09", "url": "https://www.ashevillenc.gov/service/apply-for-a-parking-permit/", "tier": "primary", "verified_on": "2026-09-14", "verified_by": "found 130 on the same line as 'rankin avenue'"}, "range": [30, 200], "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": 1.398, "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.0762 here against 0.0835 nationally = 0.91x. Workers commuting by taxi or ride-hail (ACS B08301_016, a line the Census counts explicitly): 0.00560 here against 0.00261 nationally = 2.14x. 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 1.40x, 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.7, 2.8], "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.1611, "unit": "share", "basis": "derived", "why": "The share of adults in Asheville 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 1.40x: 0.1152 x 1.40 = 0.1611. 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.0644 to 0.4027, 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.0644, 0.4027], "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.3, "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.4, 2.3, 2.3, 2.4, 2.3. The MEDIAN, 2.3, is used; the draws spanned 2.3 to 2.4, a factor of 1.04. Only 0.0762 of households have no vehicle and the mean commute is 18.2 minutes, so monthly-active resident users are occasional and take a small handful of trips.", "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.0789, "unit": "share", "basis": "estimated", "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": "1,096,465 boardings at AVL in calendar 2024 (FAA, a federal file) divided by 13,900,000 visitors a year = 0.079. 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. NOTE: this was worked out from 'Annual visitors', whose citation did not survive verification. The arithmetic is unchanged, but it now rests on an unconfirmed figure, so this is an estimate too.", "source": null, "range": [0.039, 0.118], "editable": true, "depends_on": ["airport_passengers_year", "visitors_year"], "theme": "demand", "federal_check": {"verdict": "confirmed", "subject": "airports", "claim": "1,096,465 passengers or enplanements", "federal": "the note gives 1,096,465; FAA CY2024 enplanements for AVL = 1,096,465 -- 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.25, 0.22, 0.25, 0.26, 0.25. The MEDIAN, 0.25, is used; the draws spanned 0.22 to 0.26, a factor of 1.18. AVL is only 9.3 miles from the centre with no rail link, so a taxi or ride-hail is a viable transfer, but a short 2.44-night leisure stay in a mountain region still pushes most air parties into a rental car.", "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.6, "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.6, 0.7, 1, 0.6, 0.6. The MEDIAN, 0.6, is used; the draws spanned 0.6 to 1, a factor of 1.67. A 2.44-night stay in a compact downtown core keeps in-stay ride-hail low, with only occasional extra trips to outlying attractions such as those several miles from the hotel.", "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": 0.639, "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.079 arriving by air x 0.250 of those hiring a ride = 0.039, plus 0.600 trips in town = 0.639 trips a party. Pushing every judgement piece to its own measured extreme gives a range of 0.62 to 1.06. 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": 10705, "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 = 93523 (a published figure); Share of residents who are adults = 0.8518 (worked out from published figures); Local adults taking a ride-hail trip in a given month = 0.1611 (worked out from published figures); Trips a month, per local who rides at all that month = 2.3 (our estimate); Annual visitors = 13900000 (our estimate); Average visiting party size = 2.5 (a published figure); Hired rides one visiting party takes per visit, all in = 0.639 (our estimate). Residents: 93,523 people x 0.8518 adults = 79,663 adults; x 0.1611 who take a ride-hail trip in a given month = 12,834 people; x 2.3 trips each a month = 29,517 trips a month; divided by 30.4 days = 971 resident rides a day. Visitors: 13,900,000 a year / 2.5 people in a party = 5,560,000 visiting parties; x 0.639 ride-hail trips a party takes while it is here / 365 days = 9,734 visitor rides a day. A party shares one car, so a count of visitors is not a count of rides. Visitors are 91% of this total, so the answer turns on the visitor figures more than on the residents. Total: 10,705 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 9,787 rides a day, and at its own high bound 18,710. The 10,705 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. (1) State taxicab/TNC authority: North Carolina regulates TNCs at the DMV (G.S. 20-280) and since July 2025 collects a transportation-commerce tax on TNC/taxi gross receipts (NCDOR FAQs), but NCDOT's 2025 annual performance report and NCDOR pages publish no trip counts — unlike Nevada's Taxicab Authority. (2) City/county TNC permit reports and open data: N.C.G.S. 160A-304(c) bars cities from regulating TNCs; the City of Asheville ArcGIS open-data hub returned no TNC/taxi trip dataset. (3) Airport ground transportation: flyAVL lists Uber, Lyft, and Asheville Taxi as ride apps and publishes monthly passenger traffic (2,174,125 passengers in 2024) but the December 2024 traffic report has enplaned/deplaned passengers and aircraft ops only — no TNC pickup counts (unlike PHX). (4) MPO travel survey: FBRMPO's site and older MTP model docs describe a household travel survey and a travel-survey update still in progress as of early 2026; no published TNC trip total. (5) Local reporting: Mountain Xpress (Oct 2023) quotes AVL Taxi's ~50 weekly gig drivers and bar-close demand but no trip census; WLOS covers airport pickup relocation, not volumes. Absence is auditable; a 2024–25 tax return series does not yet exist in public form. 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": [2676, 42819], "editable": true, "low": 9787, "high": 18710, "cross_check": {"has_cross_check": false, "search_was_audited": true, "searched": "(1) State taxicab/TNC authority: North Carolina regulates TNCs at the DMV (G.S. 20-280) and since July 2025 collects a transportation-commerce tax on TNC/taxi gross receipts (NCDOR FAQs), but NCDOT's 2025 annual performance report and NCDOR pages publish no trip counts — unlike Nevada's Taxicab Authority. (2) City/county TNC permit reports and open data: N.C.G.S. 160A-304(c) bars cities from regulating TNCs; the City of Asheville ArcGIS open-data hub returned no TNC/taxi trip dataset. (3) Airport ground transportation: flyAVL lists Uber, Lyft, and Asheville Taxi as ride apps and publishes monthly passenger traffic (2,174,125 passengers in 2024) but the December 2024 traffic report has enplaned/deplaned passengers and aircraft ops only — no TNC pickup counts (unlike PHX). (4) MPO travel survey: FBRMPO's site and older MTP model docs describe a household travel survey and a travel-survey update still in progress as of early 2026; no published TNC trip total. (5) Local reporting: Mountain Xpress (Oct 2023) quotes AVL Taxi's ~50 weekly gig drivers and bar-close demand but no trip census; WLOS covers airport pickup relocation, not volumes. Absence is auditable; a 2024–25 tax return series does not yet exist in public form.", "verdict": ["none", "five named sources were checked and none of them publishes a trip count for this city"], "our_estimate_per_day": 10705, "our_range_per_day": [2676, 42819]}, "theme": "people", "federal_check": {"verdict": "confirmed", "subject": "population", "claim": "93,523 people", "federal": "the note says 93,523; the Census file says Asheville city 93,523 (Census vintage 2025) -- within 5%", "checked_on": "2026-09-18", "findings": 2}}], "notes": {"power": "Asheville is Duke Energy Progress, not Duke Energy Carolinas — the two have different tariffs. TOU $/kWh figures are all-in energy+delivery+Leaf 600 SGS riders+STS+STS-2 on Schedule SGS-TOUE (effective 1 Oct 2025 energy; riders current as of Jun–Jul 2026); they exclude NC sales tax and monthly CEPS ($10.08) and the $22 customer charge. SGS-TOUE dies at 30 kW registered demand, so a DC fast site would move to MGS and pick up demand charges this pack does not price. Residential R-TOU Discount is 7.372¢ base (~$0.1085 all-in with 3.144¢ residential riders + 0.193¢ STS + 0.144¢ STS-2) but is not available for commercial use. R-TOU-EV is a residential-only pilot (11pm–5am at 6.548¢ base). Tesla Supercharger public $0.61/kWh (Westgate, 13 Sep 2026); Electrify America Sam’s Club Asheville is $0.40/kWh 10pm–10am and $0.60/kWh 10am–10pm (Roamer, EA data).", "demand": "CITY is Asheville, NC. visitors_year is calendar year 2023 (13.9 million) because that is the last year Explore Asheville/Tourism Economics published a visitor HEADCOUNT; 2024 visitor spending was published at $2.65 billion (Visit NC county table, Buncombe $2,646.24 million, −10.8% after Hurricane Helene) with no matching 2024 count — do not swap years. The 2023 study defines Asheville as Buncombe County, not city limits. visitor_party_size 2.5 is Visit NC statewide 2024, not an Asheville survey; the last city-specific party size was 2.28 in the 2012–14 CVB profile. visitor_nights_avg 2.44 is that same 2012–14 overnight-leisure profile; statewide 2024 overnight stay is 3.5 nights. Ride-hail supply cites: Uber city page (24/7, longer pickups), flyAVL ground-transportation providers (Uber, Lyft, Asheville Taxi), avltaxi.com (24/7 since 2014), Mountain Xpress 2023 (~50 AVL Taxi gig drivers/week). ART hours from ashevillenc.gov/department/transit/ (reviewed May 8, 2026). Established Census inputs used in estimates: land area 45.48 sq mi, no-vehicle households 0.0762, mean commute 18.2 min, WFH 0.2005. Do not treat rides_reported=0 as a measured taxi floor.", "geography": "Land area 45.48 sq mi and AVL 9.3 mi / 1,096,465 CY2024 boardings are settled bulk figures, not re-researched. city_radius_mi is the equivalent-circle radius, not a surveyed city-limit radius; Asheville is elongated and includes Biltmore's grounds. hospital_beds 733 is licensed acute-care capacity at Mission (BPR 2026-04), not staffed beds; a 95-bed expansion to 828 was approved but appealed. college_enrollment uses 2024/2024–25 IPEDS republications (College Evaluator for UNCA 3,056; Data USA for A-B Tech 6,510 at https://datausa.io/profile/university/asheville-buncombe-technical-community-college); Warren Wilson (791 in 2024; campus in Swannanoa per warren-wilson.edu/about) is excluded. Airport daily count is from Directflights.com, a schedule aggregator; the airport's own page (flyavl.com/node/299827) lists destinations but not a daily total. Explore Asheville (updated 2026-03-26) says 26 destinations and CLT 6–7x / ATL 5–8x daily. Christmas Jam corroboration: WLOS 2025-12-13, https://www.wlos.com/news/local/asheville-warren-haynes-christmas-jam-harrah-cherokee-center-hurricane-helene-habitat-humanity-beloved-community-local-economy-business-sales-explore-million-tourism ($4.8M). Biltmore busy-day 4,000–5,000 guests: WLOS 2025-11-24. Hurricane Helene (Sep 2024) flooded the River Arts District and Biltmore Village; some generators were still recovering in 2025–26.", "costs": "Insurance and the $5,000 TNC permit are statewide statutes (last TNC-insurance amendment is S.L. 2022-46). The $5,000 is company-level, not per car; TNC drivers keep ordinary NC passenger plates ($46.25/yr under G.S. 20-87(5)). Asheville Ch. 18 taxicab certificates do not apply to TNCs because G.S. 20-280.10 preempts local TNC licensing. From 1 Jul 2025 NCDOR also requires the TNC (not the driver) to register Form NC-TCR and remit a 1.5% exclusive-ride / 1% shared-ride transportation commerce tax on gross receipts — a receipts tax, not a vehicle fee (https://www.ncdor.gov/taxes-forms/other-taxes-and-fees/transportation-commerce-tax-effective-july-1-2025). Parking $130 is Rankin 24-hour; the same city page lists Biltmore 24-hour at $150, Wall Street at $140, Cherokee at $100. The apply-for-a-parking-permit CMS stamp is 2018 but the live table matches the garage rates page retrieved this session; city Fees & Charges hub was last reviewed 27 Aug 2025. Wall Street Garage had construction closures in 2025; monthly holders were allowed to use other city garages."}, "gaps": ["power_utility: 4 utilities file a service territory for Buncombe County, and the two largest -- Duke Energy Carolinas, LLC with 1,919,372 customers and Duke Energy Progress - (NC) with 1,356,079 -- are close enough in size that the county file cannot say which one this city is on. No utility and no utility rate were taken from it; the question goes to the research pass instead.", "visitor_air_arrival_share: downgraded to an estimate because 'visitors_year', which it is derived from, lost its citation", "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": 30, "derived": 31, "estimated": 17}, "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_alternatives_note", "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_candidates", "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": 30, "primary": 19, "secondary": 11, "tier_unknown": 0, "no_citation_derived_or_estimated": 48, "read_from_a_federal_bulk_file": 40, "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": 40, "records_needing_no_citation_check": 17, "record_ids": ["adult_share", "airport_alternatives_note", "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_candidates", "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": 4, "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": 4, "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": 4, "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"}, "gaz_place_38.txt": {"downloads": 0, "bytes": 39566, "wire_bytes": 0, "reuses": 1, "url": "https://www2.census.gov/geo/docs/maps-data/data/gazetteer/2025_Gazetteer/2025_gaz_place_38.txt"}, "noaa\\US1NDCS0015.csv": {"downloads": 0, "bytes": 1534, "wire_bytes": 0, "reuses": 1, "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/US1NDCS0015.csv"}, "noaa\\US1NDCS0001.csv": {"downloads": 0, "bytes": 1594, "wire_bytes": 0, "reuses": 1, "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/US1NDCS0001.csv"}, "noaa\\USC00322860.csv": {"downloads": 0, "bytes": 23054, "wire_bytes": 0, "reuses": 1, "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/USC00322860.csv"}, "noaa\\US1NDCS0004.csv": {"downloads": 0, "bytes": 1522, "wire_bytes": 0, "reuses": 1, "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/US1NDCS0004.csv"}, "noaa\\USC00215586.csv": {"downloads": 0, "bytes": 41546, "wire_bytes": 0, "reuses": 1, "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/USC00215586.csv"}, "gaz_place_35.txt": {"downloads": 0, "bytes": 53366, "wire_bytes": 0, "reuses": 1, "url": "https://www2.census.gov/geo/docs/maps-data/data/gazetteer/2025_Gazetteer/2025_gaz_place_35.txt"}, "noaa\\US1NMSF0073.csv": {"downloads": 0, "bytes": 1570, "wire_bytes": 0, "reuses": 1, "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/US1NMSF0073.csv"}, "noaa\\US1NMSF0013.csv": {"downloads": 0, "bytes": 1570, "wire_bytes": 0, "reuses": 1, "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/US1NMSF0013.csv"}, "noaa\\USC00298085.csv": {"downloads": 0, "bytes": 41570, "wire_bytes": 0, "reuses": 1, "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/USC00298085.csv"}, "gaz_place_37.txt": {"downloads": 0, "bytes": 79093, "wire_bytes": 0, "reuses": 1, "url": "https://www2.census.gov/geo/docs/maps-data/data/gazetteer/2025_Gazetteer/2025_gaz_place_37.txt"}, "noaa\\US1NCBC0110.csv": {"downloads": 0, "bytes": 1582, "wire_bytes": 0, "reuses": 1, "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/US1NCBC0110.csv"}, "noaa\\US1NCBC0051.csv": {"downloads": 0, "bytes": 1582, "wire_bytes": 0, "reuses": 1, "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/US1NCBC0051.csv"}, "noaa\\USW00013872.csv": {"downloads": 0, "bytes": 41558, "wire_bytes": 0, "reuses": 1, "url": "https://www.ncei.noaa.gov/data/normals-monthly/1991-2020/access/USW00013872.csv"}}, "downloads_this_run": 0, "cache_reuses_this_run": 46, "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": 40, "bulk_needing_no_verification": 17, "citations_checked": 18, "citations_passed": 13, "citations_failed": 5, "primary": 2, "secondary": 11, "derived_downgraded": 1, "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 3702140 -- Asheville city, North Carolina", "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 3702140 -- Asheville 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 37021 -- Buncombe County, North Carolina", "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 AVL -- Asheville Regional, Asheville NC", "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 AVL -- Asheville Regional, Asheville NC", "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 AVL -- Asheville Regional, Asheville NC", "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": "airport_alternatives_note", "basis_in": "sourced", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "Locid AVL -- Asheville Regional, Asheville NC", "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": "North Carolina, 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": "North Carolina, 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": "North Carolina, June 2026 YTD", "action": "not checked (read straight from a federal bulk file)"}, {"id": "power_utility_candidates", "basis_in": "sourced", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": "primary", "detail": "Buncombe County, NC", "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": "ASHEVILLE, NC US (USW00013872), 1.7 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": "ASHEVILLE, NC US (USW00013872), 1.7 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": "ASHEVILLE, NC US (USW00013872), 1.7 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": "ASHEVILLE, NC US (USW00013872), 1.7 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 1600000US3702140, 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 11700 -- Asheville, NC", "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_utility", "basis_in": "sourced", "url": "https://news.duke-energy.com/releases/duke-energy-progress-reaches-agreement-with-north-carolina-public-staff-and-other-stakeholders-to-deliver-a-lower-cost-path-to-power-north-carolinas-future", "status": 200, "url_ok": true, "figure_ok": true, "tier": "secondary", "detail": "the page carries 3 of the 3 distinctive words in this note", "action": "kept"}, {"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/397001", "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://www.duke-energy.com/-/media/pdfs/for-your-home/rates/dep-nc/leaf-no-521-schedule-sgs-toue.pdf", "status": 200, "url_ok": true, "figure_ok": true, "tier": "secondary", "detail": "the page carries 8 of the 11 distinctive words in this note", "action": "kept"}, {"id": "ridehail_present", "basis_in": "sourced", "url": "https://travel.usnews.com/Asheville_NC/Getting_Around/", "status": 0, "url_ok": false, "figure_ok": null, "tier": "secondary", "detail": "the cited page could not be fetched (ReadTimeout: HTTPSConnectionPool(host='travel.usnews.com', port=443): Read timed out. (read timeout=45) -- and gave up after 120s of trying)", "action": "demoted to estimated"}, {"id": "transit_note", "basis_in": "sourced", "url": "https://www.ashevillenc.gov/department/transit/", "status": 200, "url_ok": true, "figure_ok": true, "tier": "primary", "detail": "the page carries 13 of the 14 distinctive words in this note", "action": "kept"}, {"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://www.exploreasheville.com/sites/default/files/2025-02/Asheville-Buncombe-County-Tourism-Economic-Impact-2023.pdf", "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": "visitor_party_size", "basis_in": "sourced", "url": "https://www.visitnc.com/sites/default/files/2025-08/2024%20North%20Carolina%20Visitor%20Profile_0.pdf", "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": "http://www.ashevillecvb.com/wp-content/uploads/2009/08/2014-Asheville-Visitor-Profile-06232015.pdf", "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": "sourced", "url": "https://www.asheville.com/neighborhood-guide/", "status": 200, "url_ok": true, "figure_ok": true, "tier": "secondary", "detail": "the exact quoted text is on the page", "action": "kept"}, {"id": "districts_note", "basis_in": "sourced", "url": "https://www.asheville.com/neighborhood-guide/", "status": 200, "url_ok": true, "figure_ok": true, "tier": "secondary", "detail": "the page carries 14 of the 14 distinctive words in this note", "action": "kept"}, {"id": "airport_flights_note", "basis_in": "sourced", "url": "https://www.directflights.com/AVL", "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": "derived", "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://www.bpr.org/health/2026-04-01/despite-multiple-safety-sanctions-mission-hospital-receives-state-approval-to-add-95-more-beds-in-asheville", "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": "derived", "url": null, "status": null, "url_ok": null, "figure_ok": null, "tier": null, "detail": "", "action": "not checked (not a sourced record)"}, {"id": "events_note", "basis_in": "sourced", "url": "https://www.foxcarolina.com/2025/10/29/130-year-tradition-biltmore-house-kicks-off-christmas-season/", "status": 200, "url_ok": true, "figure_ok": true, "tier": "secondary", "detail": "the page carries 7 of the 13 distinctive words in this note", "action": "kept"}, {"id": "insurance_min_liability", "basis_in": "sourced", "url": "https://www.ncleg.gov/EnactedLegislation/Statutes/HTML/BySection/Chapter_20/GS_20-280.4.html", "status": 200, "url_ok": true, "figure_ok": false, "tier": "primary", "detail": "the cited page loads but does not carry the figure (the page carries only 1 of the 3 distinctive words in this note)", "action": "demoted to estimated"}, {"id": "registration_note", "basis_in": "sourced", "url": "https://www.ncleg.gov/EnactedLegislation/Statutes/HTML/BySection/Chapter_20/GS_20-280.3.html", "status": 200, "url_ok": true, "figure_ok": false, "tier": "primary", "detail": "the cited page loads but does not carry the figure (the page carries only 2 of the 9 distinctive words in this note)", "action": "demoted to estimated"}, {"id": "parking_month", "basis_in": "sourced", "url": "https://www.ashevillenc.gov/service/apply-for-a-parking-permit/", "status": 200, "url_ok": true, "figure_ok": true, "tier": "primary", "detail": "found 130 on the same line as 'rankin avenue'", "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": 1712.9}, "search_ceiling": {"scope": "asheville-nc", "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.25, 0.22, 0.25, 0.26, 0.25], "min": 0.22, "max": 0.26, "spread_x": 1.18}, "visitor_local_trips_per_stay": {"median": 0.6, "draws": [0.6, 0.7, 1.0, 0.6, 0.6], "min": 0.6, "max": 1.0, "spread_x": 1.67}, "trips_per_user_month": {"median": 2.3, "draws": [2.4, 2.3, 2.3, 2.4, 2.3], "min": 2.3, "max": 2.4, "spread_x": 1.04}}, "panel_answers_clipped_to_bounds": [], "rides_per_day_range": [9787, 18710]}, "cross_check": {"has_cross_check": false, "search_was_audited": true, "searched": "(1) State taxicab/TNC authority: North Carolina regulates TNCs at the DMV (G.S. 20-280) and since July 2025 collects a transportation-commerce tax on TNC/taxi gross receipts (NCDOR FAQs), but NCDOT's 2025 annual performance report and NCDOR pages publish no trip counts — unlike Nevada's Taxicab Authority. (2) City/county TNC permit reports and open data: N.C.G.S. 160A-304(c) bars cities from regulating TNCs; the City of Asheville ArcGIS open-data hub returned no TNC/taxi trip dataset. (3) Airport ground transportation: flyAVL lists Uber, Lyft, and Asheville Taxi as ride apps and publishes monthly passenger traffic (2,174,125 passengers in 2024) but the December 2024 traffic report has enplaned/deplaned passengers and aircraft ops only — no TNC pickup counts (unlike PHX). (4) MPO travel survey: FBRMPO's site and older MTP model docs describe a household travel survey and a travel-survey update still in progress as of early 2026; no published TNC trip total. (5) Local reporting: Mountain Xpress (Oct 2023) quotes AVL Taxi's ~50 weekly gig drivers and bar-close demand but no trip census; WLOS covers airport pickup relocation, not volumes. Absence is auditable; a 2024–25 tax return series does not yet exist in public form.", "verdict": ["none", "five named sources were checked and none of them publishes a trip count for this city"], "our_estimate_per_day": 10705, "our_range_per_day": [2676, 42819]}, "replayed_from_saved_research": false, "summary": "This is a planning tool, not a prediction. Of the 78 numbers behind a season in Asheville, 30 are published figures, 31 are worked out from published figures, and 17 are our own estimates. 40 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": [35.570972, -82.552725], "geoid": "3702140", "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": "Asheville city", "population": 93523, "vintage": "2025", "file": "sub-est2025.csv", "read_on": "2026-09-07"}, "county": {"name": "Buncombe County", "population": 277417, "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": 15, "dcfc_ports": 87, "dcfc_list": [{"name": "Asheville, NC - 4 South Tunnel Road - Tesla Supercharger", "network": "Tesla", "ports": 8, "connectors": "TESLA", "miles": 1.8, "open_date": "2023-02-08"}, {"name": "Asheville, NC - South Tunnel Road - Tesla Supercharger", "network": "Tesla", "ports": 8, "connectors": "TESLA", "miles": 1.9, "open_date": "2021-05-10"}, {"name": "Asheville, NC - Westgate Parkway - Tesla Supercharger", "network": "Tesla", "ports": 20, "connectors": "TESLA", "miles": 1.9, "open_date": "2025-05-19"}, {"name": "Sam's Club 6452 (Asheville, NC)", "network": "Electrify America", "ports": 4, "connectors": "J1772COMBO", "miles": 2.1, "open_date": "2020-09-29"}, {"name": "Fred Anderson's Subaru", "network": "Blink Network", "ports": 1, "connectors": "J1772COMBO", "miles": 2.9, "open_date": "2025-05-27"}, {"name": "ASH LV3 STATION 1", "network": "ChargePoint Network", "ports": 2, "connectors": "J1772COMBO", "miles": 3.1, "open_date": "2025-07-10"}, {"name": "ASH LV3 STATION 2", "network": "ChargePoint Network", "ports": 2, "connectors": "J1772COMBO", "miles": 3.1, "open_date": "2025-07-10"}, {"name": "Asheville, NC - Tesla Supercharger", "network": "Tesla", "ports": 12, "connectors": "TESLA", "miles": 4.0, "open_date": "2015-12-16"}, {"name": "Asheville, NC", "network": "RIVIAN_ADVENTURE", "ports": 6, "connectors": "J1772COMBO", "miles": 4.1, "open_date": "2025-06-04"}, {"name": "Forest Ridge Shopping Center (Asheville, NC)", "network": "Electrify America", "ports": 8, "connectors": "J1772COMBO", "miles": 4.2, "open_date": "2025-06-12"}, {"name": "GPM INVESTMENTS 6050 DC1", "network": "ChargePoint Network", "ports": 1, "connectors": "CHADEMO J1772COMBO", "miles": 4.7, "open_date": "2024-06-21"}, {"name": "GPM INVESTMENTS 6050 DC2", "network": "ChargePoint Network", "ports": 1, "connectors": "CHADEMO J1772COMBO", "miles": 4.7, "open_date": "2024-06-21"}, {"name": "Asheville, NC - Thetford Street - Tesla Supercharger", "network": "Tesla", "ports": 12, "connectors": "TESLA", "miles": 6.0, "open_date": "2021-10-18"}, {"name": "GPM INVESTMENTS 6051 DC1", "network": "ChargePoint Network", "ports": 1, "connectors": "CHADEMO J1772COMBO", "miles": 9.3, "open_date": "2024-06-22"}, {"name": "GPM INVESTMENTS 6051 DC2", "network": "ChargePoint Network", "ports": 1, "connectors": "CHADEMO J1772COMBO", "miles": 9.3, "open_date": "2024-06-22"}], "l2_sites": 57, "l2_ports": 180, "nearest_dcfc": {"name": "Asheville, NC - 4 South Tunnel Road - Tesla Supercharger", "network": "Tesla", "ports": 8, "connectors": "TESLA", "miles": 1.8, "city": "Asheville", "state": "NC"}}, "counts": {"confirmed": 8, "disputed": 0, "unconfirmed": 0, "skipped_no_file": 4, "claims": 12, "records_touched": 10, "records_read_from_a_federal_file_not_rechecked": 40}, "findings": [{"record": "power_dcfc", "field": "why", "subject": "chargers", "claim": "20 fast-charging stalls (Tesla Supercharger)", "claim_text": "Posted public (non-member) price at the Tesla Supercharger at 40 Westgate Pkwy, Asheville, NC 28806 — 20 stalls, open to all EVs;", "verdict": "confirmed", "federal": "the note counts 20 stalls; the snapshot lists Asheville, NC - Westgate Parkway - Tesla Supercharger with 20 fast ports 1.9 mi from the town center (TESLA)", "tolerance": "within 10 straight-line miles of the Census town center; a stall count within 25% or one stall"}, {"record": "ridehail_present", "field": "why", "subject": "population", "claim": "93,500 people", "claim_text": "News and local reporting describe thin supply and longer waits, which is the right local picture for a city of ~93,500.", "verdict": "confirmed", "federal": "the note says 93,500; the Census file says Asheville city 93,523 (Census vintage 2025) -- within 5%", "tolerance": "within 5%"}, {"record": "trip_mi_long_share", "field": "math", "subject": "airports", "claim": "2,174,125 passengers or enplanements", "claim_text": "Airport passenger volume was 2,174,125 in 2024 (airport traffic report) — even a modest TNC share of those arrivals/departures is enough to put ~0.12–0.20 of all paid rides over 10 miles.", "verdict": "confirmed", "federal": "the note gives 2,174,125; FAA 2 x CY2024 enplanements (total passengers, both directions) for AVL = 2,192,930 -- within 5%", "tolerance": "within 5%"}, {"record": "rides_reported", "field": "math", "subject": "airports", "claim": "2,174,125 passengers or enplanements", "claim_text": "(3) Airport ground transportation: flyAVL lists Uber, Lyft, and Asheville Taxi as ride apps and publishes monthly passenger traffic (2,174,125 passengers in 2024) but the December 2024 traffic report has enplaned/deplaned passengers and aircraft ops only — no TNC pickup counts (unlike PHX).", "verdict": "confirmed", "federal": "the note gives 2,174,125; FAA 2 x CY2024 enplanements (total passengers, both directions) for AVL = 2,192,930 -- within 5%", "tolerance": "within 5%"}, {"record": "generators_note", "field": "value", "subject": "hospitals", "claim": "hospital bed count", "claim_text": "Mission Hospital (733 licensed acute-care beds, Level I trauma);", "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": "generators_note", "field": "math", "subject": "hospitals", "claim": "hospital bed count", "claim_text": "Hospital 733 licensed acute-care beds (BPR, Apr 2026).", "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": "hospital_beds", "field": "why", "subject": "hospitals", "claim": "hospital bed count", "claim_text": "Current licensed acute-care beds at Mission Hospital, the city's only large hospital and WNC's Level I trauma center;", "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": "1,096,465 passengers or enplanements", "claim_text": "1,096,465 boardings at AVL in calendar 2024 (FAA, a federal file) divided by 13,900,000 visitors a year = 0.079.", "verdict": "confirmed", "federal": "the note gives 1,096,465; FAA CY2024 enplanements for AVL = 1,096,465 -- within 5%", "tolerance": "within 5%"}, {"record": "rides_per_day", "field": "math", "subject": "population", "claim": "93,523 people", "claim_text": "Residents: 93,523 people x 0.8518 adults = 79,663 adults;", "verdict": "confirmed", "federal": "the note says 93,523; the Census file says Asheville city 93,523 (Census vintage 2025) -- within 5%", "tolerance": "within 5%"}, {"record": "rides_per_day", "field": "math", "subject": "airports", "claim": "2,174,125 passengers or enplanements", "claim_text": "(3) Airport ground transportation: flyAVL lists Uber, Lyft, and Asheville Taxi as ride apps and publishes monthly passenger traffic (2,174,125 passengers in 2024) but the December 2024 traffic report has enplaned/deplaned passengers and aircraft ops only — no TNC pickup counts (unlike PHX).", "verdict": "confirmed", "federal": "the note gives 2,174,125; FAA 2 x CY2024 enplanements (total passengers, both directions) for AVL = 2,192,930 -- within 5%", "tolerance": "within 5%"}, {"record": "notes.power", "field": "text", "subject": "chargers", "claim": "Tesla Supercharger fast charging here", "claim_text": "Tesla Supercharger public $0.61/kWh (Westgate, 13 Sep 2026);", "verdict": "confirmed", "federal": "the snapshot lists Asheville, NC - 4 South Tunnel Road - Tesla Supercharger (Tesla, 8 fast ports, 1.8 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 733 is licensed acute-care capacity at Mission (BPR 2026-04), not staffed 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": ""}]}, "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": 5, "gone": 0, "moved": 0, "blocked": 0, "flaky": 0, "answers_normally": 5, "passes_the_same_test_now": 2, "still_fails_the_same_test": 3, "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/AVL", "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 9 of the 13 distinctive words in this note"}, {"record": "insurance_min_liability", "url": "https://www.ncleg.gov/EnactedLegislation/Statutes/HTML/BySection/Chapter_20/GS_20-280.4.html", "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 1 of the 3 distinctive words in this note)", "same_test_now": "still fails", "same_test_detail": "the page carries only 1 of the 3 distinctive words in this note"}, {"record": "registration_note", "url": "https://www.ncleg.gov/EnactedLegislation/Statutes/HTML/BySection/Chapter_20/GS_20-280.3.html", "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 2 of the 9 distinctive words in this note)", "same_test_now": "still fails", "same_test_detail": "the page carries only 2 of the 9 distinctive words in this note"}, {"record": "ridehail_present", "url": "https://travel.usnews.com/Asheville_NC/Getting_Around/", "url_today": "answers normally", "detail_today": "HTTP 200 on the first attempt", "build_time_verdict": "never fetched: the cited page could not be fetched (ReadTimeout: HTTPSConnectionPool(host='travel.usnews.com', port=443): Read timed out. (read timeout=45) -- and gave up after 120s of trying)", "same_test_now": "passes", "same_test_detail": "the page carries 12 of the 14 distinctive words in this note"}, {"record": "visitors_year", "url": "https://www.exploreasheville.com/sites/default/files/2025-02/Asheville-Buncombe-County-Tourism-Economic-Impact-2023.pdf", "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": "still fails", "same_test_detail": "the figure is not on the page"}]}}, "ok": true}