Defining event in
87 cases
In the sequence of
151 cases
Fatal cases
2
NTSB code
110

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 it was the defining event; in gray, cases where it came elsewhere in the sequence. The map shows the cases where it was the defining event. Events are coded with the final report, so the latest years are incomplete.

Cases per year

2008Defining eventElsewhere in the sequence2026
Cases with Cabin safety event per year: 151 cases
20085
200910
201013
201114
201211
20138
201423
201511
20165
20177
201811
20198
20205
20212
20224
20237
20245
20251
20261
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\" = '110' 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\" = '110' 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 · 87

NTSB DCA27WA015Accident · Serious injuriesClass 5 · ForeignAirbus A330-302 · Cassano Magnago, ItalyOct 1, 2026 · N827NWNTSB CEN25LA105Accident · Serious injuriesClass 3 · LimitedFinal reportRobinson Helicopter R44 II · Edgemont, SDThe pilot’s failure to properly identify the proper anchor point for the supplemental harness and the crew’s incorrect use of the restraint system structure as an anchor point, which resulted in the separation of the structure.Feb 27, 2025 · N6555C · No damageNTSB DCA25WA059Accident · Serious injuriesClass 5 · ForeignBoeing 737 · Derby, United KingdomDec 16, 2024 · G-TAWB · No damageNTSB GAA25WA075OccurrenceClass 5 · ForeignBeech 200 · Pillanesburg, South AfricaOct 24, 2024 · SZ-SSPNTSB GAA24WA206Incident · No injuriesClass 5 · ForeignHawker Beechcraft C90 · Biggin Hill, United KingdomJun 1, 2024 · D-IMEP · Minor damageNTSB DCA24WA103IncidentClass 5 · ForeignBoeing 787 · Auckland, New ZealandFeb 1, 2024 · ZK-NZF · No damageNTSB CEN23LA178Accident · Serious injuriesClass 3 · LimitedFinal reportAirbus Helicopters EC130 · Carta Valley, TXThe right rear-seat passenger’s improper judgement to release his restraint system and depart the helicopter while in a hover, which resulted in him sustaining serious injuries. Contributing to the accident was his impairment from effects of alcohol…May 6, 2023 · N254DM · No damageNTSB ERA23LA212Accident · Serious injuriesClass 4 · LimitedFinal reportGulfstream Aerospace GVII-G500 · Dulles, VAThe initiation of the takeoff while before the flight attendant had returned to her seat, which resulted in a serious injury during takeoff.Apr 28, 2023 · N507GD · No damageNTSB DCA23WA165OccurrenceClass 5 · ForeignBoeing 777 · Mediterranean Sea, NetherlandsFeb 9, 2023 · PH-BQO · No damageNTSB DCA23WA135Accident · Serious injuriesClass 5 · ForeignBoeing 737 · Miyazaki, JapanJan 7, 2023 · JA307J · No damage
See all 87 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\" = '110')
  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.