
Executive Summary: A Ratio Is a Division, and the Denominator Is Not a Constant
The OSINTRAI price-window engine produced two runs on 21 October 2026, four hours apart, and the two outputs do not describe the same network. The 06:06 run evaluated 59 monitored routes. [source-1] The 10:06 run evaluated 60, because LAX-TPE appeared for the first time in the set. [source-2] More consequential than the added route is what happened to a route that was in both runs. JFK-KIX carried a ratio to mean of 1.465 in the morning run and 1.171 in the mid-morning run, a fall of 0.294 in absolute terms. [source-1] [source-2] Its current fare fell, but only from 1,244 dollars to 1,102. [source-1] [source-2] The ratio fell far more than the fare, because the denominator moved.
The mechanism is specific and checkable. JFK-KIX's averaging window in the morning run held three months, giving a mean of 849.33 dollars, and in the mid-morning run it held four, giving a mean of 940.75 dollars. [source-1] [source-2] The fourth month, January 2027, was priced above the level of the three that preceded it, and its arrival raised the denominator by 91.42 dollars while the numerator fell by 142. [source-1] [source-2] Both changes push the ratio in the same direction, and the second of them is a change to the yardstick rather than to the thing being measured.
This is a general property of the measure that the tier labels conceal. A ratio to mean is a division of the current fare by an average over whatever months that particular route happens to have recorded, and in this run the number of months is not uniform across the network. [source-2] Fourteen of the sixty routes had fewer than five months, twelve had four and two had three, and in one case the month set is not even contiguous. [source-2] Two routes can therefore carry the same tier label while being measured against bases of different depth, and one route can move substantially within a label while its fare does something comparatively small.
1. The Two Runs Side by Side
The comparison is only meaningful because both runs come from the same engine, the same monitored set definition and the same day. The generation stamps are 2026-10-21T06:06:47+0800 and 2026-10-21T10:06:33+0800, and the engine identifier is the same in both, numpy-2.4.6, with the hourly chain noted as the scheduled next run. [source-1] [source-2]
| Attribute | 06:06 run | 10:06 run | Change |
|---|---|---|---|
| --- | --- | --- | --- |
| Routes evaluated | 59 | 60 | +1 (LAX-TPE added) |
| Signal distribution | 13 BUY / 26 WATCH / 4 WAIT / 17 AVOID | 13 BUY / 26 WATCH / 4 WAIT / 17 AVOID | Unchanged in total |
| JFK-KIX current fare | $1,244 | $1,102 | -$142 (-11.4%) |
| JFK-KIX mean | $849.33 | $940.75 | +$91.42 (+10.8%) |
| JFK-KIX ratio | 1.465 | 1.171 | -0.294 (-20.1%) |
| JFK-KIX months in window | 3 | 4 | +1 (2027-01 added) |
| JFK-KIX month-on-month | +92.3% | -11.4% | Sign flip |
Sources: [source-1] [source-2]
The last row deserves a moment, because it is the most misleading single number in the comparison. The month-on-month figure for JFK-KIX moved from +92.3% to -11.4%, a swing of 103.7 percentage points, and its sign reversed. [source-1] [source-2] A reader who saw only the morning figure would conclude that the route was surging. A reader who saw only the mid-morning figure would conclude it had fallen. Both would be reading a measure whose baseline had been rebuilt underneath them between the two observations.
The signal label for JFK-KIX did not change. It reads AVOID in both runs, and the reason is that the band boundaries are wide enough to absorb a 0.294 shift at that level of the distribution. [source-1] [source-2] That is fortunate, and it is also luck rather than design: a route sitting nearer a band edge would have changed tier on the same input change, and the published tier would have moved for a reason that has nothing to do with the fare.
2. Why the Window Depth Is Not Uniform
The run's nominal window is five months, running from October 2026 through February 2027. [source-2] That is the reporting period the engine describes, and it is also the period the average is computed over for most routes. It is not the period for all of them.
| Months in the route's own window | Routes | Share of 60 | Signal mix |
|---|---|---|---|
| --- | --- | --- | --- |
| 5 months (contiguous, full window) | 46 | 76.7% | 7 BUY / 21 WATCH / 3 WAIT / 15 AVOID |
| 4 months | 12 | 20.0% | 5 BUY / 4 WATCH / 1 WAIT / 2 AVOID |
| 3 months | 2 | 3.3% | 1 BUY / 1 WATCH |
Sources: [source-2]
Twenty-three routes out of sixty, or 38.3 per cent, are measured against a base shorter than the run's stated window. [source-2] That is not a rounding detail. The arithmetic of an average is sensitive to the number of observations, and a four-month mean of the same underlying fare curve will sit differently from a five-month mean whenever the month that was dropped or added sits away from the middle of the distribution. [source-2]
The three-month routes make the point most sharply. CTU-TPE averages October, November and December 2026, and carries a ratio of 0.775 with a current fare of 164 dollars against a mean of 211.67. [source-2] LAX-TPE averages November 2026, December 2026 and February 2027, and carries a ratio of 0.885 with a current fare of 762 against a mean of 860.67. [source-2] LAX-TPE's window is not contiguous: it skips January 2027 entirely. [source-2] A route that skips a month is not a route with a shorter average. It is a route whose average is over a different set of points than its neighbours, and the two routes in the table above are separated by a full month of price history that one of them never saw.
The signal mix in the table is the second finding. All seven BUY routes with a full five-month window sit alongside five BUY routes with four months and one with three. [source-2] The BUY tier, in other words, is populated substantially by routes whose base is shallower than the run's stated window, and the tier carries no indication of which is which. [source-2] The five-month BUY routes are averaged over five observations; the three-month BUY route is averaged over three. [source-2]
3. The Routes Where Depth and Direction Disagree
The routes with short windows are not a random subset, and the twelve four-month routes cluster around one particular gap: eleven of the twelve are missing February 2027, the final month of the stated window. [source-2] LAX-TPE misses both October 2026 and January 2027. [source-2] Two routes skip the middle of the window instead of the end. [source-2]
| Route | Months | Missing from the five-month window | Signal | Fare | Mean | Ratio | CV |
|---|---|---|---|---|---|---|---|
| LAX-TPE | 3 | 2026-10, 2027-01 | WATCH | $762 | $860.67 | 0.885 | 0.455 |
| CTU-TPE | 3 | 2027-01, 2027-02 | BUY | $164 | $211.67 | 0.775 | 0.315 |
| LAX-KIX | 4 | 2027-02 | BUY | $460 | $700.00 | 0.657 | 0.337 |
| JFK-HKG | 4 | 2027-02 | BUY | $553 | $662.50 | 0.835 | 0.454 |
| SZX-TPE | 4 | 2027-02 | BUY | $193 | $254.25 | 0.759 | 0.277 |
| HKG-MFM | 4 | 2027-02 | BUY | $188 | $226.50 | 0.830 | 0.416 |
| SIN-TPE | 4 | 2026-12 | BUY | $129 | $216.00 | 0.597 | 0.502 |
| LHR-TPE | 4 | 2026-12 | WAIT | $680 | $677.00 | 1.004 | 0.344 |
| LHR-KIX | 4 | 2027-02 | WATCH | $734 | $688.25 | 1.066 | 0.266 |
| LAX-HKG | 4 | 2027-02 | WATCH | $572 | $670.25 | 0.853 | 0.390 |
| SIN-KIX | 4 | 2027-02 | WATCH | $323 | $309.25 | 1.044 | 0.412 |
| LAX-ICN | 4 | 2027-02 | WATCH | $800 | $756.25 | 1.058 | 0.093 |
| SZX-KIX | 4 | 2027-01 | AVOID | $788 | $396.25 | 1.989 | 0.590 |
| JFK-KIX | 4 | 2027-02 | AVOID | $1,102 | $940.75 | 1.171 | 0.257 |
Sources: [source-2]
Two rows deserve separate attention because they invert the naive expectation. SZX-KIX is the most expensive route in the network by ratio, at 1.989, and it is missing January 2027, a month that falls in the middle of the window rather than at its edge. [source-2] Its coefficient of variation is 0.590, the highest in the run, which the engine's own method treats as the signal that the mean is the least reliable figure available for that route. [source-2] A reader comparing SZX-KIX at 1.989 against JFK-KIX at 1.171 is comparing the least stable mean in the set against one of the most stable, and the two ratios are not the same kind of number. [source-2]
LAX-ICN runs the other way. Its coefficient of variation is 0.093, by a wide margin the lowest in the run, and its ratio is 1.058, which sits essentially on its own mean. [source-2] That is the most reliable route in the set, and it carries a WATCH label, meaning near parity. [source-2] A WATCH on a route with a 0.093 coefficient of variation is a statement about a well-measured fare sitting at its own average, and it is a different kind of statement from a WATCH on a route whose mean swings. [source-2]
SIN-TPE completes the picture on the other extreme. It carries the lowest BUY ratio in the network at 0.597, and its coefficient of variation is 0.502, the second highest, and it is one of the routes missing December 2026 from its window. [source-2] The lowest ratio in the set, sitting on the second least reliable mean, with a hole in the middle of the window. [source-2]
4. The Comparison That Is Legitimate and the One That Is Not
The engine's own construct is a division of the current fare by that route's own mean, and the reason for constructing it that way is sound: it makes a 442-dollar route and a 78-dollar route comparable in position without comparing their absolute prices. [source-3] A route at 442 dollars with a mean of 884 and a route at 78 dollars with a mean of 215 both land near 0.5, and a reader comparing raw dollar figures would rank them an order of magnitude apart when the engine considers them similarly positioned. [source-3]
The construct also has a well-known hazard, which is that a ratio says nothing about whether the fare is a good price in absolute terms for any particular itinerary. [source-3] But the hazard that today's run makes visible is a second and sharper one, and it is not about the numerator at all.
A ratio is comparable to another ratio only when the two denominators were built the same way. [source-3] [source-2] Across today's sixty routes that condition is not met for twenty-three of them, and in one case the route's own window contains a month that is not in the run's window at all. [source-2] This is why the discipline that forbids comparing a ratio against an absolute dollar figure has to be extended to forbidding comparing a five-month ratio against a three-month ratio without stating the bases. [source-4]
The distinction that survives is narrower and more useful. Within a single route across time, the ratio is the right instrument, because the basis moves with the route and the comparison is internally consistent. That is exactly what the JFK-KIX row shows, and it is why the two runs should be read as a series rather than as two separate claims. [source-1] [source-2] Across routes, the ratio is only comparable where the month sets match, and the published tier does not tell a reader where that holds. [source-2] [source-3]
5. What the Tiers Do and Do Not Encode
The four signal bands are constructed from the ratio with thresholds, and the distribution in this run is 13 BUY, 26 WATCH, 4 WAIT and 17 AVOID across sixty routes. [source-2] The construction rule is documented, and its own text is the authority for what each band asserts. [source-5]
What a tier does not encode is at least as important. It does not encode how many months the mean was computed over, it does not encode the coefficient of variation, and it does not encode the month-on-month change. [source-2] All three of those varied across the routes carrying a given tier, and all three of them changed the meaning of a given ratio in the space of a single morning for at least one route. [source-1] [source-2]
The practical consequence for a traveller is a change in what a signal is for. A BUY is a statement that the current fare sits well below that route's own recent and near-future average, which is a statement about position in a fare curve rather than about a fare you can book today. [source-3] [source-5] It is the wrong instrument for the question most travellers actually have, which is whether this specific fare is available on this specific date, and the instrument that answers that question is a date-specific fare query rather than an average. [source-3] [source-6]
The arrangements that make a position-in-curve signal actionable are ground-side and are worth making while the position is favourable rather than after it closes. A fixed-price airport transfer booked in advance removes the assumption that a ground journey costs a variable amount on the day it happens. [source-23] An eSIM data plan active before departure keeps a rebooking conversation possible while a flight is held on the ground. [source-24] flight compensation is what converts a delay caused by someone else's schedule into a recoverable expense. [source-22] None of these makes a deep discount appear on a date it is not available, and none of them is a substitute for checking a specific date. [source-6]
The external fare references make the same point from the other direction. Google Flights' price tracking and calendar comparison work at the level of a specific itinerary and a specific date range, which is why a route's position against its own mean and the availability of a fare on a chosen day are two different questions with two different tools. [source-6] Flare's published research on the average discount of a qualifying fare deal states the qualifying conditions under which a discount is counted, and Skysonar's error-fare monitoring works on a defined subset of fares rather than on a route average. [source-7] [source-8] Every one of those tools is narrower than the price-window measure, and each is narrower in the direction that makes it answer a bookable question. [source-6] [source-7] [source-8]
6. Conclusion: Report the Denominator With the Ratio
Two runs of the same engine on the same day produced 59 routes and then 60, moved one route's ratio by 0.294, and flipped that route's month-on-month sign from +92.3% to -11.4%, while the network-wide signal distribution stayed identical at 13 BUY, 26 WATCH, 4 WAIT and 17 AVOID. [source-1] [source-2] The ratio did not become wrong. It became a different ratio, over a different base, and the tier did not move to reflect that. [source-1] [source-2]
The finding that generalises is structural rather than a one-route curiosity. Twenty-three of sixty routes are averaged over fewer months than the run's stated window, eleven of those are missing the final month, and one skips a month in the middle. [source-2] The most expensive route in the network by ratio has the least reliable mean in the network. [source-2] The cheapest route by ratio has the second least reliable mean, and a hole in the middle of its window. [source-2] And a route that sat on a three-month base in the morning sat on a four-month base four hours later, with a materially different ratio and an unchanged tier. [source-1] [source-2]
The fix is not a better algorithm. It is disclosure. A ratio published without its denominator depth, its missing months and its coefficient of variation is a number without the context required to interpret it, and every one of those three fields is already computed and already in the report. [source-2] Publishing them costs nothing and changes no verdict, and it converts a set of tier labels that look self-evidently comparable into a set that can be compared correctly, which is to say, only where the bases match.
📑 7. Verified Evidentiary References (40 sources) — click to expand
- [1] OSINTRAI 96-node price-window engine: Price window report, generated 2026-10-21T06:06:47+0800, numpy-2.4.6, 59 routes osintrai.com/intel/geo
- [2] OSINTRAI 96-node price-window engine: Price window report, generated 2026-10-21T10:06:33+0800, numpy-2.4.6, 60 routes osintrai.com/intel/geo
- [3] OSINTRAI Content Standards: Ratio versus absolute price comparison rules and cross-caliber prohibition osintrai.com/intel/geo
- [4] OSINTRAI Signal Dictionary: BUY, WATCH, WAIT and AVOID construction rules osintrai.com/intel/geo
- [5] OSINTRAI Price Window Register: Averaging window definition and per-route month coverage osintrai.com/intel/geo
- [6] Google Flights: Fare and calendar comparison methodology google.com/travel/flights
- [7] Flare: Fare drop digest and qualifying deal discount tracking flareflights.com/research/stats/average-fl…
- [8] SkySonar: Error fare and airfare deal monitoring skysonar.com/en-us/deals
- [9] OSINTRAI Volatility Method: Coefficient of variation as a signal qualifier osintrai.com/intel/geo
- [10] OSINTRAI monitored route register: Sixty route pairs and their endpoint aerodromes osintrai.com/intel/geo
- [11] OSINTRAI price-window chain manifest: Completeness accounting for the 2026-10-21 run osintrai.com/intel/geo
- [12] OSINTRAI scan manifest: openSEO run completeness for 2026-10-21 osintrai.com/intel/geo
- [13] KAYAK: Monthly flight deal tracker and fare trend methodology kayak.com/news/monthly-flight-deals
- [14] AirHint: Flight price tracker and predictor methodology airhint.com/flight-price-tracker
- [15] Go4Flights: Flight price observatory and real price reporting go4flights.com
- [16] Skyscanner: Fare trend and price calendar methodology skyscanner.net
- [17] IATA: Air Passenger Market Analysis and fare methodology iata.org
- [18] US Bureau of Transportation Statistics: Air fare index series bts.gov
- [19] Eurostat: Air passenger price indices ec.europa.eu/eurostat
- [20] AirHelp: Flight disruption compensation claims airhelp.com
- [21] Compensair: Flight disruption compensation calculator compensair.com
- [22] AirHelp: Flight disruption compensation claims airhelp.com
- [23] Kiwitaxi: Fixed-price airport transfer kiwitaxi.com
- [24] Airalo: eSIM data plans for international itineraries airalo.com
- [25] Radical Storage: Luggage storage booking radicalstorage.com
- [26] Yesim: eSIM data plans yesim.com
- [27] Saily: eSIM connectivity for travel saily.com
- [28] GetTransfer: Airport transfer booking platform gettransfer.com
- [29] Welcome Pickups: Airport meet-and-greet transfer service welcomepickups.com
- [30] Intui: Airport transfer comparison service intui.travel
- [31] Expedia: Fare and date-specific search methodology expedia.com
- [32] Booking.com: Fare calendar and price index information booking.com
- [33] Aviation Week: Airline pricing and distribution analysis aviationweek.com
- [34] Statista: Airline and airport fee statistics statista.com
- [35] US Department of Transportation: Airline consumer and fare reporting transportation.gov
- [36] Google Trends: Search interest measurement methodology trends.google.com/trends
- [37] Exa semantic search: Airfare document retrieval layer exa.ai
- [38] OSINTRAI archive: The two ends of one sixty-route price run, 18 October 2026 web.archive.org/web/2026/https://osintrai.…
- [39] OSINTRAI archive: Same destination fare divergence, 17 October 2026 web.archive.org/web/2026/https://osintrai.…
- [40] OSINTRAI archive: Fare window ratio portfolio, October 2026 web.archive.org/web/2026/https://osintrai.…

