Defining event in
22 cases
In the sequence of
84 cases
Fatal cases
1
NTSB code
010

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 it was the defining event; in gray, cases where it came elsewhere in the sequence. The map shows the cases where it was the defining event. Events are coded with the final report, so the latest years are incomplete.

Cases per year

2008Defining eventElsewhere in the sequence2026
Cases with Aircraft loading event per year: 84 cases
20081
20096
20107
20113
20124
20137
20149
20153
20164
20178
20188
20192
20203
20212
20223
20238
20244
20252
Query with SQL
duckdb -csv -c "SELECT year(c.\"eventDate\") AS year, count(DISTINCT e.case_mkey) AS cases,
    count(DISTINCT e.case_mkey) FILTER (WHERE e.\"isDefiningEvent\") AS defining
  FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c.\"mKey\" = e.case_mkey
  WHERE e.\"tier2Number\" = '010' AND e.case_mkey IN (SELECT case_mkey FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' WHERE \"isDefiningEvent\")
  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 these cases

Query with SQL
duckdb -csv -c "WITH defining AS (SELECT * FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' WHERE \"tier2Number\" = '010' AND \"isDefiningEvent\")
  SELECT * FROM (
  SELECT 'Phase of flight' AS kind, e.\"tier1Number\" AS code, max(e.\"eventTier1Name\") AS name, count(DISTINCT e.case_mkey) AS cases
  FROM defining e
  GROUP BY ALL
  UNION ALL
  SELECT 'Finding in the probable cause', left(f.\"findingCode\", 8), max(f.\"tier4Name\"), count(DISTINCT f.case_mkey)
  FROM defining e JOIN 'https://openairdocs.org/data/latest/ntsb_findings.parquet' f ON f.case_mkey = e.case_mkey AND f.aircrafts_position = e.aircrafts_position AND f.\"inProbableCause\"
  WHERE f.\"findingCode\" GLOB '[0-9][0-9]*'
  GROUP BY ALL
  UNION ALL
  SELECT 'Aircraft model', a.aircraft_model_code, any_value(concat_ws(' ', m.manufacturer, m.model)), count(DISTINCT e.case_mkey)
  FROM defining e JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = e.case_mkey AND a.position = e.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
  )
  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 · 22

NTSB DCA26WA076AccidentClass 5 · ForeignBoeing 737 · Leeds, United KingdomDec 8, 2025 · G-JZHT · Substantial damageNTSB DCA25WA054IncidentClass 5 · ForeignBoeing 737 · Perth, AustraliaDec 1, 2024 · VH-XZK · No damageNTSB DCA24WA257IncidentClass 4 · ForeignBoeing 737 · Port Moresby, Papua New GuineaJul 23, 2024 · P2-PXB · No damageNTSB CEN23LA326Accident · No injuriesClass 4 · LimitedFinal reportRobinson Helicopter R44 II · Charles City, IAThe pilot’s improper preflight of the helicopter to ensure that it was within the loading and performance limitations that resulted in settling and impact with terrain during initial climb.Jul 26, 2023 · N4174L · Substantial damageNTSB ERA23LA315Accident · Serious injuriesClass 4 · LimitedFinal reportHead Balloons AX8-88 · Guilford, CTThe pilot’s inadequate supervision of the boarding process and the ground crewmember’s failure to immediately let go of the balloon after it began an inadvertent climb.Jul 24, 2023 · N4522E · No damageNTSB DCA23WA184Occurrence · Serious injuriesClass 5 · ForeignBoeing 767-300F · Derby, United KingdomFeb 4, 2023 · N370UP · No damageNTSB DCA22WA120Incident · Minor injuriesClass 5 · ForeignBoeing 737 · Almeria, SpainApr 26, 2022 · EI-ENK · No damageNTSB GAA18CA534Accident · No injuriesData collectionFinal reportRobinson R44 · Girdwood, AKThe fisherman's fishing rod striking the helicopter’s rotating main rotor disk during loading.Aug 30, 2018 · N99645 · Substantial damageNTSB CEN17LA350Accident · No injuriesLimited investigationFinal reportEmbraer EMB 120ER · Greeley, COThe bus driver's failure to maintain clearance from the standing airplane during dark night conditions. Contributing to the accident was the airport's lack of an escort for the bus.Sep 13, 2017 · N121CZ · Substantial damageNTSB GAA17CA347Accident · Minor injuriesData collectionFinal reportAeronca 11AC · Watervliet, MIThe flight instructor's inadequate preflight planning, which resulted in a takeoff over maximum gross weight from a turf runway in high density altitude conditions and the airplane’s inability to attain a climb rate and subsequent collision with trees.Jun 16, 2017 · N9404E · Substantial damage
See all 22 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 e.case_mkey FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e WHERE e.\"isDefiningEvent\" AND e.\"tier2Number\" = '010')
  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.