Replacement

NTSB finding · Personnel issues › Task performance › Maintenance

Cases
70
In the probable cause
65 (93%)
Fatal cases
10
NTSB code
02062020

NTSB has coded findings and defining events since 2008. Earlier cases used its older occurrence and cause codes, so they aren’t counted here.

When and where

In green, cases where NTSB made it part of the probable cause; in gray, a factor or other finding. Findings are coded with the final report, often a year or more after the event, so the latest years are incomplete.

Cases per year

2008In the probable causeFactor only2026
Cases with Replacement per year: 70 cases
20084
20103
20114
20126
20139
20146
20154
20162
20177
20195
20203
20215
20224
20232
20245
20251
Query with SQL
duckdb -csv -c "SELECT year(c.\"eventDate\") AS year, count(DISTINCT f.case_mkey) AS cases,
    count(DISTINCT f.case_mkey) FILTER (WHERE f.\"inProbableCause\") AS in_probable_cause
  FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' f JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c.\"mKey\" = f.case_mkey
  WHERE starts_with(f.\"findingCode\", '02062020') AND c.\"eventDate\" >= DATE '2000-01-01'
  GROUP BY 1
  ORDER BY 1"

Prints the counts as CSV. It reads the release’s Parquet files over HTTPS, so there’s nothing to download first. Install DuckDB to run it.

In the same cases

Query with SQL
duckdb -csv -c "WITH matched AS (SELECT DISTINCT case_mkey, aircrafts_position FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' WHERE starts_with(\"findingCode\", '02062020'))
  SELECT * FROM (
  SELECT 'Defining event' AS kind, e.\"tier2Number\" AS code, max(e.\"eventTier2Name\") AS name, count(DISTINCT f.case_mkey) AS cases
  FROM matched f JOIN 'https://openairdocs.org/data/latest/ntsb_events.parquet' e ON e.case_mkey = f.case_mkey AND e.aircrafts_position = f.aircrafts_position AND e.\"isDefiningEvent\"
  WHERE e.\"tier2Number\" <> ''
  GROUP BY ALL
  UNION ALL
  SELECT 'Aircraft model', a.aircraft_model_code, any_value(concat_ws(' ', m.manufacturer, m.model)), count(DISTINCT f.case_mkey)
  FROM matched f JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = f.case_mkey AND a.position = f.aircrafts_position
  LEFT JOIN 'https://openairdocs.org/data/latest/faa_aircraft_model.parquet' m ON m.code = a.aircraft_model_code
  WHERE a.aircraft_model_code IS NOT NULL
  GROUP BY ALL
  UNION ALL
  SELECT 'Other finding', left(g.\"findingCode\", 8), max(g.\"tier4Name\"), count(DISTINCT g.case_mkey)
  FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' g
  WHERE g.case_mkey IN (SELECT case_mkey FROM matched) AND NOT starts_with(g.\"findingCode\", '02062020') AND g.\"findingCode\" GLOB '[0-9][0-9]*'
  GROUP BY ALL
  )
  QUALIFY row_number() OVER (PARTITION BY kind ORDER BY cases DESC) <= 10
  ORDER BY kind, cases DESC"

Prints the counts as CSV. It reads the release’s Parquet files over HTTPS, so there’s nothing to download first. Install DuckDB to run it.

Newest cases · 70

NTSB CEN25LA077Accident · No injuriesClass 3 · LimitedFinal reportPiper PA-28-181 · Addison, TXA partial loss of engine power during takeoff due to the partial blockage of the fuel diaphragm metering stem and the No. 1 cylinder fuel injector nozzle. Contributing to the accident was maintenance that allowed the introduction of debris that resulted in…Jan 15, 2025 · N504AF · Substantial damageNTSB CEN25FA056Accident · Serious injuriesClass 3 · FieldFinal reportZenith Zodiac CH601 · Columbia, ILThe pilot’s failure to secure the engine oil filter following maintenance, which resulted in oil starvation, a total loss of engine power, and impact with terrain.Dec 8, 2024 · N9853M · DestroyedNTSB CEN25LA018Accident · Minor injuriesClass 3 · LimitedFinal reportPiper PA-32R-301 · Van, TXThe mechanic’s improper maintenance of the engine’s air induction scat duct, which collapsed during the flight and resulted in a loss of engine power.Oct 17, 2024 · N81481 · Substantial damageNTSB CEN25LA013Accident · Minor injuriesClass 3 · LimitedFinal reportRotorway Exec · Plymouth, INA loss of control due to the failed forward tail rotor belt as a result of the owner’s failure to follow the helicopter manufacturer’s tail rotor belt replacement recommendations.Oct 11, 2024 · N314AC · Substantial damageNTSB CEN24LA337Accident · No injuriesClass 3 · LimitedFinal reportPiper PA-28-140 · East Troy, WIThe pilot/mechanic’s improper torquing of the fuel hose fitting while replacing the fuel pump, which allowed air to enter the fuel system and resulted in a loss of engine power during initial climb. Contributing to the accident was the pilot/mechanic’s…Sep 2, 2024 · N32435 · Substantial damageNTSB CEN24LA115Accident · Minor injuriesClass 3 · LimitedFinal reportBeech 400 · Bentonville, ARImproper rigging of the elevator cable over the upper guard pin, which resulted in a cable separation and loss of elevator control.Feb 14, 2024 · N95GK · Substantial damageNTSB ENG23LA031Incident · No injuriesClass 3 · LimitedFinal reportBoeing 737-9 · Newark, NJA No. 1 (left) engine fire due a fuel leak that originated from the fuel nozzle 17 b-nut connection that was not properly torqued in accordance with the aircraft maintenance manual procedure.Jun 28, 2023 · N37516 · Minor damageNTSB WPR23LA216Accident · No injuriesClass 3 · LimitedFinal reportCessna 172R · Santa Monica, CAA failure of the nose wheel upper torque link bolt, which resulted in a loss of steering control. Contributing to the accident were maintenance personnel’s failure to inspect and replace the fractured bolt and the pilot’s oversight of the bolt during his…Jun 5, 2023 · N819KS · Substantial damageNTSB ERA23LA009Accident · Minor injuriesClass 3 · LimitedFinal reportSwensen Fisher Celebrity · Greensboro, NCThe pilot/mechanic’s failure to remove excess sealant from the header fuel tank after recent maintenance, which resulted in fuel starvation to the engine and a loss of engine power. Contributing to the accident was the pilot’s inflight decision making…Oct 6, 2022 · N655WP · Substantial damageNTSB ERA23LA002Accident · Serious injuriesClass 4 · LimitedFinal reportAeronca 7AC · Murray, KYThe incorrect (reverse) rigging of the elevator cables by maintenance personnel and their subsequent failure to verify that the rigging was correct during post-maintenance checks and the pilot's inadequate preflight check.Oct 2, 2022 · N3005E · Substantial damage
See all 70 cases
Query with SQL
duckdb -csv -c "SELECT c.\"ntsbNumber\", c.\"eventDate\", c.\"eventType\", c.\"eventCity\", c.\"eventStateOrRegion\", a.n_number, a.\"aircraftMake\", a.\"aircraftModel\", c.\"highestInjuryLevel\", c.\"totalFatal\", c.\"completionStatus\", c.report_url
  FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = c.\"mKey\" AND a.position = 1
  WHERE c.\"mKey\" IN (SELECT f.case_mkey FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' f WHERE starts_with(f.\"findingCode\", '02062020'))
  ORDER BY c.\"eventDate\" DESC, c.\"ntsbNumber\" DESC"

Prints the whole list as CSV. It reads the release’s Parquet files over HTTPS, so there’s nothing to download first. Install DuckDB to run it.