NTSB defining event · CICTT: Loss Of Control (Inflight)

Defining event in
3,831 cases
In the sequence of
4,995 cases
Fatal cases
1,846
NTSB code
240

NTSB has coded findings and defining events since 2008. Earlier cases used its older occurrence and cause codes, so they aren’t counted here.

Cases per year

In green, cases where it was the defining event; in gray, cases where it came elsewhere in the sequence. Events are coded with the final report, so the latest years are incomplete.

2008Defining eventElsewhere in the sequence2026
Cases with Loss of control in flight per year: 4,995 cases
2008333
2009307
2010259
2011313
2012320
2013282
2014311
2015298
2016284
2017283
2018261
2019287
2020261
2021254
2022244
2023216
2024203
2025183
202696
Query with SQL
duckdb -csv -c "SELECT year(c.\"eventDate\") AS year, count(DISTINCT e.case_mkey) AS cases,
    count(DISTINCT e.case_mkey) FILTER (WHERE e.\"isDefiningEvent\") AS defining
  FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c.\"mKey\" = e.case_mkey
  WHERE e.\"tier2Number\" = '240' AND e.case_mkey IN (SELECT case_mkey FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' WHERE \"isDefiningEvent\")
  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 these cases

Query with SQL
duckdb -csv -c "WITH defining AS (SELECT * FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' WHERE \"tier2Number\" = '240' AND \"isDefiningEvent\")
  SELECT * FROM (
  SELECT 'Phase of flight' AS kind, e.\"tier1Number\" AS code, max(e.\"eventTier1Name\") AS name, count(DISTINCT e.case_mkey) AS cases
  FROM defining e
  GROUP BY ALL
  UNION ALL
  SELECT 'Finding in the probable cause', left(f.\"findingCode\", 8), max(f.\"tier4Name\"), count(DISTINCT f.case_mkey)
  FROM defining e JOIN 'https://openairdocs.org/data/latest/ntsb_findings.parquet' f ON f.case_mkey = e.case_mkey AND f.aircrafts_position = e.aircrafts_position AND f.\"inProbableCause\"
  WHERE f.\"findingCode\" GLOB '[0-9][0-9]*'
  GROUP BY ALL
  UNION ALL
  SELECT 'Aircraft model', a.aircraft_model_code, any_value(concat_ws(' ', m.manufacturer, m.model)), count(DISTINCT e.case_mkey)
  FROM defining e JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = e.case_mkey AND a.position = e.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
  )
  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 · 3,831

NTSB ERA27LA008Accident · Minor injuriesLimited investigationInvestigation openZielke Ronald W Zenith 750 · Marysville, OHOct 14, 2026 · N203RZNTSB CEN27FA016Accident · 5 fatalClass 3 · FieldInvestigation openPiper PA 46-350P · Reedsburg, WIOct 14, 2026 · N931TTNTSB WPR27FA015Accident · 1 fatalClass 3 · FieldInvestigation openBertling Courtney MXL-2 · Newberg, OROct 12, 2026 · N947BXNTSB CEN26FA325Accident · 1 fatalClass 3 · FieldPreliminary reportEXP PA-18 Replica · Buffalo, MNOn September 27, 2026, about 1608 central daylight time, an experimental PA-18 Replica airplane, N43LK, sustained substantial damage when it was involved in an accident near Buffalo, Minnesota. The pilot was fatally injured, and the pilot-rated passenger was…Sep 27, 2026 · N43LK · Substantial damageNTSB WPR26LA360Accident · No injuriesClass 4 · LimitedInvestigation openCessna A185F · Livingston, MTSep 26, 2026 · N185BZ · Substantial damageNTSB WPR26FA355Accident · 2 fatalClass 3 · FieldInvestigation openAeronca 7AC · Hesperia, CASep 24, 2026 · N12DFNTSB ERA26FA338Accident · 1 fatalClass 3 · FieldPreliminary reportReed Julian Estill RV-4 · Albertville, ALOn September 15, 2026, about 0620 central daylight time, an experimental amateur-built RV-4, N469TW, was substantially damaged when it was involved in an accident near Albertville, Alabama. The pilot was fatally injured. The airplane was operated as a Title…Sep 15, 2026 · N469TW · Substantial damageNTSB WPR26LA344Accident · Serious injuriesClass 4 · LimitedInvestigation openTaylorcraft BC12D · Nibbe, MTSep 14, 2026 · N96888 · Substantial damageNTSB CEN26LA317Accident · Minor injuriesClass 4 · LimitedInvestigation openRobinson Helicopter R44 II · Natchez, MSSep 13, 2026 · N7527L · Substantial damageNTSB ERA26FA329Accident · 2 fatalClass 3 · FieldPreliminary reportPiper PA-28-181 · Ludlow, MAOn September 5, 2026, about 2105 eastern daylight time, a Piper PA-28-181, N7653F, was destroyed when it was involved in an accident near Ludlow, Massachusetts. The pilot and passenger were fatally injured. The airplane was operated as a Title 14 Code of…Sep 6, 2026 · N7653F · Destroyed
See all 3,831 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 e.case_mkey FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e WHERE e.\"isDefiningEvent\" AND e.\"tier2Number\" = '240')
  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.