NTSB finding subcategory · Aircraft

Cases
357
In the probable cause
276 (77%)
Fatal cases
49
NTSB code
0101

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 Aircraft handling/service per year: 357 cases
200826
200941
201026
201127
201228
201323
201431
201529
201622
201717
201813
201910
20208
202112
202213
202311
202411
20254
20265
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\", '0101') 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.

Sections · 6

Query with SQL
duckdb -csv -c "SELECT left(f.\"findingCode\", 6) AS code, max(f.\"tier3Name\") AS name,
    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
  WHERE starts_with(f.\"findingCode\", '0101') AND f.\"findingCode\" GLOB '[0-9][0-9]*'
  GROUP BY 1
  ORDER BY cases DESC, code"

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\", '0101'))
  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\", '0101') 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 · 357

NTSB CEN26LA260Accident · No injuriesClass 4 · LimitedFinal reportRobinson Helicopter R44 · Emerson, IAThe failure of the pilot to verify the loading hose had been disconnected before taking off and the failure of the loader to disconnect the fuel hose from the helicopter.Jul 20, 2026 · N224RH · Substantial damageNTSB ERA26LA264Accident · No injuriesClass 4 · LimitedFinal reportCessna 172 · Greensboro, NCThe flight instructor’s improper decision to leave the airplane with the engine running, which resulted in the airplane rolling forward and impacting a hangar.Jun 27, 2026 · N7764G · Substantial damageNTSB CEN26LA216Accident · No injuriesClass 4 · LimitedFinal reportCessna 182P · Northport, MIThe pilot's decision to resume taxiing on a turf runway that was unable to adequately support the airplane's weight, which resulted in the nose landing gear sinking into the soft ground and the propeller striking the terrain.May 20, 2026 · N86289 · Substantial damageNTSB WPR26LA170Accident · No injuriesClass 4 · LimitedFinal reportBalony Kubicek Spol Sro BB100Z · Elk Grove, CAThe pilot’s delayed decision to deflate the balloon during a static display in windy conditions, which resulted in a loss of control and impact with a building. Contributing to the accident was the proximity of the balloon from structures during a static…Apr 27, 2026 · N355WC · Substantial damageNTSB CEN26LA145Accident · No injuriesClass 4 · LimitedFinal reportClassic Waco YMF · Galveston, TXThe biplane pilot’s failure to maintain an adequate visual lookout while taxiing, which included the failure to perform S-turns to compensate for limited forward visibility.Mar 24, 2026 · N43000 · 2 aircraft · Substantial damageNTSB CEN26LA076Accident · Serious injuriesClass 4 · LimitedFinal reportNanchang China CJ-6A · Burnet, TXThe pilot’s failure to secure the airplane before hand-propping the engine, which resulted in the airplane’s unexpected movement and subsequent impact with an airport fence.Dec 31, 2025 · N559TX · Substantial damageNTSB WPR26LA042Accident · No injuriesClass 4 · LimitedFinal reportCessna 150 · Marana, AZThe pilot’s improper starting procedure which resulted in the airplane’s unexpected movement and subsequent impact with an airport fence.Nov 9, 2025 · N6495T · Substantial damageNTSB WPR26LA009Accident · No injuriesClass 4 · LimitedFinal reportMooney M20C · Watsonville, CAThe pilot’s decision to program avionics during taxi, resulting in an inadvertent throttle input and collision with a hangar.Oct 7, 2025 · N6814N · Substantial damageNTSB DCA25LA267Accident · Minor injuriesClass 4 · LimitedFinal reportBoeing 787 · North Charleston, SCThe ground crews improper parking of N247BZ, which left its tail protruding into the taxiway, and the JA986A flight crew’s failure to maintain adequate clearance while taxiing.Jul 19, 2025 · JA986A · 2 aircraft · Substantial damageNTSB ERA25LA079Accident · No injuriesClass 3 · LimitedFinal reportAir Tractor AT504 · Big Cypress, FLThe pilot’s decision to depart with cargo outside of the designated baggage compartment, which resulted in the cargo interfering with the rudder control system.Dec 18, 2024 · N8516V · Substantial damage
See all 357 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 f.case_mkey FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' f WHERE starts_with(f.\"findingCode\", '0101'))
  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.