NTSB investigations, MI
1,640 cases where the phase of flight was Landing.
Cases per year
| 1962 | 1 |
|---|---|
| 1964 | 61 |
| 1965 | 80 |
| 1966 | 77 |
| 1967 | 99 |
| 1968 | 81 |
| 1969 | 81 |
| 1970 | 74 |
| 1971 | 69 |
| 1972 | 53 |
| 1973 | 55 |
| 1974 | 38 |
| 1975 | 40 |
| 1976 | 40 |
| 1977 | 33 |
| 1978 | 41 |
| 1979 | 38 |
| 1980 | 26 |
| 1981 | 40 |
| 1982 | 22 |
| 1983 | 41 |
| 1984 | 26 |
| 1985 | 18 |
| 1986 | 23 |
| 1987 | 7 |
| 1988 | 20 |
| 1989 | 17 |
| 1990 | 21 |
| 1991 | 16 |
| 1992 | 15 |
| 1993 | 16 |
| 1994 | 17 |
| 1995 | 15 |
| 1996 | 18 |
| 1997 | 10 |
| 1998 | 17 |
| 1999 | 18 |
| 2000 | 11 |
| 2001 | 18 |
| 2002 | 14 |
| 2003 | 17 |
| 2004 | 14 |
| 2005 | 16 |
| 2006 | 19 |
| 2007 | 13 |
| 2008 | 9 |
| 2009 | 9 |
| 2010 | 10 |
| 2011 | 7 |
| 2012 | 8 |
| 2013 | 8 |
| 2014 | 15 |
| 2015 | 5 |
| 2016 | 9 |
| 2017 | 12 |
| 2018 | 5 |
| 2019 | 3 |
| 2020 | 8 |
| 2021 | 4 |
| 2022 | 4 |
| 2023 | 5 |
| 2024 | 11 |
| 2025 | 12 |
| 2026 | 10 |
Where
Latest cases
Query with SQL
duckdb -csv -c "WITH phase_names(main, name) AS (VALUES (100, 'Prior to flight'), (150, 'Standing'), (200, 'Pushback/towing'), (250, 'Taxi'), (300, 'Takeoff'), (350, 'Initial climb'), (400, 'Enroute'), (450, 'Maneuvering'), (500, 'Approach'), (550, 'Landing'), (600, 'Emergency descent'), (650, 'Uncontrolled descent'), (700, 'Post-impact'), (750, 'After landing'), (800, 'Other'), (990, 'Unknown')),
crosswalk(code, main, name) AS (VALUES (500, 150, 'Standing'), (501, 150, 'Standing - pre-flight'), (502, 150, 'Standing - starting engine(s)'), (503, 150, 'Standing - engine(s) operating'), (504, 150, 'Standing - engine(s) not operating'), (505, 150, 'Standing - idling rotors'), (510, 250, 'Taxi'), (511, 200, 'Taxi - pushback/tow'), (512, 250, 'Taxi - to takeoff'), (513, 250, 'Taxi - from landing'), (514, 250, 'Taxi - aerial'), (520, 300, 'Takeoff'), (521, 300, 'Takeoff - roll/run'), (522, 350, 'Takeoff - initial climb'), (523, 300, 'Takeoff - aborted'), (530, 400, 'Climb'), (531, 400, 'Climb - to cruise'), (540, 400, 'Cruise'), (541, 400, 'Cruise - normal'), (542, 400, 'Maneuvering - holding (IFR)'), (550, 400, 'Descent'), (551, 400, 'Descent - normal'), (552, 600, 'Descent - emergency'), (553, 650, 'Descent - uncontrolled'), (560, 500, 'Approach'), (561, 500, 'Approach - VFR pattern - downwind'), (562, 500, 'Approach - VFR pattern - base turn'), (563, 500, 'Approach - VFR pattern - base leg/base to final'), (564, 500, 'Approach - VFR pattern - final approach'), (565, 500, 'Go-around (VFR)'), (566, 500, 'Approach - IAF to FAF/outer marker (IFR)'), (567, 500, 'Approach - FAF/outer marker to threshold (IFR)'), (568, 500, 'Circling (IFR)'), (569, 500, 'Missed approach (IFR)'), (570, 550, 'Landing'), (571, 550, 'Landing - flare/touchdown'), (572, 550, 'Landing - roll'), (573, 550, 'Landing - aborted'), (574, 550, 'Emergency landing'), (575, 550, 'Emergency landing after takeoff'), (576, 600, 'Emergency descent/landing'), (580, 450, 'Maneuvering'), (581, 450, 'Maneuvering - aerial application'), (582, 450, 'Maneuvering - turn to reverse direction'), (583, 450, 'Maneuvering - turn to landing area (emergency)'), (590, 450, 'Hover'), (591, 450, 'Hover - in ground effect'), (592, 450, 'Hover - out of ground effect'), (600, 800, 'Other'), (610, 990, 'Unknown')),
current_codes AS (
SELECT e.case_mkey, TRY_CAST(e.\"tier1Number\" AS INTEGER) AS code,
row_number() OVER (PARTITION BY e.case_mkey ORDER BY coalesce(e.\"isDefiningEvent\", false) DESC, e.position) AS n
FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e
WHERE e.aircrafts_position = 1 AND e.\"tier1Number\" GLOB '[1-9][0-9]*'
AND (e.\"isDefiningEvent\" OR e.case_mkey IN (SELECT \"mKey\" FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' WHERE \"isPre1982\"))
),
phases AS (
SELECT case_mkey, 'current' AS scheme, code, CASE WHEN code >= 990 THEN 990 ELSE code // 50 * 50 END AS main
FROM current_codes WHERE n = 1
UNION ALL
SELECT o.case_mkey, 'older', o.\"phaseOfFlightCode\", w.main
FROM 'https://openairdocs.org/data/latest/ntsb_occurrences.parquet' o JOIN crosswalk w ON w.code = o.\"phaseOfFlightCode\"
WHERE o.aircrafts_position = 1 AND o.\"occurrenceNumber\" = 1 AND o.case_mkey NOT IN (SELECT case_mkey FROM current_codes)
),
case_phases AS (
SELECT p.*, c.\"eventDate\", c.\"highestInjuryLevel\" = 'Fatal' AS fatal, a.aircraft_model_code
FROM phases p JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c.\"mKey\" = p.case_mkey
LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = p.case_mkey AND a.position = 1
WHERE c.\"eventDate\" >= DATE '1962-01-01' AND p.main IN (SELECT main FROM phase_names)
)
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.\"eventStateOrRegion\" = 'MI' AND c.\"eventCountry\" = 'USA'
AND c.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 550)
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.
WITH phase_names(main, name) AS (VALUES (100, 'Prior to flight'), (150, 'Standing'), (200, 'Pushback/towing'), (250, 'Taxi'), (300, 'Takeoff'), (350, 'Initial climb'), (400, 'Enroute'), (450, 'Maneuvering'), (500, 'Approach'), (550, 'Landing'), (600, 'Emergency descent'), (650, 'Uncontrolled descent'), (700, 'Post-impact'), (750, 'After landing'), (800, 'Other'), (990, 'Unknown')),
crosswalk(code, main, name) AS (VALUES (500, 150, 'Standing'), (501, 150, 'Standing - pre-flight'), (502, 150, 'Standing - starting engine(s)'), (503, 150, 'Standing - engine(s) operating'), (504, 150, 'Standing - engine(s) not operating'), (505, 150, 'Standing - idling rotors'), (510, 250, 'Taxi'), (511, 200, 'Taxi - pushback/tow'), (512, 250, 'Taxi - to takeoff'), (513, 250, 'Taxi - from landing'), (514, 250, 'Taxi - aerial'), (520, 300, 'Takeoff'), (521, 300, 'Takeoff - roll/run'), (522, 350, 'Takeoff - initial climb'), (523, 300, 'Takeoff - aborted'), (530, 400, 'Climb'), (531, 400, 'Climb - to cruise'), (540, 400, 'Cruise'), (541, 400, 'Cruise - normal'), (542, 400, 'Maneuvering - holding (IFR)'), (550, 400, 'Descent'), (551, 400, 'Descent - normal'), (552, 600, 'Descent - emergency'), (553, 650, 'Descent - uncontrolled'), (560, 500, 'Approach'), (561, 500, 'Approach - VFR pattern - downwind'), (562, 500, 'Approach - VFR pattern - base turn'), (563, 500, 'Approach - VFR pattern - base leg/base to final'), (564, 500, 'Approach - VFR pattern - final approach'), (565, 500, 'Go-around (VFR)'), (566, 500, 'Approach - IAF to FAF/outer marker (IFR)'), (567, 500, 'Approach - FAF/outer marker to threshold (IFR)'), (568, 500, 'Circling (IFR)'), (569, 500, 'Missed approach (IFR)'), (570, 550, 'Landing'), (571, 550, 'Landing - flare/touchdown'), (572, 550, 'Landing - roll'), (573, 550, 'Landing - aborted'), (574, 550, 'Emergency landing'), (575, 550, 'Emergency landing after takeoff'), (576, 600, 'Emergency descent/landing'), (580, 450, 'Maneuvering'), (581, 450, 'Maneuvering - aerial application'), (582, 450, 'Maneuvering - turn to reverse direction'), (583, 450, 'Maneuvering - turn to landing area (emergency)'), (590, 450, 'Hover'), (591, 450, 'Hover - in ground effect'), (592, 450, 'Hover - out of ground effect'), (600, 800, 'Other'), (610, 990, 'Unknown')),
current_codes AS (
SELECT e.case_mkey, TRY_CAST(e."tier1Number" AS INTEGER) AS code,
row_number() OVER (PARTITION BY e.case_mkey ORDER BY coalesce(e."isDefiningEvent", false) DESC, e.position) AS n
FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e
WHERE e.aircrafts_position = 1 AND e."tier1Number" GLOB '[1-9][0-9]*'
AND (e."isDefiningEvent" OR e.case_mkey IN (SELECT "mKey" FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' WHERE "isPre1982"))
),
phases AS (
SELECT case_mkey, 'current' AS scheme, code, CASE WHEN code >= 990 THEN 990 ELSE code // 50 * 50 END AS main
FROM current_codes WHERE n = 1
UNION ALL
SELECT o.case_mkey, 'older', o."phaseOfFlightCode", w.main
FROM 'https://openairdocs.org/data/latest/ntsb_occurrences.parquet' o JOIN crosswalk w ON w.code = o."phaseOfFlightCode"
WHERE o.aircrafts_position = 1 AND o."occurrenceNumber" = 1 AND o.case_mkey NOT IN (SELECT case_mkey FROM current_codes)
),
case_phases AS (
SELECT p.*, c."eventDate", c."highestInjuryLevel" = 'Fatal' AS fatal, a.aircraft_model_code
FROM phases p JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c."mKey" = p.case_mkey
LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = p.case_mkey AND a.position = 1
WHERE c."eventDate" >= DATE '1962-01-01' AND p.main IN (SELECT main FROM phase_names)
)
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."eventStateOrRegion" = 'MI' AND c."eventCountry" = 'USA'
AND c."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 550)
ORDER BY c."eventDate" DESC, c."ntsbNumber" DESCRun it at the DuckDB prompt, or in any tool that reads Parquet over HTTPS. More ways to query the release are on Use the data.
NTSB CEN27LA008Accident · No injuriesClass 4 · LimitedInvestigation openCessna 175A · Hastings, MINTSB CEN26LA329Accident · No injuriesClass 4 · LimitedInvestigation openPiper PA-28-181 · Mason, MINTSB WPR26LA308Accident · No injuriesClass 4 · LimitedFinal reportMitsubishi MU-2B-40 · Norton Shores, MIThe pilot’s failure to extend the landing gear before landing.NTSB CEN26LA293Accident · No injuriesClass 3 · LimitedInvestigation openGildea William D Jabiru Calypso · Lake Isabella, MINTSB CEN26LA291Accident · No injuriesClass 4 · LimitedFinal reportVans RV8 · Linden, MIThe collision with a deer during touch-and-go landings.NTSB CEN26LA240Accident · No injuriesClass 4 · LimitedFinal reportBeech 58 · Traverse City, MIThe pilot’s failure to extend the landing gear before landing.NTSB CEN26LA226Accident · No injuriesClass 4 · LimitedFinal reportBeech A36TC · Kingsford, MIThe pin on the nose gear brace assembly that engages with the cam on the nose landing gear door actuator shaft was not seated inside the cam, which rendered the nose landing gear inoperative.NTSB 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.NTSB CEN26LA200Accident · Minor injuriesClass 4 · LimitedFinal reportCessna 172 · Naubinway, MIThe pilot’s improper engine power application during the landing flare, which resulted in a hard, bounced landing and nose over.NTSB CEN26LA089Accident · No injuriesClass 4 · LimitedFinal reportPiper PA24 · Bay City, MIThe pilot's failure to ensure the landing gear was down and locked before landing.NTSB CEN26LA052Accident · Minor injuriesClass 3 · LimitedPreliminary reportGray RG12 · Benton Harbor, MIOn November 26, 2025, at 0920 eastern standard time, a RG12 airplane, C-FGEW, sustained substantial damage when it was involved in an accident near Benton Harbor, Michigan. The pilot and a passenger sustained minor injuries. The airplane was operated under…NTSB CEN25LA390Accident · Serious injuriesClass 4 · LimitedFinal reportCameron Balloons US Z-90 · Cedar Springs, MIThe passenger’s loss of balance during landing that resulted in a serious injury.NTSB CEN25LA369Accident · Minor injuriesClass 4 · LimitedFinal reportZodiac CH 650B · Sturgis, MIThe pilot’s failure to maintain control while landing.NTSB CEN25LA361Accident · No injuriesClass 4 · LimitedFinal reportPiper PA-30 · Caro, MIThe pilot’s failure to remove the tow bar before flight.NTSB CEN25LA325Accident · No injuriesClass 4 · LimitedFinal reportHelio H-391B · Monroe, MIThe pilot’s failure to maintain directional control during the landing roll with a crosswind.NTSB CEN25LA319Accident · No injuriesClass 4 · LimitedFinal reportBeech S35 · Lowell, MIThe pilot’s failure to extend the landing gear before landing.NTSB CEN25LA294Accident · No injuriesClass 4 · LimitedFinal reportCirrus SR22 · Stanwood, MIThe collision with a deer during takeoff.NTSB CEN25LA284Accident · Minor injuriesClass 4 · LimitedFinal reportPiper PA-28-140 · New Hudson, MIThe student pilot’s improper landing flare and the flight instructor’s delayed remedial action during landing that resulted in a loss of control and impact with terrain.NTSB CEN25LA260Accident · No injuriesClass 4 · LimitedFinal reportCessna A185F · Lansing, MIThe pilot’s improper landing flare and subsequent failure to maintain directional control during the landing in a crosswind condition.NTSB CEN25LA244Accident · Minor injuriesClass 4 · LimitedFinal reportCessna LC41-550FG · Lambertville, MIThe pilot’s failure to land at the manufacturer’s recommended approach speed, which resulted in a runway excursion, and impact with trees.NTSB CEN25LA213Accident · No injuriesClass 4 · LimitedFinal reportAirbus Helicopters EC130 · Clay Township, MIThe pilot’s failure to maintain control of the helicopter during landing.NTSB CEN25LA112Accident · No injuriesClass 4 · LimitedFinal reportCessna 172L · Romeo, MIThe pilot's failure to maintain directional control during the landing roll. Contributing to the accident was the soft, wet grass.NTSB CEN25LA050Accident · No injuriesClass 4 · LimitedFinal reportCessna 140 · Mason, MIThe pilot’s failure to maintain aircraft control during landing rollout that resulted in a nose over and an impact with the runway.NTSB CEN25LA026Accident · Minor injuriesClass 4 · LimitedFinal reportCessna 150 · Willis, MIThe pilot’s failure to maintain a stabilized approach, that resulted in a runway excursion and subsequent collision with trees. Contributing to the accident, was the pilot’s decision to attempt to land to a closed runway.NTSB CEN24LA307Accident · No injuriesClass 4 · LimitedFinal reportBeech 58 · Kalamazoo, MIThe pilot’s failure to extend the landing gear before landing.NTSB CEN24LA280Accident · No injuriesClass 4 · LimitedFinal reportCessna 195A · Greenville, MIThe pilot’s loss of directional control during landing which led to a ground-loop.NTSB CEN24LA265Accident · Minor injuriesClass 4 · LimitedFinal reportCessna 180 · Le Roy, MIThe pilot’s failure to maintain control of the airplane while performing a go-around, which resulted in an inflight collision with trees.NTSB CEN24LA251Accident · No injuriesClass 4 · LimitedFinal reportCessna 170 · Dowagiac, MIThe pilot and flight instructor’s failure to maintain directional control during the landing roll, which resulted in a ground loop with the left main landing gear axle failing, a runway excursion, and impact with the ground.NTSB CEN24LA201Accident · No injuriesClass 4 · LimitedFinal reportCessna 170A · Oscoda, MIThe pilot’s failure to maintain directional control during landing rollout with a gusting crosswind that resulted in the airplane nosing over and impacting on the runway.NTSB CEN24LA181Accident · Serious injuriesClass 4 · LimitedFinal reportCirrus Design SR22 · Chesaning, MIThe pilot’s failure to maintain control while landing on a wet turf runway, which resulted in a runway excursion and impact with trees. Contributing to the accident was the pilot’s failure to ensure the passenger’s proper use of seatbelts before the landing.NTSB CEN24LA176Accident · No injuriesClass 4 · LimitedFinal reportBellanca 7ECA · Watervliet, MIThe pilot’s failure to maintain control during the landing roll on a soft turf runway.NTSB CEN24LA136Accident · No injuriesClass 4 · LimitedFinal reportBellanca 8GCBC · Grind Stone City, MIThe pilot's failure to maintain directional control during the landing roll on a wet turf runway with a quartering tailwind.NTSB CEN24LA134Accident · Minor injuriesClass 4 · LimitedFinal reportCessna T182T · Lapeer, MIThe pilot’s failure to maintain aircraft control while landing in a gusting crosswind condition.NTSB CEN24LA023Accident · No injuriesClass 4 · LimitedFinal reportPiper PA-28-201T · Mount Pleasant, MIThe airplane’s collision with a deer on the runway during landing.NTSB CEN23LA287Accident · No injuriesClass 4 · LimitedFinal reportAerofab LA-4 · Big Prairie, MIThe airplane’s collision with a submerged log during a water landing.NTSB CEN23LA217Accident · No injuriesClass 3 · LimitedFinal reportPiper PA-28-181 · Pellston, MIThe failure of the left main landing gear strut and clevises due to fatigue cracks that initiated at multiple casting solidification voids.NTSB CEN23LA200Accident · No injuriesClass 3 · LimitedFinal reportFlight Design Ctsw · Gregory, MIThe pilot’s improper landing flare that resulted in a hard, bounced landing and subsequent overstress failure of the nose landing gear.NTSB CEN23LA213Accident · No injuriesClass 4 · LimitedFinal reportPiper PA-28-235 · Ray, MIThe flight instructor’s failure to maintain airplane control during simulated engine-out procedures. Contributing to the accident was the flight instructor’s decision to land with a tailwind.NTSB CEN23LA286Accident · No injuriesClass 4 · LimitedFinal reportHonda HA-420 · Holland, MIThe pilot’s failure to maintain directional control during the landing roll with gusty wind which exceeded the maximum crosswind of the airplane.NTSB CEN22LA410Accident · Minor injuriesClass 4 · LimitedFinal reportWaco Classic 2T-1A-2 · Coldwater, MIThe pilot receiving instruction’s improper flare during landing and the flight instructor’s inadequate remedial action, which resulted in the airplane exceeding its critical angle-of-attach and experiencing an aerodynamic stall.NTSB CEN22LA398Accident · No injuriesClass 3 · LimitedFinal reportCessna 172I · Olivet, MIThe pilot’s failure to attain/maintain a proper glidepath that resulted in a hard landing and impact with the runway.NTSB CEN22LA126Accident · No injuriesClass 4 · LimitedFinal reportEmbraer Executive EMB-500 · Detroit, MIThe pilot’s decision to land on the contaminated runway with previous reports of unfavorable braking action.NTSB CEN22LA030Accident · No injuriesClass 4 · LimitedFinal reportRaytheon G36 · Frankenmuth, MIThe pilot’s failure to maintain directional control while landing on a wet grass strip.NTSB CEN21LA430Accident · No injuriesClass 4 · LimitedFinal reportWaco Classic 2T-1A-2 · Battle Creek, MIThe pilot’s failure to maintain directional control of the tailwheel equipped airplane during a crosswind landing and the flight instructor’s inadequate remedial action.NTSB CEN21LA352Accident · No injuriesClass 4 · LimitedFinal reportNorth American AT-6F · Adrian, MIThe loss of control during landing due to the out of rig condition of the tailwheel which resulted in a ground loop and impact with the runway.NTSB CEN21LA120Accident · No injuriesClass 4 · LimitedFinal reportCessna 172 · Clare, MIThe pilot’s failure to maintain directional control during landing that resulted in a runway excursion and impact with terrain.NTSB CEN20CA382Accident · No injuriesClass 4 · Data collectionFinal reportCessna A185 · Bellaire, MIThe pilot's loss of directional control during the landing roll.NTSB CEN20CA254Accident · Minor injuriesClass 4 · Data collectionFinal reportVolmer VJ22 · Erie, MIThe pilot's failure to ensure that the amphibious airplane’s wheels were retracted before attempting a water landing, resulting in a nose over during touch down. Contributing to the accident was the lack of a checklist available to the pilot.NTSB CEN20CA191Accident · No injuriesClass 4 · Data collectionFinal reportPietenpol Aircamper · Midland, MIThe pilot's loss of control during an aborted landing.NTSB CEN20CA193Accident · No injuriesClass 4 · Data collectionFinal reportCessna 182 · Ionia, MIThe pilot's failure to maintain directional control during landing. Contributing was the pilot getting his shoe caught in the rudder pedal.