OnTimeStats

Historical on-time performance

San Juan to Charlotte

1,474 miData through Dec 2025Source: US DOT · BTS

Flights on SJU–CLT arrive on time 83% of the time over the last 12 months.

On-time rate83%arrived within 15 min
p90 delay30 min1 in 10 flights is worse (tail risk)
Cancelled0.6%of scheduled flights

based on 987 flights over the last 12 months. On-time means arriving within 15 minutes (BTS standard).

By airline

How each carrier compares

  • American Airlines
    On-time83%
    Medianon time
    p9030 min
    Cancel0.6%
    Flights987

Why flights run late

Delay causes

  • Airline35%
  • Weather1%
  • Air traffic (NAS)17%
  • Late aircraft47%
  • Security0%

Most delay minutes here are attributed to Late aircraft.

Over time

On-time trend

By season

On-time rate by month

When to fly

Best time to fly SJU → CLT

All airlines · rolling 36 months (2023-01 .. 2025-12).

Best time of day

Mornings are the most reliable time of day to fly this route — 87% on time.

  • Mornings87% on time · p90 20 min · 971 flights
  • Middays82% on time · p90 25 min · 519 flights
  • Afternoons70% on time · p90 50 min · 1,243 flights
  • Evenings68% on time · p90 50 min · 233 flights

Best day of week

On-time rates are fairly even by day on this route — ranging from 74% to 80% on time.

  • Mondays80% on time · p90 35 min · 428 flights
  • Fridays79% on time · p90 30 min · 424 flights
  • Tuesdays78% on time · p90 40 min · 391 flights
  • Sundays77% on time · p90 40 min · 454 flights
  • Wednesdays77% on time · p90 30 min · 396 flights
  • Saturdays76% on time · p90 50 min · 433 flights
  • Thursdays74% on time · p90 40 min · 443 flights
Advertisement

Keep exploring

Related pages

Methodology

A flight is on time when it arrives within 15 minutes of schedule — the US DOT / BTS standard. Median and p90(the “1-in-10 bad day”) are read from the full arrival-delay distribution, never averaged across periods.

Figures cover a carrier’s own BTS-coded flights. Cells below ~200 flights are flagged as limited data. All numbers are pre-computed from public BTS On-Time Performance data.