BLUE SMOKE / ENGINE OIL CONSUMPTION — HOW THESE FILES WERE BUILT PulsCar analysis of NHTSA public data, September 2026. License: CC BY 4.0. Attribution: "PulsCar analysis of NHTSA public data". SOURCE FILES - NHTSA ODI owner complaints flat file (https://static.nhtsa.gov/odi/ffdd/cmpl/CMPL.txt), loaded into SQLite. Rows received 1 January 2015 - 8 September 2026. 777,040 complaints total. - NHTSA ODI recalls flat file (https://static.nhtsa.gov/odi/ffdd/rcl/RCL.txt). - NHTSA ODI manufacturer communications (TSB) flat file (https://static.nhtsa.gov/odi/ffdd/tsbs/TSBS.txt). - NHTSA ODI investigations flat file (https://static.nhtsa.gov/odi/ffdd/inv/INV.txt). - Individual Part 573 Safety Recall Reports and the AQ25001 audit query record, fetched from static.nhtsa.gov and api.nhtsa.gov on 18 September 2026 (links in the article). THE COMPLAINT QUERY Step 1 (broad). SQLite FTS5 match on the complaint narrative: "oil consumption" OR "consuming oil" OR "burning oil" OR "burns oil" OR "excessive oil" OR "blue smoke" -> 8,090 complaints. Step 2 (component gate). AND components LIKE '%ENGINE%' -> 7,583 complaints. Step 3 (tightening). A first random sample of 35 matches was read in full. Two were about the SMELL of burning oil from an external leak dripping on the exhaust, not about oil being consumed inside the engine. The phrase "burning oil" alone was the cause. Rows whose only matching phrase was "burning oil"/"burnt oil" were therefore kept only when the narrative also contained corroborating consumption language (quart, add/adding/added oil, low oil, oil level, dipstick, oil light, piston ring, valve seal, PCV, engine replaced, engine failure) AND did not read as a smell report (regex: (smell|odor|odour) within 60 characters of "burning oil"). -> FINAL CORPUS: 6,754 complaints. This is the denominator for every percentage below. SAMPLE-READING RESULT (false-positive rate) A second random sample of 32 complaints was drawn from the final 6,754 and read in full. 3 of 32 (9.4%) were off topic: the narrative's primary failure was something else (instrument cluster, electric steering column, stalling) and oil consumption appeared only in passing. 2 more were borderline (an external oil leak with low oil pressure; a catalytic converter recall tied to a consumption campaign). Treat every count in this folder as carrying roughly a one-in-ten off-topic rate. No attempt was made to remove duplicates filed by the same owner about the same vehicle. EXCLUSIONS - Mileage statistics drop rows with miles <= 0 or >= 400,000, and rows where the owner left mileage blank. Mileage was present on 2,700 of 6,754 rows (40%). - Model-year statistics drop years outside 1990-2026. - Make/model tables omit makes with fewer than 10 complaints and bulletin makes with fewer than 3 distinct bulletins, because the counts are too small to read. BULLETIN QUERY FTS5 match on manufacturer-communication summaries: "oil consumption" OR "consuming oil" OR "excessive oil" OR "blue smoke" OR "oil usage" The flat file carries one row per make/model/year, so bulletins were de-duplicated by nhtsa_id: 40,435 rows -> 709 distinct bulletins. Keyword flags were then run over the full summary text of each distinct bulletin (piston|\bring; \bpcv\b|crankcase vent|oil separator; software|reprogram|calibration|flash; warranty ext|warranty enhance|customer satisfaction| special service|special policy|goodwill). RECALL QUERY recalls WHERE the defect text contains oil consumption, piston ring, excessive oil, consume oil, crankcase vent, PCV or oil separator. Campaigns counted DISTINCT (382 make/model/year rows -> 28 distinct campaigns). Population figures are the manufacturer's own "potentially affected" number as filed with NHTSA. CONSUMPTION-RATE EXTRACTION (owner-reported-consumption-rates.csv) Regex over the final corpus for phrases of the form " quart(s)/liter(s) [of oil] every|per|each|in miles". Word numbers a/one/two/three/four/half were mapped to digits. Rows outside 50-20,000 miles or 0-6 quarts were dropped as typos or unit confusion. 431 rates were extracted from 388 distinct complaints. A complaint can contribute more than one rate (owners often quote a before and an after). These are OWNER STATEMENTS, not measurements: most are estimates between fill-ups, and owners who bother to file a complaint are, by definition, the ones with a rate they consider abnormal. Do not read the distribution as the consumption of the US fleet. LIMITATIONS YOU MUST CARRY WITH THE NUMBERS - NHTSA complaints are self-reported and unverified. They are not failure rates. - There is no denominator of vehicles on the road in this data. A make with more complaints may simply have sold more cars, or have owners who file more. Nothing here supports a claim that one manufacturer is more or less reliable than another, and no such claim is made. - Complaint volume responds to publicity: a class action, a warranty extension or a news story raises filings for that model without any change in the underlying failure rate. - The file is skewed toward the expensive end. Owners rarely file a federal safety complaint about a $20 PCV valve; they file after an engine failure. Read the ring-versus-seal split in this folder as "what reaches NHTSA", not "what happens in driveways". ------------------------------------------------------------------------------ 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 (8,090) is LARGER than the absolute ceiling a case-sensitive search of the same terms could have returned (87 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.