NTSB finding · Personnel issues › Experience/knowledge › Training

Cases
32
In the probable cause
22 (69%)
Fatal cases
12
NTSB code
02031530

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 Training with equipment per year: 32 cases
20081
20091
20113
20121
20131
20143
20152
20163
20174
20183
20193
20201
20211
20231
20243
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\", '02031530') 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\", '02031530'))
  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\", '02031530') 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 · 32

NTSB ANC25LA064Accident · No injuriesClass 4 · LimitedFinal reportRobinson Helicopter R44 II · Palmer, AKThe pilot’s diverted attention during takeoff in flat light conditions, which resulted in a loss of visual reference with terrain.Jun 30, 2025 · N531AT · Substantial damageNTSB ERA25LA077Accident · No injuriesClass 4 · LimitedFinal reportWolstenholme Dennis Pietenpol AIR Camper · Tullahoma, TNThe pilot’s failure to adequately secure the airplane before hand-propping the engine. Contributing was the pilot’s lack of training in hand-propping procedures.Dec 12, 2024 · N161DW · 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 ERA24LA099Accident · No injuriesClass 3 · LimitedFinal reportSwissdrones Operating SDO 50 V2 · Antioch, GAA partial loss of engine power due to a reduction of fuel flow for undetermined reasons. Contributing to the accident was the UAS manufacturer’s lack of instructions for a partial loss of engine power landing.Jan 18, 2024 · N780PA · Substantial damageNTSB CEN23LA292Accident · No injuriesClass 4 · LimitedFinal reportCessna 172R · Burlington, VTThe student pilot’s improper landing flare, which resulted in a hard, bounced landing and the flight instructor’s delayed remedial action.Jul 5, 2023 · N64AF · Substantial damageNTSB ERA21LA325Accident · Minor injuriesClass 4 · LimitedFinal reportSilverlight Delta JET-II · Mulberry, FLThe pilot’s improper landing flare, which resulted in a bounced landing and a subsequent loss of directional control.Aug 10, 2021 · N314SL · Substantial damageNTSB WPR21LA070Accident · 1 fatalClass 3 · LimitedFinal reportSilverLight AR-1 · Heber City, UTThe pilot’s failure to follow the procedures for takeoff in the Pilot Operating Handbook, which resulted in a loss of control and collision with the terrain. Contributing to the accident was the pilot’s failure to receive additional training in the gyroplane.Dec 16, 2020 · N261MD · Substantial damageNTSB CEN20LA037Accident · No injuriesClass 3 · LimitedFinal reportRobinson R22 · Beeville, TXThe solo student pilot's improper cyclic input during takeoff, which resulted in dynamic rollover.Dec 19, 2019 · N695AP · Substantial damageNTSB GAA19CA389Accident · No injuriesData collectionFinal reportCessna 152 · Paris, TXThe student pilot's failure to maintain the runway heading during takeoff with a crosswind, which resulted in impact with a hay bale left of the runway, and his improper decision to perform a soft-field takeoff without adequate practice.Jul 6, 2019 · N757YK · Substantial damageNTSB ERA19LA132Accident · Serious injuriesClass 3 · LimitedFinal reportApollo Monsoon · Sharpsburg, GAThe pilot's failure to maintain directional control during landing, which resulted in a collision with trees. Contributing to the accident was the pilot’s failure to obtain instruction in the weight-shift control aircraft.Mar 20, 2019 · N156AP · Substantial damage
See all 32 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\", '02031530'))
  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.