NTSB finding · Aircraft › Aircraft structures › Empennage structure

Cases
10
In the probable cause
9 (90%)
Fatal cases
6
NTSB code
01035530

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 Vertical stabilizer per year: 10 cases
20082
20111
20141
20151
20162
20171
20231
20241
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\", '01035530') 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\", '01035530'))
  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\", '01035530') 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 ERA24LA250Accident · No injuriesClass 4 · LimitedFinal reportPiper PA28R · Vero Beach, FLExcessive side loading of the vertical stabilizer.Jun 7, 2024 · N287ND · Substantial damageNTSB CEN24LA035Accident · No injuriesClass 4 · LimitedFinal reportGrassman Timothy B RV-14A · Houston, TXThe bird strike to the airplane’s vertical stabilizer during an approach for landing.Nov 3, 2023 · N5875G · Substantial damageNTSB WPR17FA134Accident · 2 fatalField investigationFinal reportJordan John RV7 · Arlington, AZThe inflight overstress separation of the vertical stabilizer and rudder during flight which resulted in the pilot's inability to maintain airplane control. Contributing to the accident was an inflight collision with a bird.Jun 27, 2017 · N731RV · DestroyedNTSB WPR17LA034Accident · No injuriesClass 3 · LimitedFinal reportBell OH 58A · Sacramento, CAThe failure of the vertical stabilizer due to fatigue.Dec 4, 2016 · N916PD · Substantial damageNTSB CEN16LA281Accident · 2 fatalLimited investigationFinal reportVans RV9 · Springfield, OHThe pilot’s decision to fly into known thunderstorms, which resulted in an in-flight breakup.Jul 22, 2016 · N807LK · DestroyedNTSB ERA15FA331Accident · 1 fatalField investigationFinal reportCornell W F/Sahakian J A JR Giles 202 (G202) · Newburgh, NYSeparation of the vertical and horizontal stabilizers from the fuselage due to a fracture that initiated at the bond between the left horizontal stabilizer and the flange that attached the horizontal stabilizer to the fuselage skin. The failure was likely…Aug 28, 2015 · N18FJ · DestroyedNTSB CEN14LA508Accident · 2 fatalLimited investigationFinal reportBrupbacher Chris CB2000 · Reserve, LAThe failure of the flight control rod bearing due to an undetected preexisting corrosion-induced crack, which resulted in the main rotor blades going to full pitch and the rotor mast folding; this allowed the pusher propeller to strike and sever the tail.Sep 21, 2014 · N5002E · DestroyedNTSB WPR11FA155Accident · 1 fatalField investigationFinal reportMuse KR2 · Newberry Springs, CAThe airplane’s encounter with severe turbulence, which resulted in the in-flight breakup of the airplane. Contributing to the accident was the pilot’s inadequate preflight planning.Mar 7, 2011 · N122B · Substantial damageNTSB CEN09LA023Accident · Serious injuriesLimited investigationFinal reportPiper PA-36-285 · Silverton, TXThe pilot's failure to maintain clearance from a transmission wire.Oct 18, 2008 · N57740 · Substantial damageNTSB LAX08LA160Accident · 1 fatalLimited investigationFinal reportQuad City Ultralight Challenger LSS · Moses Lake, WAThe pilot's inability to maintain control due to an in-flight separation of the vertical fin as a result of the failure of the airplane's builder to properly secure the vertical fin to the fuselage.May 31, 2008 · N95478 · 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\", '01035530'))
  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.