NTSB finding section · Organizational issues › Development

Cases
31
In the probable cause
25 (81%)
Fatal cases
12
NTSB code
040120

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 Selection/certification/testing per year: 31 cases
20087
20094
20103
20113
20121
20143
20151
20161
20171
20181
20192
20211
20222
20241
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\", '040120') 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 · 4

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\", '040120') 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\", '040120'))
  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\", '040120') 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 · 31

NTSB 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 CEN23LA014Accident · No injuriesClass 3 · LimitedFinal reportDiamond Aircraft Ind DA 62 · Dallas, TXA total loss of airplane electrical power for undetermined reasons, which resulted in a complete loss of engine power to both engines. Contributing was the worn main battery and the incorrectly wired ECU backup batteries.Oct 15, 2022 · N84LT · Substantial damageNTSB CEN22LA430Accident · No injuriesClass 3 · LimitedFinal reportAgusta AW139 · Houma, LAThe inflight loss of collective control of the helicopter due to thermal damage of a collective control torque tube that abraded with misrouted electrical wiring, which resulted in an electrical short and inflight fire. Contributing to the accident were the…Sep 24, 2022 · N811TA · Substantial damageNTSB ERA21FA346Accident · 4 fatalClass 2 · FieldFinal reportCessna 560 · Farmington, CTThe pilot-in-command’s failure to release the parking brake before attempting to initiate the takeoff, which produced an unexpected retarding force and airplane-nose-down pitching moment that prevented the airplane from becoming airborne within the takeoff…Sep 2, 2021 · N560AR · DestroyedNTSB CEN19MA141Accident · 6 fatalClass 1 · MajorFinal reportDe Havilland DHC-2 · Ketchikan, AKThe inherent limitations of the see-and-avoid concept, which prevented the two pilots from seeing the other airplane before the collision, and the absence of visual and aural alerts from both airplanes’ traffic display systems, while operating in a geographic…May 13, 2019 · N952DB · 2 aircraft · DestroyedNTSB ERA19FA170Accident · 1 fatalClass 3 · FieldFinal reportPiper PA 30 · Naples, FLIncapacitation of the pilot due to a birdstrike through the windshield in front of the pilot's position, while on approach to land.May 11, 2019 · N7650Y · DestroyedNTSB ERA18LA134Accident · 1 fatalLimited investigationFinal reportStanley Ernie Sigurd Kolb Mark · Collegedale, TNThe pilot's loss of airplane control, which resulted in an aerodynamic stall. Contributing to the accident was the pilot's improper decision to take off in the nonairworthy airplane in which he had no training and his lack of flight experience in the 17…Apr 20, 2018 · N9123R · DestroyedNTSB CEN17LA156Accident · No injuriesLimited investigationFinal reportLoomis Xenon 4 · Knoxville, IAA partial loss of engine power for reasons that could not be determined based on the available information. Contributing to the accident was the failure of the owners to obtain proper materials regarding the operation and maintenance of the engine.Apr 17, 2017 · N912XV · Substantial damageNTSB DCA16FA199Accident · 2 fatalClass 2 · FieldFinal reportBell 525 · Italy, TXA severe vibration of the helicopter that led to the crew's inability to maintain sufficient rotor rotation speed (Nr), leading to excessive main rotor blade flapping, subsequent main rotor blade contact with the tail boom, and the resultant in-flight…Jul 6, 2016 · N525TA · DestroyedNTSB CEN16MA036Accident · 9 fatalClass 1 · MajorFinal reportBritish Aerospace HS 125 700A · Akron, OHThe flight crew's mismanagement of the approach and multiple deviations from company standard operating procedures, which placed the airplane in an unsafe situation and led to an unstabilized approach, a descent below minimum descent altitude without visual…Nov 10, 2015 · N237WR · Destroyed
See all 31 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\", '040120'))
  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.