Real-Time Decisioning Demo | Airline Loyalty Decisioning
Pipeline<12ms
1 / 9
1
Architecture
2
Check-in Event
3
Ingest
4
Context
5
Feature Serving
6
Decision
7
Business Impact
8
Outcome
9
Architecture Recap
Stage 1: The Architecture
Sub-12ms loyalty decisioning at the check-in and booking moment
Miles balance, tier status, seat inventory, partner earn history, and expiration windows must converge before the check-in surface renders. Redis assembles the Passenger 360 so the right loyalty offer reaches the right passenger at the right moment — not a generic upgrade banner for everyone.
Data Sources

Passenger Name Record (PNR)

Booking details, seat assignment, SSR codes, itinerary

Loyalty Management System

Miles balance, tier status, earn/burn history, qualification progress

Seat Inventory System

Real-time seat map, availability, fare class buckets, upgrade inventory

Partner Earn System

Credit card partner transactions, hotel, car rental pending miles

Revenue Management

Dynamic upgrade pricing, load factor, co-pay calculations, yield targets

Kafka / Event Stream

Check-in events, booking events, flight status changes, gate activity

Ingest Layer

Redis Data Integration (RDI)

Syncs PNR, loyalty state, and seat inventory into Redis — always-fresh context

Redis FeatureForm

Serves passenger loyalty features and upgrade propensity scores online

Unified Context Layer

Redis RAM

Hot check-in state, live seat inventory, active upgrade window

Redis Flex

Miles history, tier qualification trajectory, partner earn records

Redis FeatureForm

Feature store — miles balance, upgrade propensity, expiration urgency, tier velocity features

Redis Context Retriever

Assembles the Passenger 360 — miles balance, tier status, upgrade eligibility, expiring miles, and seat availability — and exposes it as structured MCP tools for the decision engine

Decision Engine

NBA Ranker

Ranks upgrade, co-pay, bonus, and tier offers by expected value and acceptance probability

Upgrade Eligibility Rules

Miles threshold, tier requirements, inventory constraints, blackout rules

Revenue Arbitration

Yield trade-off between upgrade revenue, seat fill, and loyalty engagement value

Redis Search

Peer segment matching and historical offer acceptance similarity

Output Actions

Miles Upgrade

Full upgrade offer using loyalty miles

Miles + Co-pay Upgrade

Partial miles plus cash co-pay option

Bonus Miles Offer

Earn bonus miles on this segment — no upgrade

Tier Nudge

Progress notification — miles to next tier status

