Scheduling

NTSB finding section · Organizational issues › Management

Cases
10
In the probable cause
9 (90%)
Fatal cases
3
NTSB code
040230

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 Scheduling per year: 10 cases
20092
20112
20121
20131
20191
20221
20242
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\", '040230') 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.

Subsections · 4

Query with SQL
duckdb -csv -c "SELECT left(f.\"findingCode\", 8) AS code, max(f.\"tier4Name\") 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\", '040230') 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\", '040230'))
  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\", '040230') 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 CEN25LA074Accident · No injuriesClass 3 · LimitedFinal reportCessna 560 · Pagosa Springs, COThe pilot’s inadequate preflight planning and poor preflight inspection and decision-making, which led to a takeoff attempt above the airplane’s certified maximum takeoff weight with snow-contaminated wings, resulting in a rejected takeoff at an airspeed…Dec 27, 2024 · N753MB · Substantial damageNTSB CEN24FA221Accident · 1 fatalClass 3 · FieldFinal reportAir Tractor AT502 · Whiteface, TXBoth pilot’s failure to see and avoid the other airplane during simultaneous aerial application operations over the same area. Contributing to the accident was the operator’s poor decision to assign the pilots to conduct separate aerial application operations…Jun 14, 2024 · N2032K · 2 aircraft · Substantial damageNTSB ERA22LA145Accident · Serious injuriesClass 3 · LimitedFinal reportAirbus Helicopters MBB-BK 117 C-2 · Abingdon, VAThe pilot’s misalignment of the helicopter skids while landing on a dolly at night, which resulted in the skids becoming entangled with the dolly and a loss of control. Contributing to the accident was the pilot’s fatigue as a result of the time the accident…Mar 7, 2022 · N29VA · Substantial damageNTSB ANC19FA019Accident · 2 fatalClass 2 · FieldFinal reportDe Havilland DHC 2 · Metlakatla, AKThe pilot’s inadequate compensation for a quartering tailwind during a water landing, which resulted in a loss of control and subsequent nose-over. Contributing to the accident was the company’s inadequate operational control of the flight release process,…May 20, 2019 · N67667 · Substantial damageNTSB DCA13CA172Accident · No injuriesData collectionFinal reportNasa Ames Research Center Sierra · Beaufort Sea, AKcontinued operation into engine intake system icing conditions resulting in a loss of power; due to schedule pressure and an insufficient risk management process.Jul 27, 2013 · UNREG · Substantial damageNTSB ERA12IA550Incident · No injuriesIncident investigationFinal reportCessna 402C · Nantucket, MACompany maintenance personnel’s failure to comply with the airplane manufacturer’s service instructions by not removing the cracked drag brace from service nor inspecting the repaired drag brace at the appropriate interval, which resulted in the failure of…Aug 31, 2012 · N769EA · Minor damageNTSB DCA11MA076Accident · 4 fatalClass 1 · MajorFinal reportGulfstream GVI · Roswell, NMThe National Transportation Safety Board determines the probable cause(s) of this accident as follows: an aerodynamic stall and subsequent uncommanded roll during a one engine-inoperative takeoff flight test, which were the result of (1) Gulfstream’s failure…Apr 2, 2011 · N652GD · Substantial damageNTSB OPS11IA401Incident · No injuriesIncident investigationFinal reportArlington, VAThe tower controller's loss of consciousness induced by lack of sleep, fatigue resulting from working successive midnight shifts, and air traffic control scheduling practices.Mar 23, 2011 · No damageNTSB ERA10IA094Incident · No injuriesIncident investigationFinal reportCessna 208B · Rome, NYThe operator's inadequate engine wash intervals, which resulted in compressor turbine blade sulphidation and subsequent turbine blade failure.Dec 3, 2009 · N701FX · No damageNTSB OPS09IA004Incident · No injuriesIncident investigationFinal reportBE20 · Camp Springs, MDThe failure of the ground controller to coordinate the runway crossings with the local controller and her failure to scan the runway prior to issuing the crossing instructions. Contributing to the incident was the combination of the front line manager/tower…May 13, 2009 · VM206 · No 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\", '040230'))
  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.