PulsCar analysis of NHTSA public data, September 2026 Topic: heater core failures (clogged and leaking), 2015-2026 License: CC BY 4.0. Attribution: "PulsCar analysis of NHTSA public data, September 2026". SOURCE FILES ------------ NHTSA Office of Defects Investigation public flat files, downloaded September 2026 and loaded into a local SQLite database: FLAT_CMPL.txt - owner complaints. 777,040 rows, received 1 January 2015 - 8 September 2026. Field definitions: https://static.nhtsa.gov/odi/ffdd/cmpl/CMPL.txt FLAT_RCL.txt - recall campaigns. 245,578 make/model/year rows. FLAT_TSBS.txt - manufacturer communications (service bulletins, dealer messages, warranty and policy bulletins). FLAT_INV.txt - defect investigations. All complaint narratives are self-reported by vehicle owners. They are NOT a failure rate: there is no denominator (no count of vehicles on the road), no verification of the diagnosis, and reporting is driven partly by forums and news coverage. Counts below describe what people wrote to NHTSA, nothing more. COMPLAINT QUERY --------------- SELECT c.* FROM complaints c JOIN complaints_fts f ON f.rowid = c.rowid WHERE complaints_fts MATCH '"heater core"'; Result: 679 complaints, received 2 January 2015 - 3 September 2026. No make, model, year or component filter was applied. No rows were excluded. SAMPLE READING (false positives) -------------------------------- 30 of the 679 were drawn at random (Python random.seed(17), random.sample) and read in full: 26 - the heater core is the subject of the complaint (leak, clog, no heat, smell, fogging). 3 - a genuine heater core failure is reported inside a complaint mainly about something else (a Grand Caravan drivetrain complaint, a Ram 3500 EGR-cooler failure that took three heater cores with it, an F-250 cooling-system complaint). 1 - false positive: a 2014 Ford Escape narrative in which "heater core" appears only inside a parts-list description of a coolant valve assembly. False-positive rate found: 1 of 30 (3.3%). TIGHTENED VARIANT (reported, not used for the headline number) A second query kept only complaints where a failure word (CLOG|PLUG|BLOCK|RESTRICT|LEAK| BURST|NO HEAT|REPLAC|FAIL|FLUSH|COLD AIR|SMELL|FOG|DEFROST) appears within 150 characters of the phrase "heater core". That keeps 588 of the 679. The published tables use the broad 679-row set; the difference is stated in the article. CONTEXT CATEGORIES (heater-core-complaints-by-context.csv) --------------------------------------------------------- Each narrative was upper-cased, whitespace-normalized and tested with these regexes. Categories are NOT exclusive; one narrative can appear in several. restriction \b(CLOG|CLOGG|PLUG|PLUGG|BLOCK|RESTRICT|SEDIMENT|DEBRIS|SAND|SLUDGE) leak \b(LEAK|LEAKING|LEAKED|BURST|RUPTUR|SOAK|WET CARPET|WET FLOOR) one side (PASSENGER SIDE|DRIVER.?S? SIDE|ONE SIDE|DRIVER SIDE) defrost (FOG|DEFROST|DEFOG|WINDSHIELD|VISIBILIT|FILM|HAZE|STEAM) no heat (NO HEAT|LACK OF HEAT|WITHOUT HEAT|HEAT (?:DOES ?NOT|DOESN.?T|STOPPED)) flush \bFLUSH replaced (REPLAC\w+ THE HEATER CORE|HEATER CORE (?:WAS |WERE |)REPLAC| REPLACE\w* HEATER CORE|NEW HEATER CORE) repeated (AGAIN|SECOND TIME|TWICE|3RD|THIRD TIME|MULTIPLE TIMES) warranty (WARRANT|GOODWILL|NO CHARGE|COVERED BY) dollar figure \$[\d,]{3,} dashboard (DASH ?BOARD|ENTIRE DASH|REMOVE THE DASH|TAKE (?:THE |)DASH) thermostat THERMOSTAT blend door (BLEND DOOR|ACTUATOR) fumes/burn (HEADACHE|NAUSEA|DIZZ|SICK|BURN|SCALD|FUMES|BREATH) overheating OVERHEAT smell (SWEET SMELL|SMELL OF COOLANT|COOLANT SMELL|ANTIFREEZE SMELL| SMELL(?:ING)? ANTIFREEZE|SMELL(?:ING)? COOLANT|ODOR OF COOLANT|SYRUP) recall asked (SHOULD BE (?:A |)RECALL|NEEDS? (?:A |)RECALL|ISSUE A RECALL) Exclusive counting of the two failure types (used in the article): restriction and no leak 222 leak and no restriction 102 both words 22 neither word 333 Baselines for comparison, computed over all 777,040 complaints: towed flag 5.11% crash flag 4.37% fire flag 1.82% Heater core set: towed 6 (0.9%), crash 0 (0%), fire 11 (1.6%), injuries 17, deaths 0. MILEAGE ------- Mileage values of 0, blank, or 400,000 and above were dropped. 435 of 679 rows remain. median 71,500 lower quartile 50,000 upper quartile 100,000 at or under 36,000 miles: 68 of 435 Per-model medians use the same rule and are in heater-core-complaints-by-make-and-model.csv (column median_failure_miles; column mileage_values gives the n behind each median). BY MAKE AND MODEL (heater-core-complaints-by-make-and-model.csv) ---------------------------------------------------------------- Makes with 3 or more complaints and make+model pairs with 5 or more are published, with the restriction / leak / one-side counts inside each group. Make and model strings are NHTSA's own; no normalization was attempted, which is why "DODGE / RAM 1500" and "RAM / 1500" appear as separate rows (the brand split in 2011) and are not merged. OWNER-REPORTED DOLLAR FIGURES (heater-core-owner-reported-costs.csv) -------------------------------------------------------------------- For each complaint, the first dollar amount between $100 and $6,000 whose surrounding 440-character window contains the phrase "heater core" and does NOT contain HEAD GASKET, WATER PUMP, TRANSMISSION, ENGINE REPLACE, NEW ENGINE, BOUGHT, PURCHASE, PAID FOR THE CAR/VEHICLE, DOWN PAYMENT or LOAN. One figure per complaint. Result: 87 figures. median $1,200, quartiles $900 and $2,000, range $100 - $5,300. 15 of the 87 passages were read in full: 13 are the heater core job alone, 2 bundle other work into the same number (one core + radiator + oil cooler, one core + blend doors and actuators). These are quotes and paid amounts as owners describe them, from 2015-2026, not adjusted for inflation, not verified against invoices, and not a price survey. The CSV carries amount, make, model and model year only - no narrative text, no VIN, no location, no dealer name. MANUFACTURER BULLETINS (heater-core-manufacturer-bulletins.csv) --------------------------------------------------------------- SELECT t.* FROM tsbs t JOIN tsbs_fts f ON f.rowid = t.rowid WHERE tsbs_fts MATCH '"heater core"'; Rows are per make/model/year, so they were collapsed to distinct (make, bulletin_no) pairs: 116 pairs. Model and model-year ranges in the CSV are the union of the rows behind each pair. Theme assigned from the summary text, first match wins: restriction (RESTRICT|CLOG|BLOCK|PLUG|DEPOSIT|CONTAMINAT|FLOW) 42 leak (LEAK|COOLANT LOSS|SEEP) 15 noise (RATTLE|BUZZ|NOISE|VIBRAT|TICK) 6 odor (ODOR|SMELL) 0 other/procedure - everything else (parts notices, procedures) 53 The summary column is NHTSA's abstract, truncated to 180 characters; it is not the bulletin. RECALLS AND INVESTIGATIONS -------------------------- Recalls: LIKE '%heater core%' over defect || remedy || component. 3 distinct campaigns: 13V177000 (Chrysler/Ram, 7 May 2013, 498 units, 2013 Ram 1500, coolant bypass valve stuck, noncompliance with FMVSS No. 103) 10V183000 and 10V184000 (Thomas Built Buses, 2010, heater coolant flow valve O-ring) Investigations: LIKE '%heater core%' over subject || summary. 12 distinct actions (PE88091, PE89099, PE91114, EA91054, DP92003, DP92004, DP92005, EA92017, EA92018, PE94003, PE98006, EA98012), all opened between 9 August 1988 and 27 May 1998. PRIMARY DOCUMENTS OPENED (September 2026) ----------------------------------------- Honda Service Bulletin 14-063, 20 November 2014 (NHTSA document MC-10118028) Volkswagen Technical Bulletin 80 15 03 / instance 2040580, 9 July 2015 (MC-10123017) Volkswagen Warranty bulletin VWP-16-05, 14 June 2016 (MC-10124041) Ford SSM 46150 and Mazda SA218 - read from the manufacturer-communications file abstracts, the PDFs were not served for these two document IDs 49 CFR 571.103 (FMVSS No. 103), GovInfo 2024 CFR edition LIMITATIONS ----------- 1. Complaint counts are not failure rates and must not be read as model reliability. 2. Keyword categories measure the words owners used, not what a technician found. A narrative that describes a clog without using any of the listed words falls into "neither" (333 rows). 3. The sweet-smell count (25) is a count of the word, not of the symptom; narratives are short and NHTSA's form asks about safety, so absence of the word is not absence of the smell. 4. Model-year clustering reflects both design problems and how many of a model were sold. 5. Dollar figures are owner-reported and span eleven years. ------------------------------------------------------------------------------ CASE SENSITIVITY — SECTION ADDED 19 SEPTEMBER 2026 ------------------------------------------------------------------------------ NHTSA stores complaint narratives in ALL CAPS for records filed through roughly 2020 and in mixed case for records filed from 2021 on. A case-SENSITIVE search of the narrative field loses about 92% of the complaints filed after 2020, so this is the single largest way an analysis of this database can go wrong while still looking finished. Every query behind this file is case-insensitive, in two layers: * the complaint set is built with an FTS5 MATCH full-text search, which folds case before matching, so it cannot miss a mixed-case record; and * where the narrative is then tested with patterns, the narrative is upper-cased and whitespace-normalized first, so the patterns compare upper against upper. No query in this work uses GLOB or any case-sensitive comparison. This was not taken on trust. On 19 September 2026 every published folder was re-checked against the same database. Re-run here: step 1 is MATCH '"heater core"'; each narrative is then upper-cased and whitespace-normalized before the regexes run; the recall query uses LIKE.