The challenge
No product difference, and no price to move
Fuel is identical across the street and priced within cents of it. In several markets the government sets the pump price, so the group cannot move it at all. Drivers picked stations on convenience alone. Non-fuel revenue was a fraction of what the shop could do. And with nothing tying a fill to a person, the group had no data of its own on who was filling up where. Dealers, meanwhile, treated any loyalty scheme as a head-office cost that would slow the queue, the one thing a station operator will not accept.
The customer base made it harder. A large share of drivers carry feature phones and buy data by the megabyte, so an app-first program would have excluded the taxi and motorcycle segments that fill most often. And finance had no model for the liability: points are a promise to give away fuel, and nobody could say what was owed or who paid for it.
Across 17 African markets it compounded. Run country by country, the group had 17 programs, 17 sets of numbers and no single view of a customer.
- Differentiate without price - where the pump price is not the group's to move
- Enrol at the pump, on any phone - without adding a second to the transaction or assuming an app
- Grow the non-fuel basket - where the actual margin sits
- Align the dealer and the attendant - by paying both for the program's success
- Give finance a defensible liability - funded, reconciled and posted to the general ledger
- One view across 17 markets - instead of 17 that cannot be compared
The solution
One platform, wired into the forecourt
All 17 markets run on one Xoxoday Loyalife platform instead of a program each. Currency, language and earn rates are set per country, and each market's data can sit in its own region to satisfy local rules. The measures behind those settings stay common, so the group can compare one market with another and trust the comparison.
The design question was the queue. The forecourt step is one field: the attendant captures the vehicle tag and nothing else, and the driver completes the profile later, on the web or via USSD, paid for with bonus points. Everything else follows from that. Points earn per litre so a regulated price change does not move program cost, spend closed loop against the next fill or the shop, and settle a single fill across a voucher and cash together on the terminal. Fraud rules are written for a forecourt rather than a shopping mall. Dealers earn on volume growth and attendants earn on registrations, because the person holding the nozzle is the person who signs the driver up. And the points liability is funded as it is issued, so finance can state what is owed on any day.
- Tag-only enrolment and USSD - one field at the pump, then profile completion, balance checks and redemption by SMS voucher code on any handset
- POS integration and split payment - points post as the sale completes, and partial redemption lets a voucher pay cash close a single fill in one transaction
- Earning rules built for fuel - set per litre so price and currency moves do not shift program cost, then adjusted by grade and fill size
- Non-fuel accelerators - higher earn on the shop, the car wash, lubricants and car care
- Fuel-specific fraud rules - litres-per-day caps per tag, caps per product and attendant-level rules, with multi-level authorisation and a full audit trail
- Dealer and frontline incentives - dealer earning on volume growth, attendant leaderboards on registrations, litres, customers served and lubricants, plus station theme days and territory awards
- Launch and adoption mechanics - bonus points on registration and again on profile completion, road-show activations at high-volume sites, weekly station leaderboards
- HQ, dealer and station hierarchy - stations allocated to their dealer, with a price and points matrix per product per station
- Driver-type segmentation - taxi, motorcycle, consumer and fleet, with spend habit, fill frequency and product mix
- Settlement and liability model - account funded on issuance, redemptions paid from it, merchant invoicing and general ledger posting through ERP
- One ledger across markets - multi-currency wallet definition, data residency per region, and role-based dashboards by market and station
The results
More drivers known, more visits, bigger baskets
By month 18 of a 24-month rollout, 58% of fuel transactions were identified to a named driver. One field at the pump and USSD for feature phones, both running on Xoxoday Loyalife, are why it moved. Rollout ran as a 90-day pilot on 40 sites in one market, national in that market by month 8, then the remaining 16 markets in four waves.
Visit frequency among enrolled drivers rose 31% and basket value per visit rose 22%, with no cut to the pump price. Points spend only inside the network, so redeeming one brings the car back, and earning is weighted towards the shop, so the visit is worth more when it happens. Behind it, taxi, motorcycle, consumer and fleet now read as distinct segments in every market, so budget moves to the ones that earn.
Takeaway: fuel is a commodity and the price is often set by someone else. Knowing the customer is the only lever left, and it starts with enrolment, not earn rates.
58%
Of fuel transactions identified to an enrolled driver, month 18
31%
Increase in visit frequency among enrolled drivers
22%
Increase in basket value per visit
1,300+
Forecourts running one loyalty program