Methodology
Please note there are many potential sources of error in this data, including non-ADS-B-equipped aircraft, GPS errors, and data dropouts due to reception issues. Any single event may be misleading, but the hope is that with enough events, useful patterns may emerge. Also, a number of empirical criteria had to be chosen regarding separation distances, times, etc.
Here is the process:
- Data is downloaded from adsb.lol's archive of historical location reports on github.
They have crowdsourced ADS-B data from thousands of volunteers worldwide.
- The downloaded data is fed through adsb_actions and resampled to 1Hz, then scanned for events where a pair of aircraft:
- Are within 0.3 nm of each other laterally, and within 400 ft vertically
- Are below 18,000 ft (the floor of Class A airspace)
- Are high enough to rule out ground operations: within 5 nm of an airport, at least 200 ft above that airport's field elevation; elsewhere, at least 50 ft above sea level
- Have both been heard from in the past 5 seconds (i.e. the encounter isn't an artifact of resampling across a reception gap)
- Each event is assigned a (very approximate) quality rating to help filter out likely false positives:
- ● Very High – brief event (≤30s), CPA closer than 0.2 nm and 200 ft vertically, no data quality issues
- ● High – brief event (≤30s), no data quality issues
- ● Medium – event lasted 30–90s (possible formation flight), or had data quality issues (sparse reports during the event)
- ● Low – a helicopter was involved, one aircraft had less than 60s of track data, or the event looks like formation flight or bad data:
- Event lasted over 90s (probable formation flight or parallel runway ops)
- The two aircraft stayed within 0.6 nm of each other for most of the time both were being tracked (formation flight, or a reception gap that froze one aircraft's position)
- No valid data near the closest point of approach — neither a real report within a few seconds of it, nor within half a mile of it
- Implausibly large position jumps, or a track that stopped reporting before the event began
As an exception, aircraft that were more than 1 nm apart when we first saw them both cannot be a formation flight, so the formation-based downgrades above do not apply to them.
On the home page's list of airports, only Medium quality and above events, within 5nm of the airport, are included in the event counts.
Source code is available at GitHub.