NTSB finding · Aircraft › Aircraft propeller/rotor › Main rotor system

Cases
10
In the probable cause
10 (100%)
Fatal cases
5
NTSB code
01046220

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 Main rotor head system per year: 10 cases
20082
20091
20112
20121
20131
20151
20161
20221
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\", '01046220') 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\", '01046220'))
  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\", '01046220') 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 · 10

NTSB CEN22LA318Accident · Serious injuriesClass 3 · LimitedFinal reportHiller UH12E · Becker, MNThe in-flight failure of the main rotor mast hub due to several undetected fatigue fractures.Jul 6, 2022 · N64272 · Substantial damageNTSB CEN16LA330Accident · Minor injuriesLimited investigationFinal reportHiller UH 12D · Cokeville, WYFailure of the control rotor cuff due to fatigue.Aug 23, 2016 · N97TH · Substantial damageNTSB GAA15CA258Accident · No injuriesData collectionFinal reportAirbus AS350 · Draper, UTThe ground recovery team member's failure to secure a rescue rope during the helicopter loading process in steep terrain, resulting in the rope fouling the helicopter's main rotor system.Sep 9, 2015 · N253HP · Substantial damageNTSB CEN14LA056Accident · 1 fatalLimited investigationFinal reportPearson Jon M Dragonfly · Anahuac, TXThe incorrect installation by the pilot, who was not a certificated mechanic or repairman, of the main rotor head bearing block, which resulted in the in-flight separation of the rotor head.Nov 16, 2013 · N975DF · DestroyedNTSB DCA12FA024Accident · 3 fatalField investigationFinal reportBell 214 · Camp Bastion, Afghanistanthe overtravel of the collective sleeve, which led to a severe and sudden reduction in main rotor blade collective pitch, resulting in a loss of control of the helicopter. The reason for the collective sleeve overtravel could not be determined since much of…Jan 16, 2012 · N5748M · DestroyedNTSB CEN12FA001Accident · 1 fatalField investigationFinal reportRobinson Helicopter R66 · Philip, SDThe in-flight separation of the main rotor mast following a mast bumping event. The reason for the mast bumping event could not be determined due to postaccident damage.Oct 1, 2011 · N266CY · DestroyedNTSB CEN11FA422Accident · 1 fatalField investigationFinal reportRobinson R22 Beta · Del Valle, TXThe divergence of the main rotor from its normal plane of rotation for reasons that cannot be determined because the pilot’s control inputs leading up to the event are unknown, resulting in mast bumping and main rotor blade separation.Jun 27, 2011 · N7779M · Substantial damageNTSB WPR09LA253Accident · 2 fatalLimited investigationFinal reportGauchat Safari · Rock Springs, AZThe separation of the main rotor head during cruise flight as a result of cyclic fatigue of the main rotor head spindle. The fatigue crack was due to an inadequate manufacturing process.May 22, 2009 · N147MD · Substantial damageNTSB MIA08LA199Accident · No injuriesLimited investigationFinal reportEurocopter AS-350-BA · Linden, NJThe flight instructor’s delayed remedial action (flight control inputs) during a practice autorotation/run-on landing resulting in fracture damage to the main rotor system Starflex.Sep 19, 2008 · N906BA · Substantial damageNTSB NYC08LA318Accident · No injuriesLimited investigationFinal reportHiller UH-12E · Naruna, VAThe fatigue failure of a main rotor blade drag strut.Sep 16, 2008 · N3324F · Substantial damage
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\", '01046220'))
  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.