PULSCAR ANALYSIS OF NHTSA PUBLIC DATA — THE BRAKE WARNING LIGHT ON THE DASH PulsCar analysis of NHTSA public data, September 2026. License: CC BY 4.0. Files in this folder may be reused with attribution to PulsCar (pulscar.io). -------------------------------------------------------------------------- 1. SOURCE FILES -------------------------------------------------------------------------- NHTSA public flat files downloaded from static.nhtsa.gov and loaded into a local SQLite database: Complaints FLAT_CMPL.txt 777,040 owner complaints (ODINO), received 1 January 2015 - 8 September 2026. The set below runs 2 January 2015 - 8 September 2026. Field definitions: https://static.nhtsa.gov/odi/ffdd/cmpl/CMPL.txt Recalls FLAT_RCL.txt one row per make/model/model year per campaign; campaigns counted DISTINCT on the campaign number. Communications FLAT_TSBS.txt manufacturer communications; counted DISTINCT on the NHTSA document id. Complaints are owner reports: not verified repairs, not failure rates, and with no denominator of vehicles on the road. Nothing here ranks reliability. -------------------------------------------------------------------------- 2. THE COMPLAINT QUERY (6,390 -> 3,294) -------------------------------------------------------------------------- The hard part of this topic is the phrase itself: in owner language, "brake light" usually means the lamp at the BACK of the car, not the warning lamp on the dash. The query is built to separate them. Step 1 - full-text search (FTS5) for any of: "brake warning light", "brake warning lamp", "brake system warning", "brake light", "brake lamp", "brake indicator" -> 6,390 complaints. Step 2 - dashboard context. Each phrase match must sit within 90 characters of a dashboard word (dash / dashboard / instrument cluster / instrument panel / came on / illuminated / lit up / turned on / warning) AND must NOT sit within the same window of a tail-lamp word (taillight / tail lamp / third brake / bulb / rear light / "brake lights not working" / "stay on" / "stuck on"). -> 3,294 complaints. Every figure on the page uses this set. Step 3 - SAMPLE READING. 30 random members were read in full (random.seed(5)). 27 of 30 described a dashboard warning indicator. 3 were tail-lamp complaints that survived the filter: a cracked rear brake light letting water in, a rear brake light wiring harness, and brake lights staying illuminated with the pedal released. Observed false-positive rate: about 10% (3/30), all of them in the same direction (tail lamps counted as dash lamps). No further filter was applied; the rate is published here instead. -------------------------------------------------------------------------- 3. WHAT IS COUNTED -------------------------------------------------------------------------- warning-light-by-context.csv - category searches over the whole narrative. A complaint can appear in several rows; shares are of 3,294, not parts of a whole. The towed / crash / fire columns are NHTSA's own structured flags, published next to the all-file baselines over all 777,040 complaints: towed 5.11%, crash 4.37%, fire 1.82%. warning-light-subsets.csv - the same measures computed on subsets, which is where the page's two central claims come from: * "the pedal decides" - complaints whose narrative describes a soft, spongy or floor-sinking pedal (348) carry a towed flag 10.9% of the time against 4.0% for the rest, say the car lost braking 21.8% against 5.2%, name brake fluid or a leak 35.6% against 5.2%, and name a master cylinder 22.1% against 3.9%. * "red plus ABS is not usually low fluid" - complaints whose narrative mentions ABS at all (985; the narrower count that names an ABS light or warning explicitly is 824) name an ABS module, pump, actuator, accumulator or booster 38.8% of the time against 7.0% for the rest, and name brake fluid or a leak LESS often than the rest (4.3% against 10.2%). These are counts of what owners wrote, not diagnoses. An owner who names a part is usually repeating a shop; owners whose cars were never diagnosed name nothing, and they are in the denominator. Mileage: values <= 0 and >= 400,000 dropped; 2,058 of 3,294 carry a usable figure. Median 81,000 miles, Q1 43,900, Q3 124,000. -------------------------------------------------------------------------- 4. MODELS (warning-light-top-models.csv) -------------------------------------------------------------------------- Make/model pairs with 10 or more complaints, with the three most common model years, median reported mileage, and three counts: how many also name the ABS light, how many name an actuator/booster/ABS pump, and how many describe the car braking automatically or unexpectedly. Complaint records do not identify the trim or the options, so a cluster cannot be matched exactly to a bulletin or warranty program population. -------------------------------------------------------------------------- 5. LIMITATIONS -------------------------------------------------------------------------- - Self-selected reports; filers are not a random sample of owners. - No denominator: model counts track sales volume and fleet age. - Regexes read words, not meaning; negation is counted as a match. - The category "automatic or unexpected braking" reads the owner's description. It cannot confirm that a driver-assistance system activated, only that the owner described the car braking without being asked to. - Complaints rarely state the final repair, so this analysis counts what was NAMED, never what was proven. Files: warning-light-by-context.csv, warning-light-subsets.csv, warning-light-by-make.csv, warning-light-top-models.csv. ------------------------------------------------------------------------------ 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. SQLite's LIKE and its FTS5 full-text index both ignore case by default, and 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, comparing the figures here with what a case-sensitive query would have returned. The result: the complaint set published here (6,390) is LARGER than the absolute ceiling a case-sensitive search of the same terms could have returned (5,114 narratives). A case-sensitive query cannot produce a bigger set than itself, so the bug is ruled out for this folder by arithmetic, not by assurance.