NTSB finding section · Personnel issues › Task performance

Cases
211
In the probable cause
176 (83%)
Fatal cases
43
NTSB code
020635

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 Communication (personnel) per year: 211 cases
200832
200920
20107
201112
201212
201310
201413
201511
201616
201711
20188
201913
20208
20217
20228
20239
20249
20252
20263
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\", '020635') 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 · 11

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\", '020635') 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\", '020635'))
  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\", '020635') 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 · 211

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 CEN26LA233Accident · No injuriesClass 4 · LimitedFinal reportBurkhart Grob Flugzeugbau G103 Twin Astir · Gregory, MIThe flight instructor’s improper planning during the simulated aborted launch which resulted in a touchdown on unsuitable terrain.Jun 3, 2026 · N4101M · Substantial damageNTSB ERA26LA187Accident · No injuriesClass 4 · LimitedFinal reportCessna 172 · Quakertown, PAThe pilot receiving instruction’s failure to maintain aircraft directional control during the takeoff roll. Contributing was the flight crew’s failure to ensure a positive exchange of flight controls during the takeoff roll.Apr 24, 2026 · N99467 · Substantial damageNTSB WPR25LA284Accident · Serious injuriesClass 4 · LimitedFinal reportCameron Balloons US A-225 · Albuquerque, NMThe balloon pilot’s improper landing, which resulted in serious injury to a passenger. Contributing to the accident was the pilot’s failure to brief the proper landing procedure.Sep 15, 2025 · N980VA · No damageNTSB WPR25LA087Accident · No injuriesClass 4 · LimitedFinal reportAmerican Legend AL3 · Upland, CAThe pilot’s failure to maintain adequate separation during landing, which resulted in a runway collision with another airplane.Feb 1, 2025 · N79LC · 2 aircraft · Substantial damageNTSB CEN25FA019Accident · 4 fatalClass 2 · FieldFinal reportRobinson R44 · Houston, TXThe pilot’s failure to maintain clearance from a lighted radio tower during a visual night flight. Contributing to the accident was the air traffic controller’s failure to issue a safety alert notifying the pilot of the flight’s unsafe proximity to the tower.Oct 21, 2024 · N881KE · DestroyedNTSB 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 ERA24LA351Accident · Minor injuriesClass 4 · LimitedFinal reportCessna 680 · Washington, NCThe flight crew’s failure to properly configure the airplane before landing and the captain’s subsequent failure to recognize the landing gear aural warning, which resulted in a gear-up landing. Contributing to the accident was the flight crew’s inadequate…Aug 18, 2024 · N680SA · Substantial damageNTSB ERA24LA352Accident · No injuriesClass 4 · LimitedFinal reportCessna 172 · Danville, KYThe pilot’s failure to maintain control of the airplane while landing and his inadequate communication to the pilot-rated passenger of her role during the flight.Jul 19, 2024 · N9991E · Substantial damageNTSB DCA24LA241Accident · Serious injuriesClass 4 · LimitedFinal reportAirbus A320-232 · Orlando, FLThe captain’s inadvertent aggressive application of the brakes during taxi which resulted in a sudden stop. Contributing to the accident was the flight attendants’ failure to notify the flight crew of the unsecure cabin.Jul 17, 2024 · N633NK · No damage
See all 211 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\", '020635'))
  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.