NTSB finding · Organizational issues › Support/oversight/monitoring › Oversight

Cases
7
In the probable cause
5 (71%)
Fatal cases
3
NTSB code
04032025

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 Equipment monitoring per year: 7 cases
20081
20152
20212
20231
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\", '04032025') 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\", '04032025'))
  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\", '04032025') 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 · 7

NTSB 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 WPR24LA069Accident · No injuriesClass 4 · LimitedFinal reportTaylorcraft BC12-D · Whitefish, MTThe failure of the airport authorities to renew the airport closure NOTAM for the airport. Contributing to the accident, was the pilot’s inability to see the runway closure sign.Dec 23, 2023 · N43415 · Substantial damageNTSB ERA21LA390Accident · No injuriesClass 4 · LimitedFinal reportEurocopter AS 350 B3 · Kinston, NCThe buckling of the tail boom as a result of a hard landing event of undetermined time and location.Sep 29, 2021 · N370NC · Substantial damageNTSB CEN21LA206Accident · No injuriesClass 4 · LimitedFinal reportCessna 170B · Curtis, NEWater contamination of the airplane’s fuel supply which resulted in a total loss of engine power.Apr 19, 2021 · N2955D · Substantial damageNTSB CEN15LA423Accident · Serious injuriesLimited investigationFinal reportBell 206B · Woodville, TXThe loss of engine power due to water contamination in the fuel system. Contributing to the accident were the pilot’s inadequate preflight inspection of the fuel tanks and the operator’s inadequate inspection of the fuel supply truck that did not detect water…Sep 24, 2015 · N648CA · Substantial damageNTSB ERA15FA313Accident · 1 fatalField investigationFinal reportBeech C35 · Hicksville, NYThe pilot's improper decision to delay turning toward a suitable runway once he realized that an engine failure had occurred, which resulted in his having inadequate altitude to glide to a suitable runway, and the New York terminal radar approach control…Aug 16, 2015 · N5946C · DestroyedNTSB DCA08MA098Accident · 4 fatalClass 1 · MajorFinal reportLearjet LR60 · Columbia, SCThe operator’s inadequate maintenance of the airplane’s tires, which resulted in multiple tire failures during takeoff roll due to severe underinflation, and the captain’s execution of a rejected takeoff (RTO) after V1, which was inconsistent with her…Sep 20, 2008 · N999LJ · Destroyed
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\", '04032025'))
  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.