NTSB finding · Personnel issues › Experience/knowledge › Experience/qualifications

Cases
18
In the probable cause
14 (78%)
Fatal cases
8
NTSB code
02031000

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 Experience/qualifications, general per year: 18 cases
20084
20102
20114
20121
20131
20142
20161
20201
20221
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\", '02031000') 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\", '02031000'))
  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\", '02031000') 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 · 18

NTSB CEN25LA252Accident · Serious injuriesClass 4 · LimitedFinal reportBeech 35 · Cedarcreek, MOThe student pilot’s failure to attain a proper airspeed and climb attitude during takeoff, which led to the airplane exceeding its critical angle of attack and experiencing an aerodynamic stall. Contributing to the accident were the student pilot’s lack of…Jul 13, 2025 · N3181V · Substantial damageNTSB ERA22FA161Accident · 1 fatalClass 3 · FieldFinal reportCessna 172 · Dahlonega, GAThe pilot’s delay in initiating a go-around and his failure to maintain airplane control during the initial climb, which resulted in the exceedance of the airplane’s critical angle of attack and an aerodynamic stall.Mar 19, 2022 · N1410F · Substantial damageNTSB WPR21FA025Accident · 2 fatalClass 3 · FieldFinal reportLancair 235 · Cordes Lakes, AZThe pilot’s exceedance of the airplane’s critical angle of attack during an aerobatic maneuver, which resulted in an aerodynamic stall and spin and a loss of control. Contributing to the accident was the pilot’s lack of aerobatic experience in the accident…Oct 24, 2020 · N25NL · Substantial damageNTSB OPS17IA010Incident · No injuriesIncident investigationFinal reportBoeing 777 · Mt. Wilson, CAThe incident was caused by the air traffic controller assigning the pilots a left turn instead of the required right turn after departure which placed the aircraft in an unsafe proximity with terrain and obstructions. Contributing to the incident was the air…Dec 16, 2016 · B-16726 · No damageNTSB CEN14CA470Accident · No injuriesData collectionFinal reportEvektor-Aerotechnik Sportstar · Minneapolis, MNThe pilot's loss of control while landing with a crosswind. Contributing to the accident was the pilot lack of experience flying in similar weather conditions.Aug 31, 2014 · N821EV · Substantial damageNTSB CEN14LA259Accident · Serious injuriesLimited investigationFinal reportSibley Glasair · Midlothian, TXThe pilot’s failure to maintain lateral control during the initial climb. Contributing to the accident was the pilot’s failure to obtain sufficient training and experience to operate the high-performance airplane.May 24, 2014 · N4VX · DestroyedNTSB CEN13FA183Accident · 4 fatalField investigationFinal reportMooney M20E · Angel Fire, NMThe pilot's loss of control while flying in a turbulent mountain-wave environment. Contributing to the accident was the pilot's overconfidence in his ability to safely pilot the airplane in gusting wind conditions and his lack of experience operating in…Mar 3, 2013 · N3484X · Substantial damageNTSB CEN12LA668Accident · No injuriesLimited investigationFinal reportThompson RV-6 · Pagosa Springs, COThe pilot’s failure to maintain directional control of the airplane during the landing roll. Contributing to the accident was the pilot’s lack of landing experience at high density altitudes.Sep 20, 2012 · N140RV · Substantial damageNTSB WPR12LA065Accident · Minor injuriesLimited investigationFinal reportBell 407 · Rock Springs, WYThe unauthorized operation of the helicopter by a non-certificated and unqualified individual who failed to maintain helicopter control.Dec 13, 2011 · N8067Z · Substantial damageNTSB WPR11CA413Accident · Minor injuriesData collectionFinal reportCessna 172F · Atlanta, IDThe pilot’s misjudgment of his final approach path. Contributing to the accident was the pilot’s inadequate preflight planning.Aug 29, 2011 · N8698U · Substantial damage
See all 18 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\", '02031000'))
  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.