Development

NTSB finding subcategory · Organizational issues

Cases
152
In the probable cause
129 (85%)
Fatal cases
33
NTSB code
0401

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 Development per year: 152 cases
200817
200915
201018
201114
201211
20139
20148
20157
20167
20175
20185
20195
20202
20212
20226
20239
202410
20252
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\", '0401') 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.

Sections · 4

Query with SQL
duckdb -csv -c "SELECT left(f.\"findingCode\", 6) AS code, max(f.\"tier3Name\") 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\", '0401') 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\", '0401'))
  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\", '0401') 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 · 152

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 DCA25MA108Accident · 67 fatalClass 1 · MajorFinal reportBombardier CL-600-2C10 · Washington, DCThe Federal Aviation Administration’s (FAA) placement of a helicopter route in close proximity to a runway approach path; their failure to regularly review and evaluate helicopter routes and available data, and their failure to act on recommendations to…Jan 30, 2025 · N709PS · 2 aircraft · DestroyedNTSB 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 ANC25LA008Accident · Serious injuriesClass 3 · LimitedFinal reportCub Crafters CC18-180 · Anchorage, AKThe incorrect installation of the rear flight control stick, resulting in the pilot’s inability to control the pitch attitude, coupled with the pilot’s inadequate control system check before departure, all which resulted in an aerodynamic stall during takeoff.Nov 2, 2024 · N55PK · 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 CEN24LA318Accident · No injuriesClass 3 · LimitedFinal reportAyres S2R · Stanwood, MIThe pilot’s failure to maintain terrain clearance during a low-level aerial application flight, which resulted in impact with terrain and a subsequent forced landing. Contributing to the accident was the location of the spray boom pressure gauge, which…Jun 20, 2024 · N4004K · 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 ENG24LA012IncidentClass 3 · LimitedFinal reportBritish Aerospace BAE 146 Series 200A · Missoula, MTThe use of a new long term fire retardant with a chemical composition incompatible with the retardant previously in use for the integration-operational field evaluation without adequate testing and qualification.Mar 1, 2024 · N474NA · 2 aircraft · Minor 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 damage
See all 152 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\", '0401'))
  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.