Methodology
How the index is built, on one page first. Then the collection rules exactly as written (fixed since August 2026), the arithmetic, and the change log.
Research summary
- Question
- Loyalty points work like a private currency, and the airline or hotel that issues them can change what they buy at any time, often without notice. Nobody publishes that currency’s inflation rate. How much is a point worth, and how does that value move from month to month? Why points can be studied as a currency.
- Data
- A fixed basket of 88 items: three flights for each of 20 airline programs and four hotel nights for each of 7 hotel programs. Each item is searched about 60 and about 180 days before travel, on the program’s own website, recording the lowest price in points and the cash price on the same search. Every search is screenshotted. 528 searches across 3 monthly rounds so far (August 2026, September 2026, October 2026).
- Method
- The value of one point is (cash price − any cash due on the award) ÷ points price, in US cents. The monthly change is the geometric mean of matched item-level ratios, chained month to month: a chained Jevons index with August 2026 = 100, built the way the most detailed level of a consumer price index is, but for a currency a company issues. The same index runs on prices in points, prices in cash and the value of a point, with airline, hotel and per-program sub-indices. The arithmetic.
- Results so far
- In October 2026 the index stood at 92.4 index points: one point bought 7.6% less travel than in August 2026. Eight of twelve programs that publish a chart charged different prices for the same item anyway. Booking six months out bought 4.9% more per point than booking two months out. All findings.
- Limitations
- 3 months is a short series, one person collects every price, and a fixed basket can’t represent every route or hotel. Rows with known problems are listed, not removed. Limitations and known issues.
- Data access
- Every observation is available as an Excel spreadsheet, and each price links to its screenshot on its program page. Download the data.
Collection began August 2026. These rules are fixed for the life of the index.
Background for readers new to loyalty programs
Three ideas the rest of this page relies on: what a point is worth, how that value changes, and why points can be studied the way economists study a currency. The terms are defined in Definitions.
What a point is worth
A point has no fixed value. It's worth whatever travel it gets you. To measure that, take the cash price of a trip, subtract any cash still owed when booking with points, and divide by the number of points.
If a hotel night costs $450 or 30,000 points, each point is worth 1.5 cents, because $450 ÷ 30,000 = $0.015. That number is called cents per point, and higher is better. It's the arithmetic behind every number in the index.
The same program's points can be worth very different amounts depending on the trip, the date and how far ahead it's booked. In my checks, booking about six months ahead bought 4.9% more per point than booking about two months ahead, mostly because the points price was lower. That's why the index reports typical values from real searches and tracks how they change, rather than one fixed number.
Each program is measured against its own cash prices, and some airlines charge a lot for one-way cash tickets, which makes their miles look unusually valuable. So a program's number is for tracking that program over time, not for ranking it against other programs.
Sites like The Points Guy and NerdWallet publish one value per program each month, based partly on real prices, but they don't publish the data behind it or report how value changes over time. The numbers here come from searches anyone can check, every month, with screenshots. Where the two differ.
How points lose value
Usually not with an announcement. More often, the same trip quietly starts costing more points. It happens in three ways:
- The same trip costs more points. A program raises its prices, either all at once with a warning or a little at a time without one.
- Prices stop following a chart. Many programs no longer publish a fixed price list, called an award chart. Prices move with demand and with the cash fare, so a price rise doesn't need an announcement.
- Card points buy fewer miles. If a credit card program changes how many airline or hotel points you get per card point, a balance is worth less even though award prices didn't change. On October 1, 2026, Chase changed Hyatt transfers to 4:3 for every card except the Sapphire Reserve, so four Chase points now buy three Hyatt points.
One night at the JW Marriott Marquis in Dubai, booked about two months ahead, cost 52,000 points in August. In September the same kind of night cost 67,000 points. Each point went from 0.91¢ to 0.73¢ of hotel. Nobody announced it.
It's common, and a published chart doesn't stop it. 8 of 12 programs that publish an award chart still charged different prices for the same trip between my checks, and China Southern charged 25% more than its own chart on every check. Of the program changes I've logged, the typical warning was 92 days, and 3 took effect the day they were announced.
It doesn't only go one way: points can gain value too, when cash prices rise faster than prices in points. In October 2026, a point bought 7.6% less across all 27 programs than in August 2026: prices in points rose 11.5% and cash prices rose 3.8%. Which way a program moves next can't be predicted, which is why the index re-prices the same trips every month.
Points as a private currency
To an economist, points are money issued by a company instead of a government. A program creates points, mostly by selling them to banks and other partners that hand them out as rewards, and it alone decides what they buy. Members can spend them but almost never turn them back into cash. Programs report unspent points as a liability, something they owe their members, and the programs are valuable enough to borrow against: in 2020 United borrowed $6.8 billion secured by its MileagePlus program (United’s Q3 2020 filing).
Private money isn’t new. Company towns once paid wages in scrip that only the company store accepted, and trading stamps worked as a shopper’s currency in the mid-1900s. What’s unusual about points is how many people hold them and how little is published about what they buy.
That’s why the ordinary tools for studying a currency fit this one closely:
- Inflation is devaluation. A consumer price index tracks what a fixed basket of goods costs in dollars. This index tracks what a fixed basket of trips costs in points. When the same trip costs more points, that currency has had inflation.
- The value of a point is an exchange rate. Cents per point is how many dollars of travel one point buys on the same search: the rate between points and dollars for this basket. It moves when either side moves. Since August 2026, prices in points rose 11.5% and cash prices rose 3.8%. Taken together, a point bought 7.6% less. (The three figures don’t divide exactly: each is measured on the trips that returned that price, and the value of a point also subtracts cash fees.)
- Transfer ratios are exchange rates too. Bank points convert into airline and hotel points at a set ratio. When Chase moved Hyatt transfers to 4:3 on October 1, 2026, Chase points were devalued against Hyatt points, in the plain exchange-rate sense.
- An award chart is a peg. A published chart promises a fixed price, the way a pegged currency promises a fixed rate. 8 of 12 programs with a chart still charged different prices for the same trip between my checks. Dynamic pricing is closer to a floating rate.
- Notice periods are forward guidance. Central banks announce changes ahead of time so people can plan. Programs gave a median of 92 days of warning, and 3 gave none.
- Breakage is the issuer’s profit on unspent money. When a bank buys points that are never redeemed, the program keeps the cash and never provides the travel, much as a government gains when the money it prints is lost or never spent.
The difference that matters: a central bank usually has a public goal, such as stable prices, and publishes its decisions. A loyalty program has neither. It issues the currency, sets every price in it, and is usually the only place it can be spent. Nobody publishes this currency’s inflation rate, so the index measures it from the outside, the way a statistics office measures prices for a national currency.
1. What this is
The rules below are copied word for word from the rules tab of the source workbook. They are also a spreadsheet: rules.xlsx.
A monthly record of what airline, hotel, and credit card loyalty points actually buy.
There are 27 loyalty programs and 5 credit cards. Collection is prospective only; there is no historical reconstruction.
Every observation is dated, sourced, and screenshotted.
2. Scope
Priced monthly: 20 airline programs at 3 items each, 7 hotel programs at 4 items each = 88 active items.
Each item is checked at two travel dates per round = 176 observations per month.
I disclose the transfer ratios, portal rates, partner counts for 5 credit cards
Screenshot proof of every data point lives in one Drive folder per round, named item_id, travel date, and "a" for the award search or "c" for the cash search. if one screenshot shows both cash and award, the letters will be omitted.
A program qualifies for pricing only if its award price is an independently set number that can be observed. Programs where points convert to cash at a published fixed rate are excluded: the points price is arithmetic on the cash price, so it cannot move independently and would register a devaluation only if the conversion rate itself changed. Programs whose award prices cannot be viewed at all are also excluded, for the obvious reason.
Not tracked, and why
Premium economy and first class because they aren't offered by every program. Those classes are logged in Tab 3 when a program reprices to track hidden devaluation
Anything before August 2026 as they can't be reconstructed for dynamically priced programs.
Short-haul business class. The product is not comparable across regions.
Programs screened out before collection began (no item_ids issued)
- Accor ALL — fixed value: 2,000 points = EUR 40 discount. No award chart.
- Shangri-La Circle — fixed value: 15 points = USD 1.
- Taj InnerCircle / NeuPass — fixed value: 1 NeuCoin = INR 1.
- Jin Jiang WeHotel — award prices not visible to members outside China.
- H Rewards (Huazhu) — award prices not visible to members outside China.
- Qatar Privilege Club — awards and redeems Avios, the same currency as British Airways Club. Including both would count one currency twice.
Points are valued against the same program's own cash price. Where an airline prices one-way fares near or above half a round trip, this inflates cpp for that program. Levels are not comparable across programs; change over time is.
Where the award price comes from a chart, the cash amount still owed on the award is not visible, so cpp for those rows is slightly overstated.
I get to some programs later than others consistently, making drawing cross-program conclusions a risky practice
3. Collection rules
- Travel dates are set once at the start of each round and used for every item that round.
- Both travel dates fall on the same weekday every round.
- Target booking windows are approximately 60 and 180 days ahead. Actual days_ahead is recorded per row.
- All checks for a round are attempted to be completed within a 7 to 10 day window.
- Hotels: one night, cheapest room available in both points and cash. always toggle button to show with taxes and fees, or just fees if available
- Flights: one way, lowest economy or lowest business class price available. 1 guest
- Cash price is taken from the same exact search. Helps track real inflation vs points devaluation.
- Native currency as the site defaults. Never toggled to USD.
- Same point of sale, language, and logged-in state every round. Special chrome profile only for the Index. Cookies always saved, so if logged-in once, logged-in forever.
- Award leg: record the lowest award price displayed for the cabin regardless of promotional labeling. Cash leg: exclude rates the site itself labels as sale, promotion, flash, limited-time, or advance purchase; take unlabeled fares as displayed.
- A screenshot is saved for every observation.
- The basket never changes. Closed items get date_dropped and drop_reason. Rows are never deleted and item_ids are never reused.
- Freeze the exchange rates right after capturing them. Prevents from fluctuating exchange rates after the price is already captured.
- Award prices come from a live search wherever possible. If a live search is blocked, use the program's published chart or calculator. If there is neither, leave points_price blank and record why.
- For the cash comparison, take the cheapest fare in the cabin on a nonstop flown by that airline. If there is no nonstop that day, use the cheapest one-stop that airline sells as a single ticket, even where a partner operates part of it, and record the partner in notes section. If the airline doesn't fly the route that day, leave cash_price blank and write "no service this date". Never substitute another airline.
- If any cell is blank it means that data wasn't available, not that it wasn't recorded.
- Leave award_cash_addon blank when extra fees aren't visible. Never enter 0, which asserts there are none.
- Cash prices are taken from the operating airline's or hotel brand's own website only. Never from an OTA (Expedia, Kiwi, Booking.com, Google Flights) or a metasearch result.
- Follow the order written in 0_Basket every round
How the index is calculated
The value of one point for a single search is the cash price, minus any cash you still pay on the award, converted to US dollars at that day’s rate, divided by the points price: (cash − extra cash) × exchange rate ÷ points × 100, in US cents.
The monthly change compares each trip with itself: same item, same booking distance, this month against last month. For each pair I take this month’s value divided by last month’s. The month’s change is the geometric mean of those ratios, and the index multiplies the months together, starting at 100 in August 2026. Statisticians call this a chained Jevons index; it’s the method used for the most detailed level of many official price indices.
Why this method: a geometric mean stops one extreme trip from dominating (a twelvefold jump counts the same as a twelvefold drop, not more), treats a cheap domestic flight and an expensive business seat equally, and gives the same answer whether you measure points per dollar or dollars per point. Chaining means a trip that couldn’t be priced one month drops out of that month only, not out of the index.
The same calculation runs on three things: the price in points, the price in cash (in US dollars, so a website switching its default currency doesn’t break the series), and the value of a point. Airline and hotel figures use only those trips. Each program page uses only that program’s trips.
Missing prices are never estimated. They are counted separately on the availability chart.
Limitations
Read this before quoting a number.
What the index can’t tell you
- Points are valued against the same program's own cash price. Where an airline prices one-way fares near or above half a round trip, this inflates cpp for that program. Levels are not comparable across programs; change over time is.
- Where the award price comes from a chart, the cash amount still owed on the award is not visible, so cpp for those rows is slightly overstated.
- I get to some programs later than others consistently, making drawing cross-program conclusions a risky practice
The basket is small on purpose: three trips per airline and four hotel nights per hotel program, searched on two dates a month. It measures change on the same searches over time. It doesn’t find the best redemption in a program, and it can’t see award space that wasn’t available on the search dates.
Known issues in specific observations
These rows are in the data exactly as collected. They're listed here so nobody mistakes them for a signal.
- Radisson, Round 2: cash rates were captured before tax while award prices included it (noted on each row). That pushes September value per point down by roughly the local tax rate. Nairobi's 180-day night is the clean test: same 70,204 points both rounds, cash $196.58 → $157.
- Korean Air, Seoul–Paris, Round 2, 60 days: the Economy Standard fare sold out, so the cash side is Economy Flex. That inflates value per point for that row (2.37¢ → 3.54¢).
- SAS EuroBonus, Marriott Dubai, Marriott Tokyo, Hampton Warsaw: the site's default currency changed after Round 1 (USD to EUR, AED, JPY and PLN). Value per point is computed in USD at the frozen rate, so it's comparable. Raw cash prices in native currency are not comparable across that switch.
- Qantas, Brisbane–Melbourne, Round 1: every nonstop cash fare carried a sale label, so the cash leg could not follow Rule 10. In Round 2 the award was operated by Jetstar.
- Etihad: several award prices were promotional fares. Under the September 2026 rule change, the lowest displayed award is recorded regardless of promotional labelling.
- Hyatt, Round 2: Hyatt Ziva Cancun and Park Hyatt Zurich award prices failed to load after five attempts. Those cells are blank, not zero.
- British Airways, Round 3: the Avios site was having technical problems on October 20, so the award prices were searched on the 21st, a day after the cash prices. London–Singapore had no bookable award seat in either cabin on either date, so British Airways' October change rests on London–Munich alone.
- Korean Air, Seoul–Paris business, Round 3: Prestige Standard sold out on both dates, so the cash side is Prestige Plus. No award seat was available either, so neither row has a value per point.
- Hyatt, Round 3: after the first Times Square search, Hyatt's site flagged the searches as a bot and blocked them, through a VPN as well. Times Square at 60 days is fully priced and its 180-day award price was recorded; the other six rows are blank, not zero. Hyatt's October change rests on the two Times Square trips.
- Qantas, Sydney–Vancouver economy, Round 3, 180 days: the cash fare was marketed as a sale, the same Rule 10 conflict as Brisbane–Melbourne in Round 1.
- Hilton is labelled "Fixed" in the program status sheet, but award prices moved at two of its four hotels between checks (Hawaiian Village 80,000 → 75,000; Conrad Maldives 180,000 → 160,000).
Definitions
Terms used on this site
- Points / miles
- The currency of a loyalty program. Airlines usually call them miles, hotels and banks call them points. They work the same way.
- Award
- A flight or hotel night paid for with points.
- Award price
- How many points an award costs.
- Cash price
- What the same flight or night costs in money, on the same search.
- Value of a point (cents per point)
- Cash price ÷ points price. How many cents of travel one point bought. Higher is better.
- Private currency
- Money issued by a company instead of a government. Points are one: the program creates them, sets what they buy, and can change that at any time.
- Devaluation
- When the same trip starts costing more points, so each point buys less. It’s inflation in the points currency, and it doesn’t have to be announced.
- Award chart
- A published table of how many points each trip costs, like a currency pegged to a fixed rate. Many programs no longer publish one.
- Dynamic pricing
- Award prices that move with demand or with the cash fare, instead of following a chart.
- Flexible points
- Bank points (Chase, Amex, Citi, Capital One, Bilt) that can be moved into several airline and hotel programs.
- Transfer partner
- An airline or hotel program you can move flexible points into, such as Chase to Hyatt.
- Transfer ratio
- How many program points you get per card point: an exchange rate between two currencies. 1:1 means one for one.
- Transfer bonus
- A limited-time offer that adds extra points when you transfer, often 20–30%.
- Sign-up bonus
- Points a credit card gives you for spending a set amount in the first few months.
- Taxes and fees
- Cash you still pay on an award. Some airlines add large surcharges, which lower the value of your points.
- Breakage
- Points that are never used. Pure profit for the program, much as a government gains when money it issues is never spent.
- Booking window
- How far ahead you book. This index checks each trip about 60 and about 180 days before travel.
- The index
- My monthly measure of what a point buys, starting at 100 in August 2026. 103 means points buy 3% more than they did then; 97 means 3% less. It’s built the way a consumer price index is, but for a private currency.
Columns and codes in the data
- Round
- one monthly collection cycle. Round 1 is August 2026.
- program_region
- where the program is headquartered, not where the item is located.
- Hotel slots
- 01 big-city business, 02 resort, 03 suburban midscale, 04 flagship luxury.
- Y / J
- economy / business.
- cpp
- cents per point.
- award_cash_addon
- cash still owed on an award booking
- ratio_numeric
- partner points received per issuer point transferred. 1:1 = 1.00, 4:3 = 0.75.
- Point of sale
- United States / English. Logged out where possible. Programs requiring a login to display award prices: AI, KE, CX, EK, UA, LA, AC, BA. Checked on a seperate browser profile named "Index": cookies never cleared, no VPN.
- fx_rate
- the exchange rate on the day the price was recorded.
- partner_count
- number of separately operated loyalty programs where points can be redeemed for core travel products (flights for airlines, nights + airline transfers for hotels). Excludes earn-only partners, subsidiaries, car rental, merchandise, gift cards, and shopping portals.
How numbers are written
- Value of a point: US cents with two decimals, e.g. 1.13¢.
- Changes: percent with one decimal and a true minus sign, e.g. −18.1%.
- Index values: index points with one decimal, August 2026 = 100.
- Points prices: whole numbers with thousands separators, e.g. 50,000.
- Cash prices: the currency’s ISO code and its usual decimals, as shown on the screenshot (SGD 228.60, JPY 45,600). “$” on its own always means US dollars; conversions marked ≈ are rounded to whole dollars.
- Dates: month, day, year (Sep 10, 2026).
Path to any observation: the round folder, then item_id, travel date, and "a" or "c". Example: R1_2026-08/CZ-CANSYD_20261014_a.png. a for award, c for cash.
Round dates
| Round | Travel dates searched | Collected | Searches |
|---|---|---|---|
| R1 · August 2026 | Oct 14, 2026 and Feb 10, 2027 | Aug 16 – Aug 23, 2026 | 176 |
| R2 · September 2026 | Nov 4, 2026 and Mar 3, 2027 | Sep 4 – Sep 10, 2026 | 176 |
| R3 · October 2026 | Dec 16, 2026 and Apr 14, 2027 | Oct 16 – Oct 21, 2026 | 176 |
Change log
Any rule changed after Round 2 began is dated and explained here.
Sep 4, 2026. Appended Rule 10 — "10. No promotional rates, or sales. Only allowed when promo is the only inventory available." to "10. Award leg: record the lowest award price displayed for the cabin regardless of promotional labeling. Cash leg: exclude rates the site itself labels as sale, promotion, flash, limited-time, or advance purchase; take unlabeled fares as displayed." Reason: On the award leg, promotional pricing is the program's own pricing decision and is the quantity being measured — excluding it lets program marketing set the dependent variable. On the cash leg the exclusion stands: fare sales are carrier-wide, round-timed shocks shaped like a devaluation signal, and R1 cash was collected under the exclusion. Round 1 had a non-promo award logged, but in the notes the promo fare was written. Apended that item.

