Presenter Script | Airline Loyalty Decisioning
Second-screen guide
Presenter guide

Airline Loyalty Decisioning

Use this on a second screen while you run the demo. This is designed to be more prescriptive: what this section is about, what to say, how to frame it, what to point at, and what to practice before you present.
Core message
Loyalty programs already know the miles balance, the expiration window, and the seat availability. The problem is that context doesn't assemble fast enough to personalize the offer in the check-in moment. Redis changes that. Marcus has 8,200 miles expiring in 23 days, two business seats available, and a clear path to Platinum — and the right offer lands before the confirmation screen renders.
Suggested runtime
12–15 minutes

The Brief

Show how Redis assembles the Passenger 360 — miles balance, expiration urgency, upgrade eligibility, tier momentum, and seat inventory — fast enough to deliver a personalized upgrade offer at check-in instead of a generic banner. The decision is not whether an upgrade is available. The decision is whether this passenger, with this miles balance, with these miles expiring, with this seat availability window, should get the offer right now.

Demo Kickoff

Airlines already have the miles balance, the seat inventory, and the expiration data. The problem is that none of it assembles fast enough to change the offer before the check-in screen renders — so every passenger sees the same upgrade banner regardless of whether they have 500 miles or 50,000. What I'm going to show you is what happens when Marcus Webb's expiring miles, his open upgrade window, and his path to Platinum status all come together in under 12 milliseconds, and the right offer lands while he's still on the check-in screen.

Stage 1
Architecture

Say this exactly

At the top are the systems Apex Airways already has — the PNR, loyalty management, seat inventory, partner earn, revenue management, and event streams. None of them go away. RDI keeps passenger state and miles balance always fresh in Redis. Redis FeatureForm serves the loyalty features online. In the Unified Context Layer, Redis Context Retriever assembles the Passenger 360 — miles balance, tier status, expiration windows, seat availability — and exposes it as structured MCP tools for the decision engine. The output actions are four paths: miles upgrade, miles plus co-pay, bonus miles offer, or tier nudge. This is not a static upgrade banner. This is a ranked loyalty decision for each passenger.

Transition

Let me show you the specific passenger moment this decision serves.

Stage 2
Check-in Event

Say this exactly

Marcus Webb is a Gold-tier member with 47,200 miles. He has never redeemed them. He has 8,200 miles expiring in 23 days. He just checked in for AP-847, JFK to LAX, six hours before departure — and two business class seats are open. The upgrade window closes in two hours. Redis has under 12 milliseconds to assemble his Passenger 360 and surface the right offer before the confirmation screen renders. Most airlines would show Marcus the same banner they show every economy passenger. This demo shows what happens when they don't.

Transition

Let's look at how the data stays always fresh before the offer fires.

Stage 3
Ingest

Say this exactly

The ingest layer keeps everything always fresh. RDI synchronizes PNR state, miles balance, and seat inventory continuously — no batch jobs, no stale reads. Redis FeatureForm serves the upgrade propensity and expiration urgency features with train-serve parity. The seat inventory is real-time streaming — when a business seat is taken, Redis knows immediately. Context Retriever has already compiled the Passenger 360 schema and the MCP tools are ready before Marcus hits check-in.

Transition

This is where the three signals converge. Let me show you.

Stage 4
Context

Say this exactly

This is where the Passenger 360 comes together. On the left: Marcus's durable context. 47,200 miles — 22,200 above the upgrade threshold. He has never used his miles. Tier qualification: 14,800 EQM from Platinum, and a business class segment earns 1.5x EQM. On the right: the live flight context. 8,200 miles expire in 23 days — that's the urgency. Two business seats remaining. The upgrade window closes in two hours. Load factor is 94%, which means the revenue management signal favors converting this seat. Three signals converge: expiring miles, seats available, Platinum within reach. The right offer is obvious — if the system can see all three at once.

Transition

Now let's look at the features that feed the upgrade offer ranking.

Stage 5
Feature Serving

Say this exactly

These are the 52 features Redis FeatureForm serves in 1.7 milliseconds. Miles surplus at 0.89 — Marcus is well above threshold. Expiration urgency at 0.84 — 8,200 miles expiring in 23 days is a strong signal. Upgrade acceptance predictor at 0.71 — this is his first offer, so it's based on segment peers rather than personal history. Tier velocity at 0.68 — he's making progress toward Platinum but the pace is moderate. Seat yield at 0.77 — load factor supports the conversion. Co-pay sensitivity at 0.62 — the miles-only path is preferred given the surplus.

Transition

Here's the ranked decision that comes out of all of that context.

Stage 6
Decision

Say this exactly

The NBA ranker evaluates four paths. Miles upgrade wins at 83% confidence. The logic is clean: Marcus has 47,200 miles — 22,200 above threshold after upgrade. He has 8,200 expiring in 23 days. Two business seats remain and the window closes in two hours. Using 25,000 miles eliminates most of the expiration risk, earns 1.5x EQM toward Platinum, and converts a dormant loyalty member into an active one. The miles-plus-co-pay option is valid but the surplus makes it unnecessary. The generic banner is suppressed — it ignores all three converging signals.

Transition

Let's look at what this means for the airline's loyalty economics.

Stage 7
Business Impact

Say this exactly

The business case has two sides. Revenue: a business seat is filled at upgrade yield — better than leaving it empty. Loyalty: Marcus redeems miles for the first time, activating a previously dormant member and reducing expiration loss. The EQM acceleration means he's now closer to Platinum, which increases his future lifetime value. The number that's easy to overlook is the personalization lift — upgrade offers personalized to expiration urgency and tier context convert at a significantly higher rate than generic banners. Redis makes that personalization possible in the check-in window.

Transition

Here's the before and after — same passenger, completely different offer.

Stage 8
Outcome

Say this exactly

Left side: Marcus sees the same upgrade banner as every other economy passenger. It shows a cash price. His miles balance isn't shown. He ignores it, checks in, and his 8,200 miles continue toward expiry. Right side: the offer is built around Marcus. It shows his miles balance, the expiration window, the Platinum progress signal, and the seat availability urgency. He sees a reason to act — and he does. Same passenger, same data, completely different offer because Redis assembled the Passenger 360 in under 12 milliseconds.

Transition

Let me bring the architecture back up and close the loop.

Stage 9
Architecture Recap

Say this exactly

The systems stay exactly where they are. PNR, loyalty management, seat inventory, partner earn, and revenue management all remain the systems of record. Redis becomes the operational context layer between those systems and the loyalty decisioning stack. The Passenger 360 assembles in under 12 milliseconds. The offer is contextual instead of generic. That is the difference between a loyalty program that engages customers and one that accumulates unused miles until they expire.

Objections handling

Pacing guidance