NTSB finding section · Organizational issues › Development

Cases
65
In the probable cause
55 (85%)
Fatal cases
9
NTSB code
040130

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 Manufacture/production per year: 65 cases
20086
20093
201011
20114
20123
20134
20142
20154
20163
20172
20183
20191
20201
20223
20238
20246
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\", '040130') 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.

Subsections · 3

Query with SQL
duckdb -csv -c "SELECT left(f.\"findingCode\", 8) AS code, max(f.\"tier4Name\") AS name,
    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
  WHERE starts_with(f.\"findingCode\", '040130') AND f.\"findingCode\" GLOB '[0-9][0-9]*'
  GROUP BY 1
  ORDER BY cases DESC, code"

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\", '040130'))
  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\", '040130') 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 · 65

NTSB CEN25LA117Accident · No injuriesClass 3 · LimitedFinal reportVans RV-7A · Plainview, TXThe improper machining of the propeller blade bearing seat, which resulted in an inflight propeller blade fatigue failure. Contributing to the accident was the improper machining of the propeller hub and propeller blade root and machining surface quality…Mar 10, 2025 · N923ZA · Substantial damageNTSB CEN25LA043Accident · No injuriesClass 3 · LimitedFinal reportPitts S1E · Seguin, TXThe improper construction of the rudder cable assembly by the airplane builder, which resulted in the fatigue failure of the left rudder cable during the landing roll and the pilot’s subsequent inability to maintain directional control.Nov 17, 2024 · N52B · Substantial damageNTSB ERA24LA392Accident · Minor injuriesClass 3 · LimitedFinal reportPiper PA28 · LaGrange, GAImproper manufacture of a cylinder exhaust valve guide by the engine manufacturer, which resulted in a stuck exhaust valve and a partial loss of engine power during initial climb.Sep 23, 2024 · N4298V · Substantial damageNTSB CEN24FA218Accident · 1 fatalClass 3 · FieldFinal reportCessna 172 · Gainesville, TXThe fuel pump manufacturer’s improper torquing of screws on the engine-driven fuel pump, which resulted in a disruption in the fuel system and a loss of engine power on initial climb.Jun 12, 2024 · N656MA · Substantial damageNTSB ERA24LA163Accident · Serious injuriesClass 3 · LimitedFinal reportEvektor-Aerotechnik A S Harmony LSA · Seffner, FLThe improper installation of the fuel line that connected the fuel pump to the four-way distributor, which resulted in fuel starvation when the line became disconnected.Apr 4, 2024 · N469JA · Substantial damageNTSB CEN24LA121Accident · No injuriesClass 3 · LimitedFinal reportPiper PA-28-181 · Watertown, SDThe stuck No. 2 cylinder exhaust valve, which resulted in a partial loss of engine power and a forced landing due to an undersized exhaust valve guide. Contributing to the accident were the improper manufacture of the engine cylinders, and the operation of…Feb 25, 2024 · N38696 · Substantial damageNTSB ERA24LA099Accident · No injuriesClass 3 · LimitedFinal reportSwissdrones Operating SDO 50 V2 · Antioch, GAA partial loss of engine power due to a reduction of fuel flow for undetermined reasons. Contributing to the accident was the UAS manufacturer’s lack of instructions for a partial loss of engine power landing.Jan 18, 2024 · N780PA · Substantial damageNTSB DCA24LA330IncidentClass 2 · LimitedFinal reportBoeing 737-8 · Kenner, LAA partial loss of engine power due to bird ingestion in the No. 1 (left) engine, which resulted in the activation of the load reduction device to prevent vibration. The load reduction device activation resulted in smoke and fumes entering the cockpit.Dec 20, 2023 · N8830Q · Minor damageNTSB ERA24LA066Accident · Serious injuriesClass 3 · LimitedFinal reportDiamond Aircraft Ind DA 40 NG · Asheville, NCFatigue failure of the No. 4 inner main bearing cap screw and connecting rod bolts, which resulted in a total loss of engine power. Contributing to the failure were the low material strength of the inner main bearing cap screw and the increased loads on the…Dec 15, 2023 · N907L · Substantial damageNTSB WPR24FA053Accident · 1 fatalClass 3 · FieldFinal reportBeauchamp Norm Kitfox · Eloy, AZThe separation of a propeller blade during the initial climb due to insufficient blade retention forces. Contributing to the accident was the propeller blade retention design, manufacturing defects that prevented the propeller from achieving adequate grip…Dec 8, 2023 · N66180 · Destroyed
See all 65 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\", '040130'))
  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.