Decision Target
<12ms
Primary Goal
Loyalty engagement + upgrade revenue
Redis Role
Passenger 360 in real time
Stage 2: Check-in Event
Marcus Webb checks in for AP-847 — six hours before departure, two business seats remain
Marcus is a Gold-tier member with 47,200 miles and 8,200 of them expiring in 23 days. Two business class seats are open on his flight. The upgrade window is active. Redis has under 12 milliseconds to assemble his Passenger 360 and surface the right offer before the check-in confirmation screen renders.
Check-in Event
MW
Marcus Webb
Gold Status | 47,200 miles | AP-847 JFK → LAX
UPGRADE ELIGIBLE
Eventcheckin_initiated
FlightAP-847 JFK → LAX — 06:15 departure, 6h 02m
Current seatEconomy 24C — confirmed
Business class availability2 of 14 seats open
Upgrade windowActive — closes T-4 hours (2 hours remaining)
Miles balance47,200 — 22,200 above upgrade threshold
Expiring miles8,200 miles expire in 23 days
Why This Moment Matters
Marcus has enough miles to upgrade twice over. But he has never used them. He has 8,200 miles expiring in 23 days — a clear urgency signal. Two business class seats are open and the upgrade window closes in two hours. Redis assembles all of this before the check-in confirmation screen renders.
Without Redis, Marcus sees the same generic upgrade banner as every other passenger. With Redis, the offer is personalized: use your miles before they expire, get the upgrade you've earned, and earn the EQM that accelerates your path to Platinum.
Stage 3: Ingest
PNR, loyalty, seat inventory, and partner data flow into Redis
RDI keeps passenger state, miles balance, and seat inventory always fresh. Redis FeatureForm serves the online loyalty features. The Passenger 360 is ready before the first decision request arrives.
Redis Data Integration (RDI)Redis FeatureForm
Systems → Redis
PNR
Passenger Name Record
Booking details, seat assignment, SSR codes, itinerary state
LMS
Loyalty Management System
Miles balance, tier status, earn/burn history, EQM qualification progress
INV
Seat Inventory System
Real-time seat map, business class availability, fare buckets, upgrade inventory
PRT
Partner Earn System
Credit card pending miles (3,400), hotel and car rental transactions
REV
Revenue Management
Dynamic upgrade pricing, load factor signal, co-pay yield calculations
KFK
Kafka / Event Stream
Check-in events, flight status updates, gate activity feeds
Pipeline Status
PNR state syncAlways-fresh — RDI
Miles balance syncSub-second — RDI
Seat inventory syncReal-time — streaming
Partner miles pending3,400 from credit card
Redis FeatureForm parity100%
Decision modeInline check-in context
Stage 4: Context
Expiring miles, upgrade inventory, and tier momentum converge on one offer
The Passenger 360 surfaces three converging signals: Marcus has miles he has never used, 8,200 of them expire in 23 days, two business seats remain, and he is 14,800 EQM from Platinum. The right offer is obvious — if the system can assemble this context fast enough.
Redis RAMRedis FlexRedis Context Retriever
Durable Passenger Context
Loyalty tierGold — 3-year continuous member
Miles balance47,200 — threshold for upgrade: 25,000
Miles above threshold22,200 available after upgrade
Tier qualification14,800 EQM from Platinum — upgrade earns EQM
Partner pending3,400 miles from credit card (not yet posted)
Upgrade history3 upgrade offers received — 0 accepted (never used miles)
Live Flight Context
Miles expiring8,200 expire in 23 days — urgent use signal
Business availability2 seats — upgrade inventory closing
Upgrade window2 hours remaining before window closes
Upgrade price25,000 miles OR 12,000 miles + $89 co-pay
Load factor94% — favorable yield signal for upgrade conversion
EQM on upgradeBusiness earns 1.5x EQM — accelerates Platinum path
Context signal: Redis Context Retriever assembles the Passenger 360 — miles balance, expiration timeline, seat inventory, and tier momentum — so the decision engine has exactly the context it needs. Three signals converge: miles expiring, seats available, Platinum within reach.
Stage 5: Feature Serving
Loyalty features hydrate in milliseconds — expiration urgency, upgrade propensity, tier velocity
Redis FeatureForm serves the online features that drive upgrade offer ranking: miles surplus, expiration urgency, historical upgrade acceptance, tier momentum, seat yield, and co-pay sensitivity.
Redis FeatureForm
miles_surplus_score
Miles above upgrade threshold as a ratio of balance (0 = threshold, 1 = 2x threshold)
0.890.3ms
expiration_urgency_score
Urgency signal based on expiring miles volume and timeline
0.840.4ms
upgrade_acceptance_predictor
Predicted probability of accepting an upgrade offer given context
0.710.5ms
tier_velocity_score
Pace toward next tier relative to qualification window and remaining segments
0.680.3ms
seat_yield_score
Revenue value of converting this seat given load factor and upgrade pricing
0.770.4ms
copay_sensitivity_score
Predicted preference for miles-only vs. miles-plus-cash offer
0.620.3ms
52
Features Hydrated
1.7ms
P99 Lookup
100%
Train/Serve Parity
Stage 6: Decision
Miles upgrade wins — expiring miles, open seats, and Platinum momentum all align
The NBA ranker evaluates four offer paths against the Passenger 360. The miles-only upgrade wins because all three urgency signals point the same direction.
#1 Winner
MILES UPGRADE
Upgrade to business class — 25,000 miles, 2 hours to decide
Marcus has 47,200 miles and 8,200 expiring in 23 days. Two business class seats remain. Upgrading uses miles before expiry, earns 1.5x EQM toward Platinum, and converts an economy seat to a higher-yield booking.
NBA score0.83
#2
MILES + CO-PAY
12,000 miles + $89 co-pay upgrade option
Useful if miles_surplus_score were lower. Here, Marcus has ample miles and the urgency signal favors the miles-only path — using more miles now reduces expiration loss.
NBA score0.61
Suppressed
GENERIC BANNER
Standard upgrade available messaging
This is the offer every passenger sees regardless of context. It misses the three signals that make Marcus's moment actionable: expiring miles, seat availability, and Platinum proximity.
NBA score0.09
Stage 7: Business Impact
Loyalty revenue protected, upgrade seat filled, and miles expiry converted to engagement
Contextual upgrade offers convert expiring miles into revenue, fill high-yield seats, and deepen loyalty engagement — without replacing the airline's existing systems.
Operational Value
Upgrade revenueBusiness seat filled at upgrade yield rate
Miles expiry converted25,000 miles redeemed — 8,200 expiry risk reduced
Seat utilizationEconomy seat freed for resale or last-minute upgrade
Loyalty engagementFirst upgrade redemption — activates previously dormant miles user
EQM accelerationMarcus earns 1.5x EQM — Platinum path shortened
Offer relevancePersonalized to expiration urgency — vs. generic banner for all
Loyalty Conversion
generic banner
same offer / all passengers
converted
contextual offer / right moment
Stage 8: Outcome
Same passenger. Same miles. A contextual offer instead of a banner.
Without Redis, Marcus sees the same upgrade banner as every economy passenger. With Redis, the offer is built around his expiring miles, his seat availability window, and his path to Platinum.
Generic Loyalty Experience
APEX AIRWAYS
CHECK-IN
MW
Marcus Webb
Economy 24C — AP-847 JFK→LAX
Upgrade offer
Business class available — upgrade from $299
Miles balance
Not shown — cash upgrade only displayed
Personalization
None — same offer shown to all passengers
ignored
offer
unused
miles expire
missed
conversion
Redis-Powered Loyalty
APEX AIRWAYS
UPGRADE OFFERED
MW
Marcus Webb
Gold — 47,200 miles — Passenger 360 assembled
Upgrade offer
Business class — 25,000 miles, 2 seats left
Use your miles before 8,200 expire in 23 days. Earn 1.5x EQM — only 14,800 from Platinum.
Why this wins
Expiring miles + open seats + Platinum path converge
Passenger 360 assembled in <12ms. 52 features. 0.83 confidence.
83%
confidence
<12ms
decision
converted
upgrade
Stage 9: Architecture Recap
Redis becomes the loyalty context engine between existing airline systems
PNR, loyalty management, seat inventory, and partner earn systems stay in place. Redis assembles the Passenger 360 fast enough to influence the check-in and booking moment with a contextual offer instead of a generic banner.
Data Sources

