Subscription pricer
Design an airline subscription, set its price, and see who signs up and whether it pays.
An all-you-can-fly pass, a commuter route pass or a bundle of bags, seats and Wi-Fi all promise recurring revenue. The catch is who buys: the customers who gain most from a flat price already fly a lot. This page builds a synthetic customer base, lets each one decide, and adds up what the airline gains and gives away.
Price
What's included
Restrictions
Seat availability
Behaviour
A customer signs up when the value they expect exceeds the price. With a bias of 25%, someone who will actually save $800 a year expects to save $1,000. Set it to 0 for perfectly rational customers. Gym members studied by DellaVigna and Malmendier paid about 70% more per visit than the pay-as-you-go price, because they expected to go more often than they did.
Where the money goes
One year, all subscribersFrom subscription revenue to net result
What subscribers pay, less what the airline gives away, plus what the product brings in. The last bar is the net effect of launching it.
The subscribers
Profit against price
Same design, every monthly priceWho subscribes
Adverse selection: heavy flyers sign up firstRound trips a year with the airline, before the offer
By customer segment
Net result per subscriber: what each one pays, less what the airline gives up on them, plus what they add.
Capacity control
Without control, pass holders can take any seat for sale, including seats on flights that will sell out, where each one turns away a paying passenger. With control, RM opens pass seats only on flights it expects to fly with seats to spare. That protects revenue, but it makes the pass less useful, so fewer customers buy it.
Subscriptions in the market
Public terms, checked September 2026Real products that map onto the presets. Terms change often, especially introductory prices: check the airline's own page before quoting any of these.
How it works
Background
An all-you-can-fly pass, a route pass for commuters or a monthly bundle of bags, seats and Wi-Fi all promise the same thing: recurring revenue from loyal customers. The catch is who buys it. The customers who gain most from a flat price are the ones who already fly a lot and would have paid you anyway, and they tend to expect to use it even more than they will. The page builds a synthetic customer base, lets each customer decide whether your product is worth its price, and then adds up what the airline gains and gives away.
The customers
Each market is a synthetic sample of customers (20,000 for the two networks, 12,000 for YUL–YYZ), drawn once with a fixed seed so the page always shows the same people, then scaled up to the market size. Customers belong to segments (occasional leisure, frequent leisure and visiting friends and relatives, business, road warriors or weekly commuters), and within a segment each one gets their own draw of:
- Trips a year
Mon the market, on any airline: 1 plus a negative binomial (a Poisson with a gamma-distributed mean), so a few customers fly a lot. - Share of wallet
w: the share of those trips they already fly with you (beta). The rest go to competitors, or on other modes on YUL–YYZ. - Average round-trip fare
F(lognormal around the segment's median). - Flexibility
φand late-booking shareℓ(beta): how easily their trips can move to another day or flight, and how many they book less than two weeks out. - Ancillary habits: the share of trips on which they buy a checked bag, a seat and Wi-Fi.
- Extra-trip propensity
γ: how many more trips they would take if the fare dropped to taxes and fees. - Two decision draws: whether they notice the offer (40% do) and a hassle cost of signing up (lognormal, median $40 a year), which stands in for inertia and everything else the model leaves out.
What a pass is worth to a customer
Share of trips the rules allow U = clamp(a + b·φ − c·ℓ) × (1 − blackout share × (1 − φ)) With capacity control at X U′ = U × (q + (1 − q)·φ·q) q = share of trips on flights expected below X% full Extra trips the pass triggers I = γ × M × (1 − fee / F) Pass trips they'd take anyway Pb = min(A, U′ × M) A = round trips included a year Extra trips on the pass Pi = min(A − Pb, U′ᵢ × I) extra trips are fully flexible (φ = 1) Value V = (F − fee) × (Pb + ½ Pi) + value of the included ancillaries Signs up if noticed and V × (1 + bias) × (1 − commitment discount) − hassle > price × months paidThe booking window sets a, b and c: any time (1, 0, 0), 14+ days ahead (1, 0, 1), last 3 days (0.05, 0.7, 0) and day before (0, 0.5, 0). Trips a customer was going to take anyway have fixed dates, so short windows hit them hardest; extra trips are discretionary and fit almost any window. Extra trips are valued at half the saving (the usual triangle under a demand curve). Included ancillaries are worth their full price on trips where the customer would have bought them and a quarter of it on the others. Customers who commit for 12 months discount the value by 10% for the risk (5% for 6 months). On a monthly plan they pay only for the months in which they fly: 12 × (1 − (11/12)ⁿ) months for n trips spread over the year.
What it's worth to the airline
Net = price × months paid − Pb × w × F fares subscribers would have paid you − (Pb × (1 − w) + Pi) × D paying passengers turned away on full flights − included ancillaries they'd have bought anyway + extra trips × ancillaries they still buy + fares on trips a bundle wins from competitors − extra trips × cost per passenger − ancillary fulfilment − 3% payment and servicing D = window factor × 1.6 × average fare × Σ wL·p(L) / Σ wL over the flights pass holders may use p(L) = 1 / (1 + e^−(L − 0.93)/0.025) chance that one more passenger on a flight expected to be L full turns away a paying oneTrips switched from competitors and extra trips put new passengers on board. On a flight that would have flown with empty seats they cost only the variable cost per passenger ($30 on the low-cost network, $50 on the others); on a flight that will sell out, they take the seat of a paying passenger, typically a late booker paying well above the average fare (hence the 1.6). wL is the share of passengers on flights expected to be L full. A last-minute booking window already works as capacity control, because RM knows by then which flights will go out with empty seats: the displacement is multiplied by 0.3 for the last 3 days and 0.1 for the day before. A bundle with no trips doesn't displace anyone, since the extra trips it wins are booked and priced by RM like any other.
The profit curve re-runs the same customers at every price; the capacity-control curve re-runs them at every threshold, at the price you chose. The most profitable price is the highest point of the curve, searched over 0 to the end of the axis.
Data and sources
- All model inputs are illustrative assumptions, set September 2026 and stored in
assets/data/subscription.json: segment mixes, trip frequencies, fares, load-factor mixes, ancillary prices and costs, the bias, awareness and hassle. They were chosen to look plausible for a low-cost network, a mid-size network and a busy business route, not estimated from any airline. - Product terms in Subscriptions in the market come from the airlines' own pages and newsrooms and from travel press, each linked with its date.
- DellaVigna, S. and Malmendier, U. (2006), Paying Not to Go to the Gym, American Economic Review 96(3): the evidence behind the usage-overestimation bias.
- Displacement and bid prices follow the logic of RM 101, chapter 04 and chapter 06; award-seat availability, the loyalty version of the same trade-off, is in Loyalty 101, chapter 10.
Limitations
- One steady-state year. No launch ramp-up, churn or renewal pricing, no seasonality beyond blackout dates, and no competitor response: a rival matching the pass would change who switches.
- Capacity control uses a load-factor threshold on the expected load. A real RM system would compare each pass request with the flight's bid price, which also accounts for connecting traffic and the time left to sell.
- The upside rests on two assumptions you can't see on the page: how many extra trips a near-free fare triggers (
γ) and how many trips a bundle wins from competitors. Change them in the JSON to test how much the answer depends on them. - Pass holders who book and don't show, fraud and account sharing are ignored; so are points and status earned on pass trips, which some programmes award.
- Wi-Fi in a bundle is priced at a per-flight rate. Several airlines now give it free to loyalty members, which makes it worth little in a subscription.
- Small uptakes mean few subscribers in the sample, so curves can be a little jagged at high prices.
This is a personal project and isn't affiliated with any airline. For the business side, read RM 101: Network Optimization on displacement, Loyalty 101: Segmentation & Customer Lifetime Value on who your heavy users are, and Commercial 101: Ancillaries & Merchandising on what a bundle gives away.