Silent Monograph

RevPoints

A single-subject case study on designing a customer loyalty program that earns trust quietly and pays for itself by the third year.

01 - Project Overview

Overview

RevPoints is a loyalty program for a mid-market retail chain that had been losing repeat customers to bigger competitors. The brief was not to copy a points club. It was to design a program that felt fair, explained itself, and made the business case in plain numbers.

Client
Mid-market retail chain, 142 stores
Scope
Program design, rules engine, ledger, reporting
Duration
Nine weeks, two delivery cycles

02 - Problem Statement

Problem

Customers could not tell what a point was worth, points expired with no warning, and staff could not answer a single question about the program on the shop floor. Trust was the real problem, expressed as churn.

03 - Task & Goals

Task & goals

04 - Process & Insights

Process & insights

We ran shadowing sessions at the till, where the most common staff question was "I don't know, it should have added up." That one line drove the whole design: the system earns points at the moment of payment, prints the running total on every receipt, and explains a tier change before it happens, not after.

05 - Technical Note

Technical code box

Program schema (JSON)

{
  "program": {
    "name": "RevPoints",
    "currency": "points",
    "unit_value": 0.01,
    "expiry": { "months": 12, "grace_days": 7 },
    "tiers": [
      { "id": "silver",   "threshold": 0,      "multiplier": 1.00 },
      { "id": "gold",     "threshold": 25000,  "multiplier": 1.25 },
      { "id": "platinum", "threshold": 75000,  "multiplier": 1.50 }
    ],
    "rules": {
      "earn": {
        "per_payment": "round(spend * multiplier)",
        "signup_bonus": 500
      },
      "burn": {
        "min_redemption": 5000,
        "value_per_point": 0.01
      }
    }
  }
}

Flow (ASCII)

Checkout        Ledger          Tier          Receipt
+--------+      +---------+     +--------+
| Card   |---->| earn   |--->| rules |---> shown
| tap or |      | write   |     +---|----+
| number |      +---------+         |
+--------+                          | trigger
                           +---------v--------+
                           | tier change note |
                           +------------------+

06 - Results

Results

07 - Hindsight

Hindsight

The tier engine was the part we were proudest of and the one we should have built first. A few weeks of early prototyping against real receipts would have saved a full integration cycle. Fairness, it turns out, is mostly a system that can explain itself.


Silent Monograph - RevPoints