Product · Loyalty & Retention

Retail loyalty where the economics are engineered.

Points, offers and personalisation for retail — earn rates tied to margin, offers targeted by prediction, uplift measured against holdouts.

RetailModules
01Flexible earn & burn
02Offer engine
03Next-best-action
04Omnichannel identity
05Coalition-ready
06Liability control
How it runs
  1. Model the programme
  2. Integrate POS, web and app
  3. Migrate balances
  4. Launch
  5. Measure & optimise
Why it fits retail

Retail loyalty has one simple failure mode.

Retail loyalty has a simple failure mode: the programme drives baskets, and the margin goes with them. Earn rates set once and never revisited. Offers sprayed at everyone because targeting is hard. Uplift reported against last year, so nobody can say whether the campaign worked or the weather did. And a points liability that finance re-computes in a spreadsheet each quarter because the system’s number is not one they would sign.

Loyalty & Retention for Retail is built so the economics are visible while the programme runs. Earn rates and offer budgets tie to product margin. Offers go to members chosen by prediction, with a budget, a frequency cap and a holdout. Uplift is measured against that holdout, so the number you report is measured, not assumed. And liability is a report over the ledger, reconciled to the transaction.

The retail configuration ships pre-built: tiers, offers, receipts integration, POS patterns. Existing points balances migrate with reconciliation, and the engine is sized against your own peak-day traffic shape before launch. It runs on the same engine as the other configurations.

Modules

Six modules, configured for retail economics.

Every module works from one member record and one ledger, whether the transaction came from a till, the web checkout or a coalition partner.

01

Flexible earn & burn

Points, stamps, cashback or hybrid — rules by category, margin band and channel. Earn rates are versioned and simulated on historical baskets before they go live, so a change is a decision with a number attached.

PointsStampsMargin band
02

Offer engine

Targeted offers with budgets, caps and A/B measurement built in — no more spray-and-pray. Every offer carries a budget, a frequency cap, an eligibility rule and a holdout group; the engine enforces all four at send time.

BudgetsCapsA/B
03

Next-best-action

Prediction models choose the offer, channel and moment per member. Scores refresh regularly; the rules that turn a score into an action are readable and editable by the programme team.

MLChannelTiming
04

Omnichannel identity

One member across store, web and app — POS integration patterns included. Receipts, returns and basket lines resolve to the same identity, and returns reverse the points they earned.

POSE-commerceApp
05

Coalition-ready

Multi-brand and mall programmes with shared currency and clean partner settlement. Each brand has its own earn rates, caps and settlement calendar; the ledger nets the period out.

Multi-brandMallSettlement
06

Liability control

Points liability tracked and reportable down to the transaction — expiry policy as configuration. Liability by expiry bucket, breakage and partner-funded points are reports over the ledger, not estimates.

LiabilityExpiryBreakage
Features

What it does, in detail.

01

Earn rates that know the margin.

A flat earn rate gives the same reward on a loss-leader and a high-margin private label. In Loyalty & Retention the earn rule reads the category and margin band of every basket line, so the programme rewards the behaviour you want and stops subsidising the one you don’t. Change a rate, simulate it on last quarter’s baskets, see the points issued and the margin effect, then schedule it — and the analytics show which is happening once it is live. The rules shown here are examples.

  • Rules by category, margin band, channel, brand and time window
  • Simulation on historical baskets before any rate goes live
  • Returns reverse the points they earned, automatically
Margin band A (> 35%)Earn 3 points per unit of spend
Margin band B (20–35%)Earn 2 points per unit of spend
Margin band C (< 20%)Earn 1 point, no promotional multiplier
Private label, any band+1 point per unit of spend
Channel = app, first orderDouble points, budget-capped

Example rules. Yours are configured with you.

02

Offers with a budget, a cap and a control group.

Spray-and-pray is expensive twice: once in discount, once in not knowing. Every offer in the engine has a budget it cannot exceed, a frequency cap per member, an eligibility rule, and a holdout that receives nothing. When the campaign closes, the report shows uplift against that holdout, which is why the number can be trusted.

  • Budget and cap enforcement at send time, not in a post-mortem
  • A/B variants and holdouts on every campaign by default
  • Uplift in repeat purchase, basket size and margin, not only redemptions
03

Next-best-action, per member, per moment.

The prediction models score every member for churn risk, category affinity and likely next visit. Next-best-action turns those scores into a choice: which offer, which channel and when — a push on Thursday evening for the member who shops on Fridays, an email for the one who never opens the app. Consent is checked at send time; a withdrawn consent stops the message and nothing else.

  • Churn, affinity and visit-timing models trained on your transaction history
  • Channel and moment chosen per member, with preference honoured
  • Consented data only, KVKK / GDPR-clean flows, suppression at send time
04

A liability number finance can trace.

Every point on the ledger carries the rule version that issued it, the cost basis, the funding party and its expiry date. Liability by expiry bucket, breakage and partner-funded points are reports over that ledger, reconciled to the transaction. Expiry policy — rolling, fixed, activity-based — is configuration, and a change is simulated for its liability effect before it is scheduled.

  • Liability by currency, brand, partner and expiry bucket
  • Breakage estimated from observed behaviour, restated each period
  • Audit trail on every movement, exportable to your GRC tooling
By role

One programme, four seats.

Loyalty & CRM

