How SkyMeter detects flight events

What we measure, how we measure it, and what the numbers do and don't mean. Every event surfaced on a SkyMeter page traces back to one of the detectors described here. For deeper dives, see how flight events are detected and how we score approaches & landings.

Where the data comes from

SkyMeter is a derived-data aviation platform. We don't generate, simulate, or invent the flight path you see. Each replay is reconstructed from public or third-party flight data sources, then enriched with runway, airport, aircraft, weather, and operational context. SkyMeter combines several categories of public aviation and weather data:

  • Flight trace data: position, altitude, groundspeed, vertical rate, track, squawk code, aircraft identifier, and timestamped movement history, reconstructed from public aircraft-broadcast and receiver-network data. SkyMeter may use community receiver networks, public flight-data archives, and historical flight trace sources.
  • Weather data: METAR observations from public aviation weather feeds, ECMWF ERA5 reanalysis for historical upper-air weather, and NOAA/NCEP Global Forecast System data for forecast and recently completed flights, plus atmospheric pressure, temperature, and wind fields where available.
  • Airport and runway data: OurAirports for global airport and runway metadata, FAA NASR for United States airport, runway, navigation, and facility data, plus published runway geometry, threshold locations, elevation, and heading.
  • Aircraft reference data: ICAO Doc 8643 aircraft type designators, FAA aircraft reference data, aircraft category and class references, wake-turbulence category, and public aircraft performance references. Where exact performance values are unavailable, SkyMeter uses conservative category-based estimates and marks derived values appropriately.

Where source licensing requires attribution or share-alike treatment, SkyMeter provides attribution and makes qualifying processed data available under compatible terms. See the credits page for the full attribution chain.

How are go-arounds detected?

SkyMeter detects likely go-arounds by looking for an aircraft that descends onto a runway-aligned final approach and then climbs away instead of continuing to land. This detector is informed by published research on go-around detection from crowd-sourced ADS-B position data, including Stephen R. Proud's 2020 paper, "Go-Around Detection Using Crowd-Sourced ADS-B Data" .

The core public-data pattern is: the aircraft is on or near a runway-aligned final approach, descends into the runway environment, then climbs away, and the flight path no longer continues into a normal landing rollout. SkyMeter adapts that general concept into its own detector using runway alignment, altitude behavior, climb-away behavior, vertical-rate behavior, groundspeed behavior, aircraft type and category, trace continuity, airport and runway context, and known false-positive patterns.

General aviation pattern work creates dense false positives on the same signals, so some event types are treated differently by aircraft category and operating pattern. A go-around detection should be read as: the aircraft appeared to discontinue a runway-aligned approach and climb away based on the available public data. It should not be read as proof of a safety incident, pilot error, or abnormal operation. Many go-arounds are normal, safe, and correct.

How are unstable approaches detected?

SkyMeter's unstable-approach model is based on the aviation safety concept that an aircraft should be stabilized before landing. The criteria are grounded in the Flight Safety Foundation ALAR (Approach-and-Landing Accident Reduction) framework, which commonly references being stabilized by 1,000 ft above airport elevation in instrument conditions and 500 ft in visual conditions. SkyMeter flags an unstable approach when the public data suggests the aircraft was outside stabilized-approach criteria near the key stabilization portion of final approach. The detector considers:

  • lateral alignment with the runway
  • track alignment with the runway heading
  • vertical path and descent rate
  • speed behavior
  • late bank or turn behavior
  • runway context, aircraft category, and data quality

