NTSB finding · Personnel issues › Action/decision › Info processing/decision

Cases
51
In the probable cause
40 (78%)
Fatal cases
8
NTSB code
02041525

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 Expectation/assumption per year: 51 cases
20082
20092
20103
20112
20124
20132
20142
20154
20164
20175
20184
20193
20201
20212
20224
20232
20242
20252
20261
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\", '02041525') 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\", '02041525'))
  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\", '02041525') 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 · 51

NTSB CEN26LA249Accident · No injuriesClass 4 · LimitedFinal reportCessna 150 · Ellsworth, KSThe pilot’s inadequate preflight fuel planning which resulted in a total loss of engine power due to fuel exhaustion. Contributing to the accident was the pilot’s self-induced pressure to complete the flight.Jul 10, 2026 · N3773J · Substantial damageNTSB ERA25LA328Accident · No injuriesClass 4 · LimitedFinal reportCirrus Design SR20 · Montauk, NYThe pilot’s failure to verify the wind direction and maintain an appropriate approach speed, which resulted in a long landing and subsequent runway excursion.Aug 27, 2025 · N88SP · Substantial damageNTSB DCA25LA163Incident · No injuriesClass 4 · LimitedFinal reportBoeing 737-8H4 · Orlando, FLThe captain’s failure to recognize that the airplane’s location did not agree with the assigned departure runway as required per the Southwest Airlines Airplane Operating Manual, and the captain’s plan continuation error when he missed several cues that would…Mar 20, 2025 · N8315C · No damageNTSB DCA24LA318Incident · No injuriesClass 3 · LimitedFinal reportEmbraer ERJ 170-100 LR · Chicago, ILThe flight crew’s misidentification of the intended landing runway, which resulted in an approach to and landing on the wrong runway due to their planned continuation bias. Contributing to the incident was the flight crew’s decision to continue the approach…Sep 25, 2024 · N772MR · No damageNTSB ANC24LA016Accident · No injuriesClass 4 · LimitedFinal reportHughes 369D · Hana, HIThe pilot’s failure to ensure the passenger’s gear was properly secured before departure.Feb 20, 2024 · N690WA · Substantial damageNTSB OPS24LA011Incident · No injuriesClass 4 · LimitedFinal reportDiamond Aircraft Ind DA20-C1 · North Las Vegas, NVThe local controller’s loss of situational awareness, inadequate provision of traffic advisory or safety alert information, and lack of positive control, that resulted in a near-midair collision.Dec 9, 2023 · N857PA · 2 aircraft · No damageNTSB DCA23FA149Incident · No injuriesClass 1 · FieldFinal reportBoeing 737-79P · Austin, TXthe local controller’s incorrect assumption that the Southwest Airlines (SWA) airplane would depart from the runway before the Federal Express airplane arrived on the same runway, which resulted in a loss of separation between both airplanes. Contributing to…Feb 4, 2023 · N7827A · 2 aircraft · No damageNTSB WPR22LA353Accident · No injuriesClass 3 · LimitedFinal reportCessna 525B · Pasco, WAThe failure of the pilot to ensure the landing gear was extended before landing. Contributing was the pilot’s failure to fly a stabilized approach, and his configuration of the airplane that prevented activation of the landing gear not extended warning system…Sep 20, 2022 · N528DV · DestroyedNTSB WPR22FA338Accident · 2 fatalClass 3 · FieldFinal reportCzech Sport Piper Sport · Santa Monica, CAThe pilot’s inability to maintain control of the airplane during the landing flare due to the passenger’s excessive control inputs, which resulted in the airplane exceeding its critical angle of attack and entering an aerodynamic stall.Sep 8, 2022 · N126WK · DestroyedNTSB ERA22LA377Accident · No injuriesClass 4 · LimitedFinal reportPiper PA-28-180 · Lehighton, PAThe pilot failure to ensure the runway was clear before landing, resulting in a runway excursion and collision with runway lights.Aug 10, 2022 · N7695W · Substantial damage
See all 51 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\", '02041525'))
  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.