Run campaigns without opening a ticket.

Segments, offers, earn rates and tiers are edited, simulated and scheduled in the console. Every change is versioned and attributable, so the programme moves at trading speed and stays auditable.

  • Simulate an earn-rate change on last quarter’s baskets
  • Schedule offers and rule versions to a date and time
  • Uplift, redemption and margin effect on one screen
Finance

Close the quarter from the system.

Liability, breakage and partner settlement are reports over the ledger, reconciled to the transaction. The points number in the accounts is the same number the programme team sees, because there is only one.

  • Liability by expiry bucket, brand and partner
  • Settlement statements per coalition partner and period
  • Audit trail exportable to your GRC tooling
Store operations

Built to keep the till moving.

Earn and burn at the point of sale are a single call with a strict latency budget. If the network is out, the till queues the transaction and the engine applies it idempotently when it returns — designed to prevent double credits and lost points.

  • POS patterns for earn, burn and identification at the till
  • Offline queue with idempotent replay
  • Staff view of member tier and available offers
Engineering

Receipts in, ledger events out.

POS, e-commerce and app transactions arrive over Kafka or webhooks; the engine consumes them idempotently and publishes ledger events back. OpenTelemetry traces run from the till to the balance update.

  • Versioned REST and event APIs for POS, web and app
  • Sandbox tenant with replayable sample traffic
  • Runbooks, SLOs and dashboards shared with your ops centre
Architecture

Where it sits in a retail estate.

Retail estate
POSE-commerceMobile appReceiptsCoalition partners
APIs & events
REST & GraphQLKafka topicsWebhooks
Core
Points ledgerEarn rulesOffer engineNext-best-actionPartner settlementLiability reporting
Data & operations
PostgreSQLKafkaRedisOpenTelemetryPrometheus & GrafanaWarehouse export
Capability matrix

What ships in the retail configuration.

CapabilityIn the platformConfigured per retailer
Points, stamps, cashback and hybrid currencies
Earn rules by category, margin band and channel
Offer budgets, caps, A/B and holdouts
Next-best-action modelsTrained on your data
Omnichannel identity across store, web and app—
POS and receipts integration patterns
Coalition and mall programmes with settlement
Liability, breakage and expiry reporting—
Consent management, KVKK / GDPR flows
Balance migration with reconciliation
Custom connectors—Built by our services team
OperationsBy Odeontech, at hours agreed with youYour ops centre, optional
Integrations

Connectors for the retail estate.

POS

Earn, burn and identification at the till; offline queue with idempotent replay

E-commerce platforms

Checkout earn and burn, basket lines by category, returns reversal

Receipts & ERP

Line-level receipts with margin band; product master for category rules

Mobile app & wallet

Balance, tier, offers and digital card; push delivery

Coalition partners

Partner earn and burn at partner rates, portal and settlement statements

Marketing platforms

Segment sync and delivery through email, push and SMS providers

Consent & identity

Consent state per member honoured at send time

Data warehouse & BI

Ledger events to your warehouse; Power BI and Grafana models

Implementation

Steps to launch.

01

Model the programme

Currencies, tiers, earn rules by category and margin band, expiry policy and offer templates are configured against your current programme. Retail configuration ships pre-built, so this is adjustment, not construction.

02

Integrate POS, web and app

Receipts and transactions flow into a sandbox tenant with your real traffic shape. Identity is resolved across store, web and app, and returns reversal is tested against history.

03

Migrate balances

Existing points balances migrate with reconciliation: every member’s balance is matched to the legacy record and the differences are explained before cutover.

04

Launch

Go live behind your brand, store by store or all at once. The engine is load-tested on your own traffic shape, with headroom agreed for peak days, before the first real trading day.

05

Measure & optimise

Campaigns run with holdouts, models retrain on your data, and the programme is operated by the team that built it, to SLOs and incident cover agreed with you according to your needs.

FAQ

Frequently asked questions

Earn rates and offer budgets tie to product margin, so the programme is built to drive baskets without giving the quarter away. Every basket line carries its category and margin band into the earn rule, and the analytics show which is happening — points issued, margin effect and uplift are on the same report.
It depends on the scope; the plan and milestones are agreed with you according to your needs. Retail configuration ships pre-built: tiers, offers, receipts integration, POS patterns. Existing points balances migrate with reconciliation. The implementation plan on this page shows the typical shape: configure, integrate the till and the web checkout, migrate balances, launch.
Against a holdout. Every campaign has a control group that receives nothing, and uplift in repeat purchase, basket size and margin is reported against it.
It is designed to be. Targeting runs on consented data with KVKK / GDPR-clean flows — consent state is checked at send time and a withdrawal suppresses marketing. See security & compliance for the controls.
The engine is sized for your peak day, and we load-test against your real traffic shape in the sandbox tenant before launch. Earning and redemption are separate services, so a receipts backlog does not slow a member at the till or in the app.
Yes — coalition-ready. Multiple brands share a currency with their own earn rates, caps and settlement calendars, and the ledger produces a settlement statement per partner and period.
Points liability tracked and reportable down to the transaction — by expiry bucket, brand and partner — with expiry policy as configuration and an audit trail on every movement.

See it on your own data.

A guided demo with an engineer who operates the platform — configured toward your programme, not a canned deck.

✓ No pitch deck✓ Reply from an AI-native engineer✓ Written follow-up