Passenger Name Record (PNR)

Booking details, seat assignment, SSR codes, itinerary

Loyalty Management System

Miles balance, tier status, earn/burn history, qualification progress

Seat Inventory System

Real-time seat map, availability, fare class buckets, upgrade inventory

Partner Earn System

Credit card partner transactions, hotel, car rental pending miles

Revenue Management

Dynamic upgrade pricing, load factor, co-pay calculations, yield targets

Kafka / Event Stream

Check-in events, booking events, flight status changes, gate activity

Ingest Layer

Redis Data Integration (RDI)

Syncs PNR, loyalty state, and seat inventory into Redis — always-fresh context

Redis FeatureForm

Serves passenger loyalty features and upgrade propensity scores online

Unified Context Layer

Redis RAM

Hot check-in state, live seat inventory, active upgrade window

Redis Flex

Miles history, tier qualification trajectory, partner earn records

Redis FeatureForm

Feature store — miles balance, upgrade propensity, expiration urgency, tier velocity features

Redis Context Retriever

Assembles the Passenger 360 — miles balance, tier status, upgrade eligibility, expiring miles, and seat availability — and exposes it as structured MCP tools for the decision engine

Decision Engine

NBA Ranker

Ranks upgrade, co-pay, bonus, and tier offers by expected value and acceptance probability

Upgrade Eligibility Rules

Miles threshold, tier requirements, inventory constraints, blackout rules

Revenue Arbitration

Yield trade-off between upgrade revenue, seat fill, and loyalty engagement value

Redis Search

Peer segment matching and historical offer acceptance similarity

Output Actions

Miles Upgrade

Full upgrade offer using loyalty miles

Miles + Co-pay Upgrade

Partial miles plus cash co-pay option

Bonus Miles Offer

Earn bonus miles on this segment — no upgrade

Tier Nudge

Progress notification — miles to next tier status

Decision Target
<12ms
Primary Goal
Loyalty engagement + upgrade revenue
Redis Role
Passenger 360 in real time