NTSB finding · Aircraft › Aircraft handling/service › Maintenance/inspections

Cases
103
In the probable cause
77 (75%)
Fatal cases
12
NTSB code
01010500

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 Maintenance/inspections, general per year: 103 cases
20084
200910
20109
20119
20125
20137
201410
201515
20165
20175
20184
20194
20201
20213
20224
20234
20244
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\", '01010500') 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\", '01010500'))
  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\", '01010500') 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 · 103

NTSB ERA25LA064Accident · Serious injuriesClass 3 · LimitedFinal reportAMS Flight D O O Carat A · Centralhatchee, GAMaintenance personnel’s failure to comply with the engine manufacturer’s guidance, which resulted in improper valvetrain clearances, unseating of the intake valve keepers, and a total loss of engine power.Nov 20, 2024 · N17GF · Substantial damageNTSB ERA25LA012Accident · Serious injuriesClass 3 · LimitedFinal reportPiper PA28 · Louisville, KYA total loss of engine power for undetermined reasons.Oct 11, 2024 · N5006W · Substantial damageNTSB WPR24LA260Accident · No injuriesClass 3 · LimitedFinal reportKitfox Series V · La Grande, ORSeparation of the propeller blades from progressive damage at the blade roots due to overtightening of the hub bolts.Jul 23, 2024 · N53562 · Substantial damageNTSB CEN24LA315Accident · No injuriesClass 3 · LimitedFinal reportGrumman American Avn. AA-5B · Camdenton, MOThe inadequate maintenance of the seat locking mechanism, which resulted in the pilot’s seat sliding back during takeoff and a subsequent loss of control.Jul 11, 2024 · N23JK · Substantial damageNTSB CEN23FA314Accident · 1 fatalClass 3 · FieldFinal reportPiper PA-31P · Kearney, MOThe pilot’s decision to operate an airplane with known fuel leaks, his failure to conduct an engine run-up before takeoff, his subsequent failure to abort the takeoff, and the mechanic’s inadequate maintenance, which resulted in a partial loss of right engine…Jul 20, 2023 · N200RA · DestroyedNTSB CEN23LA255Accident · Serious injuriesClass 4 · LimitedFinal reportPiper PA-25-235 · Westhope, NDThe pilot’s failure to maintain aircraft control that resulted in an impact with terrain after takeoff.Jun 22, 2023 · N7419Z · Substantial damageNTSB ENG23LA030Incident · No injuriesClass 3 · LimitedFinal reportGulfstream Aerospace G-IV · Sioux City, IAA No. 2 (right) engine failure due to a spinner fairing separation and subsequent impact with the fan blades that resulted in a midspan fracture of one fan blade. The spinner fairing separated as a result of a fatigue crack that originated from the heat…Jun 17, 2023 · N926TT · Minor damageNTSB ERA23LA218Accident · Serious injuriesClass 3 · LimitedFinal reportPiper PA-28-180 · Greenville, NCInadequate maintenance by the operator and maintenance personnel, which resulted in a loss of engine power due to oil starvation.May 5, 2023 · N180LR · Substantial damageNTSB CEN23LA062Accident · Serious injuriesClass 3 · LimitedFinal reportMooney M20K · Addison, TXThe fatigue failure of the engine’s camshaft gear teeth which resulted in a loss of all engine power. Contributing to the accident was the non-compliance with the engine manufacturer’s recommended service bulletin.Dec 13, 2022 · N231GZ · Substantial damageNTSB ERA22LA242Accident · No injuriesClass 3 · LimitedFinal reportAeronca 7EC · Putnam Valley, NYA total loss of engine power during cruise flight due to fuel starvation resulting from obstructed forward and aft vent outlets in the left fuel tank.May 25, 2022 · N7410B · Substantial damage
See all 103 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\", '01010500'))
  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.