How this is measured

Data collection started on 11 January 2026. Figures firm up as more days accumulate.

Source

A collector reads the flight records of InJourney Airports, the operator of Soekarno-Hatta (the same system behind the airport's official app and the arrivals and departures pages here), several times an hour. For every flight it stores the scheduled time, estimated time, actual time and final status. The records keep each flight after it has left, so every flight gets its outcome, including those that run hours late.

Nothing is sourced from airlines or from third-party trackers. The figures describe what the airport itself published.

On time

A flight is on time when its actual time is no more than 15 minutes after its scheduled time. This is the standard OTP15 definition used across the industry. Delay is measured against the schedule, never a same-day estimate, so a flight that slips during the day still shows the full delay.

For departures the actual time is the take-off time the airport reports. For arrivals it is the landed or at-gate time. Early flights count as zero delay.

The default view counts arrivals and departures together, so one figure mixes landing times with take-off times. Choose a direction to see each on its own.

What is excluded

Today is never included, because its flights are still in progress. The rare flight that never reaches a final status (departed, landed, cancelled) is counted as unresolved and left out of both the on-time rate and the average delay. Its share is shown on the page as a coverage figure.

Airlines with fewer than 30 completed flights in the selected period (10 for the single-day view) are listed but not ranked, because a handful of flights cannot support a percentage.

Averages

Average delay is the mean positive delay across all completed flights, so an airline with many small delays and one with a few very long ones can show the same figure. The "> 1 h late" column and the longest-delays list on each airline page exist to separate those two cases.

Cancellation rate is cancelled flights divided by every flight the airport listed for the airline.

Codeshares and operators

Flights are attributed to the marketing carrier on the flight record, which is the airline whose code is on the ticket. A flight sold by one airline and flown by another is credited to the seller. The operating carrier is recorded and may be used for a separate view later.

Limitations

The airport's records sometimes carry a schedule the airline no longer flies: a flight listed at 20:30 that lands at 10:40 every day. A flight never leaves or lands an hour early, so when the estimate is at least 60 minutes before the listed schedule, the estimate is taken as the real timetable and delay is measured against it. The live boards apply the same rule and show the listed time beneath. A schedule moved later cannot be told apart from a delay and is counted as one.

If the source cannot be reached for a while, the next run catches up on yesterday and today, and older days can be collected again, so an outage leaves no gap.

Figures are recomputed on every page load from the stored history and may differ slightly from official airline or regulator statistics, which use different sources and definitions.

Data covers 100% of the period. 3.8% of flights have no final status and are excluded. Last collector run: 13 Oct, 16:39 WIB.

All airlines →