Lack of sleep

NTSB finding · Personnel issues › Physical › Alertness/Fatigue

Cases
26
In the probable cause
19 (73%)
Fatal cases
12
NTSB code
02013510

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 Lack of sleep per year: 26 cases
20082
20091
20103
20112
20124
20134
20141
20151
20162
20173
20191
20221
20251
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\", '02013510') 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\", '02013510'))
  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\", '02013510') 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 · 26

NTSB CEN26LA033Accident · Minor injuriesClass 4 · LimitedFinal reportCessna 182H · Lakeview, ARThe pilot’s failure to maintain a proper approach path during landing which resulted in a collision with terrain short of the runway. Contributing to the accident was the improper flap position during landing, and the pilot being fatigued.Oct 30, 2025 · N2040X · Substantial damageNTSB WPR22FA101Accident · 1 fatalClass 3 · FieldFinal reportMcdonnell Douglas 500N · Newport Beach, CAThe helicopter’s encounter with unanticipated right yaw during a low-altitude, low-airspeed, tight-radius orbit. Contributing to the accident was the pilot’s distraction during the orbit, which resulted in the loss of control, his fatigue due to his early…Feb 20, 2022 · N521HB · Substantial damageNTSB CEN19MA312Accident · 2 fatalClass 3 · MajorFinal reportConvair 440 · Monclova, OHThe flight crew’s failure to maintain the proper airspeed on final approach, which resulted in an inadvertent aerodynamic stall and impact with trees, and terrain. Contributing to the accident was the flight crew’s fatigue due to the overnight flight schedule.Sep 11, 2019 · N24DR · DestroyedNTSB DCA17IA148Incident · No injuriesClass 1 · IncidentFinal reportAirbus A320-211 · San Francisco, CAThe flight crew's misidentification of taxiway C as the intended landing runway, which resulted from the crewmembers' lack of awareness of the parallel runway closure due to their ineffective review of notice to airmen (NOTAM) information before the flight…Jul 8, 2017 · C-FKCK · No damageNTSB ERA17FA181Accident · 4 fatalField investigationFinal reportMitsubishi MU2B · Eleuthera, BahamasThe pilot's intentional flight into an area of known icing and convective thunderstorm activity, which resulted in a loss of control of the airplane.May 15, 2017 · N220N · DestroyedNTSB ERA17LA096Accident · No injuriesLimited investigationFinal reportBeech 200 · West Palm Beach, FLThe pilot's failure to ensure that the landing gear were down and locked before touchdown. Contributing to the accident was the pilot’s self-reported fatigue at the time of the accident.Jan 27, 2017 · N60RA · Substantial damageNTSB WPR16FA087Accident · 2 fatalField investigationFinal reportNorth American AT 6A · Astoria, ORThe pilot's loss of aircraft control during a low-altitude ash dispersal maneuver. Contributing to the accident was his degraded performance due to his medical conditions.Mar 23, 2016 · N7055D · DestroyedNTSB GAA16CA121Accident · No injuriesData collectionFinal reportGlines Kenneth Tailwind W 8 · Big Bear, CAThe pilot's inadvertent landing off the left side of the snow-covered runway, resulting in a ground loop and nose over.Jan 25, 2016 · N1983T · Substantial damageNTSB ERA15FA326Accident · 1 fatalField investigationFinal reportPiper PA44 · Houlton, METhe pilot's descent below the published minimum descent altitude in night instrument meteorological conditions without visual contact with the runway environment, which resulted in a collision with trees and terrain short of the runway. Contributing to the…Aug 27, 2015 · N553MD · DestroyedNTSB WPR14TA149Accident · No injuriesFinal reportBell OH-58A · Tehachapi, CAThe pilot's decision to attempt a mission at night with known en route weather conditions below operating minimums, likely due to self-induced pressure, and then continue flight beyond the alternate landing airport as weather conditions deteriorated, which…Mar 27, 2014 · N497E · Substantial damage
See all 26 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\", '02013510'))
  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.