The unstable-approach flag is binary: it answers whether the approach appeared unstable according to SkyMeter's public-data model. Separately, a graded 0–100 approach score gives a view of the whole approach profile. Usually the two agree; when they don't, the score breakdown is often more useful because it shows which dimension caused the penalty and where in the approach it happened. For exactly how that score is built (the six weighted dimensions and six altitude gates, and what it does and doesn't claim), see How we score approaches & landings.

SkyMeter can evaluate only the elements that are visible or reasonably inferable from public data. Public traces generally do not include flap position, gear position, aircraft weight, power setting, cockpit-selected approach mode, actual onboard indicated airspeed, crew intent, or ATC instructions, so SkyMeter does not claim to evaluate every element of a formal airline stabilized-approach policy.

Not every runway is flown the same way. Some approaches are conventional straight-ins; others involve offset finals, curved RNAV paths, displaced thresholds, visual turns, terrain constraints, water approaches, or local traffic procedures. SkyMeter compares approaches against general stabilized-approach concepts and, where enough data exists, against runway-specific behavior. That allows SkyMeter to identify whether an approach was unusual for that runway, instead of forcing every airport into one universal shape. That helps reduce false positives where the normal approach path is already offset, curved, or operationally unusual.

How are stalls detected?

SkyMeter detects possible stall-like events by looking for flight behavior that resembles a low-speed loss-of-lift or stall-recovery profile. Because public flight data does not broadcast angle of attack, aircraft weight, flap position, power setting, or cockpit warnings, stall detection is inherently limited. The detector may consider estimated speed behavior, aircraft type and category, altitude trend, descent behavior, turn behavior, recovery behavior, training-aircraft context, and repeated maneuver patterns.

Important context: a large share of stall-like detections on common trainer aircraft may be intentional training maneuvers, not safety incidents. For that reason, SkyMeter treats stall-like detections carefully and adds context where the aircraft type or flight profile suggests training activity. A stall-like detection should be read as: the public data resembled a stall or stall-recovery profile. It should not be read as proof that an unsafe stall occurred.

How are runway events detected?

SkyMeter detects runway-related events by comparing the aircraft's ground path and rollout behavior against runway geometry. These models may consider the likely runway used, a touchdown-zone estimate, runway centerline position, longitudinal position along the runway, lateral deviation from the centerline, groundspeed during rollout, deceleration behavior, and whether the aircraft remained within the expected runway environment. Runway-related event classes may include long landing indicators, unusual rollout behavior, possible overrun indicators, possible lateral excursion indicators, and runway alignment issues.

These detections are among the most sensitive to runway matching accuracy. Parallel runways, closely spaced taxiways, poor ground coverage, airport shadow zones, and incorrect runway attribution can all create false positives. For that reason, SkyMeter suppresses or limits public surfacing of runway-event classes that are still under audit for specific airports or runway configurations, rather than surface them on the public incidents pages.

How is attitude (pitch, roll, heading) reconstructed?

Public flight data usually includes position, altitude, groundspeed, track, and vertical rate. It does not directly broadcast aircraft attitude. SkyMeter reconstructs attitude cues from the movement of the aircraft through space:

  • Pitch: estimated from climb or descent behavior relative to speed.
  • Roll / bank behavior: estimated from turn rate, track change, and speed.
  • Heading: estimated from ground track and wind correction where weather data supports it.

These values are designed to make the 3D replay and cockpit-style instruments more useful. They are not certified attitude data and should not be treated as equivalent to an aircraft's onboard AHRS, IRS, avionics, or flight data recorder values. Where the underlying trace has gaps or uncertainty, SkyMeter may smooth or interpolate movement for visual continuity, and marks or limits analysis where data quality is not good enough for reliable detection.

How is airspeed estimated?

Many public flight traces provide groundspeed, not indicated airspeed. Groundspeed is how fast the aircraft moves over the ground; indicated airspeed is more directly relevant to aircraft handling, approach stability, and stall margin. SkyMeter estimates wind-aware speed behavior by combining aircraft groundspeed, ground track, altitude, weather-derived wind estimates, atmospheric conditions, and aircraft type context where available. This allows SkyMeter to interpret cases where groundspeed alone would be misleading, such as strong headwinds, tailwinds, or crosswinds.

Estimated airspeed is still an estimate. Public data generally does not include exact aircraft weight, flap setting, gear position, power setting, cockpit-indicated values, airframe-specific calibrated airspeed corrections, or the pilot-selected reference speed. For that reason, SkyMeter treats airspeed-derived metrics as analytical estimates, not certified cockpit readings.

Where aircraft broadcast their own airspeed, SkyMeter uses it to check its work. A subset of modern airliners transmit indicated airspeed and Mach directly, giving an independent, real-world reference. SkyMeter routinely compares its wind-aware estimates against these broadcasts across a range of aircraft types and altitudes, and the estimates track the broadcast values closely, typically within a few knots. Flights that don't broadcast their airspeed are handled by the same approach, validated on the ones that do.

Broadcast airspeed is not always clean. Transponders occasionally transmit corrupt or physically impossible values: brief decode errors that would otherwise distort a reading or trigger a false alert. SkyMeter checks broadcast airspeed for plausibility and discards values that cannot be real, so a single bad transmission doesn't contaminate the analysis. When a value can't be trusted, SkyMeter prefers to withhold it rather than publish something wrong.

Known limitations

SkyMeter's methodology is designed around public data, so several limitations are unavoidable. SkyMeter intentionally excludes or suppresses detections when the data is not strong enough. When the data is too sparse or ambiguous, the better answer is no event, not a confident-looking detection built on weak evidence.

  • Coverage gaps. Oceanic, remote, mountainous, or low-altitude areas may have sparse receiver coverage. We mark these gaps explicitly in the replay rather than interpolate across them.
  • Airport shadow zones. Some airport environments have poor low-altitude or ground coverage because of buildings, terrain, receiver placement, or airport layout.
  • Runway ambiguity. Parallel runways, closely spaced taxiways, crossing runways, and complex airport layouts can make runway matching difficult.
  • Pressure-altitude artifacts. Aircraft altitude reporting and local pressure conditions can create misleading height-above-runway behavior, especially near sea level or during unusual pressure conditions.
  • Weather uncertainty. Weather observations may be time-shifted, distant from the aircraft, or different by altitude.
  • Missing configuration. Public flight traces generally do not include flap position, gear position, aircraft weight, power setting, selected approach mode, or cockpit warnings.
  • Training flights. Pattern work, stall practice, low approaches, and touch-and-goes can resemble safety events when viewed only through public data.
  • Aircraft type differences. The same ground track can mean different things depending on aircraft type, weight, performance, certification category, and operational context.

How fresh is the data?

SkyMeter is not designed as a live radar display. Flights usually appear after landing once the relevant public data has been processed, enriched, checked, and indexed. SkyMeter focuses on what is difficult to see live: replay, analysis, historical search, airport trends, runway behavior, event discovery, exports, and API access.

Airport, aircraft, airline, and incident pages show the data window being analyzed so users can tell what period the page represents.

Questions about a specific detection?

Every SkyMeter replay has a short code in the URL. If a detection looks wrong, questionable, or interesting, email [email protected] with the replay code (e.g. C0OhdE7R from a URL like /replay/C0OhdE7R) and the event name. We can review the specific flight, explain what the detector saw, and correct bad detections where appropriate.

For broader questions about the platform, see the FAQ, the About page, or the approach-score methodology.

Last updated 2026-07-01. SkyMeter's pipeline is under active development, and the detector descriptions above are kept in step with the version of the pipeline processing current flights. SkyMeter's exact detector implementation, weighting, scoring, quality-control logic, and suppression rules are SkyMeter analytical models built on top of public references, including the Flight Safety Foundation ALAR Briefing Note 7.1 on stabilized approaches; Stephen R. Proud, "Go-Around Detection Using Crowd-Sourced ADS-B Data," Aerospace, 2020; ECMWF ERA5 reanalysis; NOAA/NCEP GFS; METAR observations; OurAirports; FAA NASR; and ICAO Doc 8643.