Free resource · use it on this page

Customer Retention Dashboard

A repeat-visit and redemption KPI template for measuring what your loyalty program actually changed, against a real baseline.

Why the baseline comes first

The point of a loyalty program is incremental behavior: visits, redemptions, and spend that would not have happened anyway. The only way to see incrementality is to compare against a baseline you captured before the program launched. Without one, every number on your dashboard is unanchored — a 40% repeat rate means nothing if you never knew what it was before.

Capture the baseline over four to eight typical trading weeks. Skip holiday periods, closures, and one-off promotions; you want boring, representative weeks. If you have already launched, you can still build a baseline from historical POS data for the months before launch — imperfect, but far better than nothing.

One honesty rule before you start: your best customers join first. Comparing enrolled members against non-members will always flatter the program, because the people who sign up were already your regulars. The fairer comparisons are the same customers before and after enrollment, or whole-store metrics against the pre-launch period. This template is built around the second, because every business can do it with a POS report.

Everything below works directly on this page. Fill in the baseline worksheet, track the KPI tables at the cadence shown, score lift on the scorecard, and run the monthly ritual. Print the page if you prefer working on paper — the write-in lines are there for exactly that.

Baseline worksheet — fill in before launch

These eight numbers are your fixed reference point. Write them once, then treat them as read-only.

Baseline window (start and end dates)

Four to eight typical trading weeks; exclude holidays, closures, and one-off promotions

Transactions per week (average)

Straight from your POS, averaged across the window

Unique customers identified per week

However you identify them today — phone, name, card. If you cannot identify customers yet, write 'none' and rely on the whole-store rows

Repeat visit rate

Of identified customers, the share with two or more visits inside the window

Median days between visits

For customers with two or more visits. Use the median — a few super-fans will distort the mean

Average ticket

Total revenue divided by transaction count for the window

Reward redemptions per week

From any existing punch card or informal scheme; write 0 if none

Known confounders

Price changes, menu changes, nearby construction, seasonal swings — anything future-you should remember when reading a change

Repeat-visit KPIs

The behavior side of the dashboard. Each formula uses a rolling 30-day window unless the row says otherwise.

KPIFormulaCadenceWatch out for
Active membersMembers with at least one visit in the last 30 daysWeeklyTotal signups is a vanity number; only active members predict revenue
Repeat visit rateMembers with 2+ visits in 30 days, divided by active membersMonthlyDefine a visit once (a completed transaction) and never change the definition mid-year
Visit frequencyMember visits in 30 days, divided by active membersMonthlyA handful of heavy users drags the average up; sanity-check against the median
Median days between visitsMedian gap between consecutive visits, per member, then take the median across membersMonthlyA shrinking gap is the single clearest repeat-behavior signal you have
90-day retentionMembers from one signup month with any visit in days 61-90 after joiningMonthly, by cohortAlways read by signup cohort; blended retention hides decay in recent cohorts
Lapsed membersMembers with no visit in the last 60+ days, divided by all membersMonthlyPick 60 days for frequent-visit businesses and 90+ for long-cycle ones, then keep it fixed
Member share of transactionsMember-attached transactions divided by all transactionsWeeklyGrowth here can mean capture improved, not behavior — read it alongside whole-store transaction volume

Redemption KPIs

Redemption is not a cost center to minimize — members who redeem are members who come back. These rows measure whether your earn-and-redeem loop is actually turning.

KPIFormulaCadenceWatch out for
Redemption rateRewards redeemed, divided by rewards earnedMonthlyA very low rate means the reward is not motivating or is too hard to claim — it is a problem, not a saving
Time to first rewardMedian days from signup to first redemptionMonthly, by cohortIf most members never reach their first reward, the earn threshold is set too far away
Post-redemption return rateMembers with a visit within 30 days after redeeming, divided by members who redeemedMonthlyThis is the loop that matters: redeem, return, repeat. If it is weak, the reward ends the relationship instead of extending it
Stamp or point velocityStamps or points earned per active member per 30 daysMonthlyFalling velocity comes before lapse; it is your earliest warning light
Outstanding reward liabilityEarned-but-unredeemed rewards, multiplied by reward costMonthlyThis is real money owed to members; a spike after a promotion is normal, but budget for it
BreakageRewards expired unredeemed, divided by rewards earnedQuarterlyHigh breakage flatters this quarter's margin while telling you the loop is broken
Pass install rateInstalled wallet passes, divided by install invitations sentWeeklyOnly applies to wallet-pass programs (PushNotice or similar); an installed pass is a member you can actually reach without paying per message

Incremental lift scorecard

Copy your baseline numbers in, add the latest 30 days, and answer the last column before drawing any conclusion. The write-in lines are for printing and filling in by hand.

MetricBaselineCurrent 30 daysChangeBefore you credit the program
Transactions per week________________________Same season as the baseline window? Weather, local events?
Repeat visit rate________________________Did customer identification improve, rather than behavior?
Median days between visits________________________Same mix of weekdays and trading hours as baseline?
Average ticket________________________Any menu, pricing, or product changes since baseline?
Redemptions per week________________________Is a recent promotion or double-stamp event inflating this?
Member share of transactions________________________Rising because members visit more, or because more regulars simply enrolled?

Data hygiene — what makes these numbers trustworthy

Run this once at setup and again whenever a number looks too good.

  • One written definition of a visit

    A completed transaction, not a scan or a walk-in; changing it mid-year breaks every trend line

  • One customer identifier

    Phone, email, or pass serial — pick one; a customer with two identifiers is counted as two customers

  • Staff and test accounts excluded

    Your own testing otherwise shows up as your most loyal customer

  • Timezone fixed in reports

    A shifting day boundary silently moves visits between days and weeks

  • Redemptions recorded at the till

    Logged in the same moment as the sale, not batched at closing from memory

  • Lapse threshold chosen and frozen

    Whatever number you picked in the KPI table, do not move it to make a month look better

  • Baseline stored read-only

    Ink on paper or a locked cell; a drifting baseline is the most common self-deception in retention reporting

  • Program changes annotated with dates

    Reward changes, promos, and price rises written on the dashboard so future steps in the trend have an explanation

  • Median reported alongside mean

    For visit gaps and frequency; a few super-fans make averages lie

  • Retention read by signup cohort

    Blended retention always looks better than the truth because early loyalists dominate it

The monthly review ritual — 20 minutes

The dashboard only works if reading it is a habit. Same day, same order, every month.

  1. 1

    Pull the numbers on the same day each month

    Consistency beats precision. The first Monday works well; a wandering review date adds noise you will misread as signal.

  2. 2

    Fill the lift scorecard against the baseline

    Not against last month. Month-over-month tells you about seasonality; only baseline comparison tells you about incrementality.

  3. 3

    Answer every confounder prompt

    Before celebrating or panicking, name one non-program explanation for each change and check whether it holds. If it does, the program does not get the credit or the blame.

  4. 4

    Read one cohort closely

    Take last quarter's signup month and check its 90-day retention and time to first reward. Cohorts show you decay that blended numbers hide.

  5. 5

    Pick exactly one action

    One lever per month: adjust the earn threshold, change the reward, or send a win-back to lapsed members. Change several things at once and next month's numbers are unreadable.

  6. 6

    Log the decision and the date

    Write it on the dashboard itself. In six months, the annotations will explain every step in your trend — or reveal which changes did nothing.

From the guide: Free Loyalty Software: The 2026 Guide

This resource accompanies the full article — worth reading before you commit to a tool.