Skip to content

Flight Data — Carrier On-Time Performance Ranking

Flight Data benchmark · all Flight Data queries

Full carrier scorecard: on-time, delays, cancellations

Representative SQL

Rendered in the benchmark’s native SQL with default parameters (no dialect translation available).

SELECT
f.reporting_airline,
a.name AS airline_name,
COUNT(*) AS total_scheduled,
SUM(CASE WHEN f.cancelled = 0 THEN 1 ELSE 0 END) AS operated_flights,
SUM(CASE WHEN f.cancelled = 1 THEN 1 ELSE 0 END) AS cancelled_flights,
ROUND(100.0 * SUM(CASE WHEN f.cancelled = 1 THEN 1 ELSE 0 END) / COUNT(*), 2) AS cancellation_rate_pct,
ROUND(AVG(CASE WHEN f.cancelled = 0 THEN f.dep_delay END), 2) AS avg_dep_delay,
ROUND(AVG(CASE WHEN f.cancelled = 0 THEN f.arr_delay END), 2) AS avg_arr_delay,
ROUND(
100.0 * SUM(CASE WHEN f.cancelled = 0 AND f.arr_delay <= 15 THEN 1 ELSE 0 END) / NULLIF(SUM(CASE WHEN f.cancelled = 0 THEN 1 ELSE 0 END), 0),
2
) AS ontime_pct,
ROUND(AVG(f.distance), 0) AS avg_route_distance_miles
FROM flights AS f
LEFT JOIN airlines AS a
ON f.reporting_airline = a.code
WHERE
f.flight_date >= '2021-08-01' AND f.flight_date < '2025-01-01'
GROUP BY
f.reporting_airline,
a.name
HAVING
COUNT(*) >= 1000
ORDER BY
ontime_pct DESC,
f.reporting_airline

Representative DataFrame

Expression family (Polars, PySpark, DataFusion), default parameters.

def carrier_ranking_expression_impl(ctx: DataFrameContext) -> Any:
flights = ctx.get_table("flights")
col, lit = ctx.col, ctx.lit
return (
flights.join(_airline_names(ctx), left_on="reporting_airline", right_on="a_code", how="left")
.filter(_date_condition(col, lit))
.with_columns(
(col("cancelled") == lit(0)).cast(int).alias("_operated"),
(col("cancelled") == lit(1)).cast(int).alias("_cancelled"),
((col("cancelled") == lit(0)) & (col("arr_delay") <= lit(15))).cast(int).alias("_ontime"),
ctx.when(col("cancelled") == lit(0)).then(col("dep_delay")).otherwise(lit(None)).alias("_dep_nc"),
ctx.when(col("cancelled") == lit(0)).then(col("arr_delay")).otherwise(lit(None)).alias("_arr_nc"),
)
.group_by("reporting_airline", "airline_name")
.agg(
col("flight_id").count().alias("total_scheduled"),
col("_operated").sum().alias("operated_flights"),
col("_cancelled").sum().alias("cancelled_flights"),
col("_dep_nc").mean().alias("_avg_dep"),
col("_arr_nc").mean().alias("_avg_arr"),
col("_ontime").sum().alias("_ontime_sum"),
col("_operated").sum().alias("_non_cancelled"),
col("distance").mean().alias("_avg_dist"),
)
.filter(col("total_scheduled") >= lit(1000))
.with_columns(
ctx.when(col("_non_cancelled") > lit(0))
.then(col("_non_cancelled"))
.otherwise(lit(None))
.alias("_non_cancelled_nz"),
)
.with_columns(
_round_half_away(ctx, lit(100.0) * col("cancelled_flights") / col("total_scheduled"), 2).alias(
"cancellation_rate_pct"
),
_round_half_away(ctx, col("_avg_dep"), 2).alias("avg_dep_delay"),
_round_half_away(ctx, col("_avg_arr"), 2).alias("avg_arr_delay"),
_round_half_away(ctx, lit(100.0) * col("_ontime_sum") / col("_non_cancelled_nz"), 2).alias("ontime_pct"),
_round_half_away(ctx, col("_avg_dist"), 0).alias("avg_route_distance_miles"),
)
.select(
"reporting_airline",
"airline_name",
"total_scheduled",
"operated_flights",
"cancelled_flights",
"cancellation_rate_pct",
"avg_dep_delay",
"avg_arr_delay",
"ontime_pct",
"avg_route_distance_miles",
)
.sort(["ontime_pct", "reporting_airline"], descending=[True, False], nulls_last=True)
)

Get the exact query for your run

The blocks above are representative. To get the precise statement a specific platform runs at a specific scale, substitute your own values:

from benchbox import FlightData
bench = FlightData(scale_factor=1.0) # your scale factor
print(bench.get_queries()['carrier-ranking'])

For the DataFrame form:

from benchbox.core.query_catalog import get_dataframe_render
print(get_dataframe_render('flightdata', 'carrier-ranking', family="expression").source) # or family="pandas"

Source

Query text: benchbox/core/flightdata/queries.py