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

Defining event in
102 cases
In the sequence of
161 cases
Fatal cases
6
NTSB code
231

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 Dynamic rollover per year: 161 cases
20081
200912
20109
20118
201210
20132
201414
20156
20168
201712
20188
201914
20206
20213
202216
20236
20249
202510
20267
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\" = '231' 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\" = '231' 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 · 102

NTSB ERA26LA304Accident · No injuriesClass 4 · LimitedFinal reportRobinson Helicopter R22 Beta · Miramar, FLThe flight instructor’s failure to maintain control of the helicopter during a hover, which resulted in the left skid contacting ground and a subsequent dynamic rollover.Aug 15, 2026 · N8316N · Substantial damageNTSB ERA26LA274Accident · No injuriesClass 4 · LimitedInvestigation openRobinson R22 · Monroe, NCJul 14, 2026 · N30CH · Substantial damageNTSB ANC26LA051Accident · Minor injuriesClass 3 · LimitedPreliminary reportRobinson R44 · Pembroke Pines, FLOn June 13, 2026, about 1318 eastern daylight time, a Robinson R44 Raven I helicopter, N336SG, was substantially damaged when it was involved in an accident at the North Perry Airport (HWO), Hollywood, Florida. The pilot and three passengers sustained minor…Jun 13, 2026 · N336SG · Substantial damageNTSB CEN26LA203Accident · Serious injuriesClass 4 · LimitedFinal reportRobinson Helicopter R66 · Fort Worth, TXThe flight instructor’s delayed remedial action and the student pilot’s failure to maintain helicopter control during hover.May 27, 2026 · N5488H · Substantial damageNTSB WPR26LA188Accident · Minor injuriesClass 4 · LimitedFinal reportMcdonnell Douglas Helicopter 500 · Twin Falls, IDThe pilot’s failure to maintain control while hovering in gusty wind conditions, resulting in the helicopter rolling onto its side.May 14, 2026 · N952SF · Substantial damageNTSB WPR26LA146Accident · No injuriesClass 4 · LimitedFinal reportBell Helicopter Textron 206L-1 · Chimney Rock, MTThe pilot’s failure to maintain adequate clearance from the terrain while performing a low altitude circling takeoff maneuver, which resulted in a dynamic rollover.Apr 4, 2026 · N5017G · Substantial damageNTSB CEN25LA337Accident · Minor injuriesClass 4 · LimitedFinal reportBell OH-58A · Caseville, MIThe front seat passenger’s inadvertent movement of the cyclic control resulting in a dynamic rollover after landing. Contributing to the accident was the pilot’s decision to leave the dual flight controls installed with a non-pilot passenger in the front seat.Aug 23, 2025 · N707EE · Substantial damageNTSB ERA25LA282Accident · Minor injuriesClass 4 · LimitedFinal reportPaul Dennis Berg Exec 162F · Holley, NYThe pilot’s failure to maintain clearance with the ground while hovering, which resulted in a dynamic rollover.Jul 30, 2025 · N843WB · Substantial damageNTSB CEN25LA167Accident · Minor injuriesClass 4 · LimitedFinal reportBell Helicopter Textron Canada 505 · Bethany, OKThe pilot’s improper landing technique that allowed the helicopter’s right skid to get caught on the landing platform, which resulted in a dynamic rollover.Apr 30, 2025 · N9TV · Substantial damageNTSB ERA25LA160Accident · No injuriesClass 4 · LimitedFinal reportRotorway Exec · Chuluota, FLThe pilot’s failure to maintain lateral control of the helicopter during takeoff, which resulted in a dynamic rollover.Mar 28, 2025 · N8318A · Substantial damage
See all 102 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\" = '231')
  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.