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

Cases
12
In the probable cause
11 (92%)
Fatal cases
2
NTSB code
040300

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 Support/oversight/monitoring, general per year: 12 cases
20082
20122
20134
20151
20221
20231
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\", '040300') 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 · 1

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\", '040300') 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\", '040300'))
  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\", '040300') 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 · 12

NTSB DCA24LA097Accident · Serious injuriesClass 3 · LimitedFinal reportBoeing 777-222ER · Kelsey, NYThe airplane’s encounter with an unanticipated localized region of moderate-to-severe turbulence while in instrument meteorological conditions (IMC) associated with strong upper-level wind shear and convective cells. Contributing to the severity of the…Feb 10, 2024 · N788UA · No damageNTSB ERA23LA327Accident · No injuriesClass 3 · LimitedFinal reportAir Tractor AT502 · Leipsic, OHThe incorrect assembly of the turbine engine’s reduction gear box second-stage ring gear, which resulted in an internal failure of multiple engine components and a total loss of power.Aug 4, 2023 · N5048S · Substantial damageNTSB CEN23FA031Accident · 2 fatalClass 3 · FieldFinal reportPiper PA46-500TP · Bignell, NEThe pilot’s flight into low instrument flight rules conditions and turbulence, which resulted in spatial disorientation, loss of control, and an impact with terrain. Contributing to the accident was the pilot’s lack of total instrument experience.Nov 9, 2022 · N234PM · DestroyedNTSB CEN15LA300Accident · Serious injuriesLimited investigationFinal reportBalony Kubicek Spol BB60Z · Fort Carson, COThe pilot’s improper burner control, which allowed the balloon’s envelope to cool, and the balloon’s subsequent encounter with a drop in wind velocity during a high wind landing approach, both of which resulted in the balloon’s descent rate increasing too…Jul 2, 2015 · N210GB · No damageNTSB CEN13LA356Accident · Serious injuriesLimited investigationFinal reportUltramagic N-250 · Golden, COThe balloon's encounter with unforecast strong gusting wind, which resulted in a high-wind landing. Contributing to the accident was the National Weather Service's misjudgment of the timing and underestimation of the magnitude of the frontal boundary moving…Jun 8, 2013 · N753ZF · Minor damageNTSB CEN13LA347Accident · Serious injuriesLimited investigationFinal reportAerostar International RX 8 · Arvada, COThe balloon's encounter with unforecast strong gusting wind, which resulted in a high-wind landing. Contributing to the accident was the National Weather Service's misjudgment of the timing and underestimation of the magnitude of the frontal boundary moving…Jun 8, 2013 · N7059U · Substantial damageNTSB CEN13IA350Incident · Minor injuriesIncident investigationFinal reportUltramagic M-105 · Louisville, COThe balloon's encounter with unforecast strong gusting wind, which resulted in a high-wind landing. Contributing to the accident was the National Weather Service's misjudgment of the timing and underestimation of the magnitude of the frontal boundary moving…Jun 8, 2013 · N30018 · Minor damageNTSB CEN13IA349Incident · Minor injuriesIncident investigationFinal reportUltramagic T210 · Boulder, COThe balloon's encounter with unforecast strong gusting wind, which resulted in a high-wind landing. Contributing to the accident was the National Weather Service's misjudgment of the timing and underestimation of the magnitude of the frontal boundary moving…Jun 8, 2013 · N201FW · Minor damageNTSB ERA12FA563Accident · 1 fatalField investigationFinal reportAerospatiale AS 355F1 · West Windsor, NJDisconnection of the upper rod end from the fore/aft servo due to severely worn threads, which resulted in a loss of control and separation of a main rotor blade during cruise flight. Contributing to the accident were incorrect maintenance procedures and…Sep 15, 2012 · N58020 · Substantial damageNTSB CEN12LA229Accident · No injuriesLimited investigationFinal reportPiper PA-34-200T · San Marcos, TXThe pilot's failure to ensure that he was aware of the NOTAM describing the runway closure, which resulted in a landing on the closed runway and subsequent collision with a barrier. Contributing to the accident was the failure of air traffic control personnel…Apr 4, 2012 · N1162X · Substantial damage
See all 12 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\", '040300'))
  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.