Ranking Methodology
How Sparkfare Works
We judge flight deals strictly against historical observation data for each route, without artificial urgency, hidden averages, or algorithmic guesswork.
Every percentage and verdict on Sparkfare rests on a defined, defensible standard. Below is the exact math, observation thresholds, and guardrails we apply to every route.
1. The 30-Day Median Baseline
To determine if a flight price is unusually low, you need an honest baseline. Sparkfare tracks the lowest cached round-trip fare found each day for every origin–destination pair.
- Median, not average: We use the mathematical median of the daily lowest fares over the preceding 30 calendar days. Unlike an arithmetic mean, a median is not distorted by rare holiday price spikes or temporary pricing glitches.
- Route-specific baselines: A JFK-to-Lisbon median and an ORD-to-Lisbon median are completely separate. We never pool routes, regions, or airports together.
- Zero self-contamination: Today's price is evaluated against history as it stood before today. Today's quote is only appended to the history record after classification, preventing today's number from shifting its own goalpost.
2. Deal Floor & Statistical Volatility
A route only earns a Deal badge when today's fare satisfies two strict criteria:
15% Deal Floor (D-021)
A price must be at least 15% below its trailing 30-day median to be considered a deal. Anything less is classified as Typical.
10-Day Minimum History
We require at least 10 distinct observation days across a minimum 14-day span. Routes below this threshold show "Building history" and are never scored blind.
3. Freshness & Staleness Guardrails
Fares are the lowest round-trip price found in search data we retrieved. They are not quotes, and the fare itself can be older than the retrieval time. The price on Aviasales can be higher or lower. The deal comparison uses our own 30-day history, not the Aviasales price. Airfares also move quickly, so we apply these rules to the data we hold:
- 48-hour retrieval cutoff: A price we retrieved more than 48 hours ago is not treated as a current deal.
- Departure buffer: Any flight departing within 48 hours is treated as gone and hidden from our board.
- 3-day lapse rule: If we have not retrieved a price for a route in more than 3 calendar days, it is marked as "Last seen" and never carries a deal badge.
4. What the Price Is Not
Sparkfare is built around transparency. Here is what our prices and tools deliberately do not do:
- No price predictions: We never predict future prices or tell you what day to buy. We state only what our observation history recorded.
- No personalized pricing: Baselines are the daily lowest cached fares for that route, the same for every visitor. Sparkfare does not change a fare based on who you are or what you searched.
- Not a live ticket quote: Fares represent cached low quotes discovered during scheduled runs. Final prices and seat availability are shown by the booking site.
Frequently Asked Questions
How does Sparkfare determine whether a flight is a deal?
Does Sparkfare predict future airfare prices?
How fresh are the prices shown on Sparkfare?
Are the prices on Sparkfare quotes?
Can I buy tickets directly on Sparkfare?
Explore Sparkfare Tools
See our methodology in action across our research and fare analysis tools.