Real Repeat Rate

How do I calculate my car wash real repeat-customer rate?

Real repeat-customer rate divides distinct visit-day customers by total enrolled, deduped by phone number — here's the exact formula and a worked example.

Waya TeamUpdated 6 September 20266 min read
car-washnumbers

The short answer: distinct visit-days, deduped by phone number, over total enrolled

A car wash's real repeat-customer rate is the number of customers scanned on two or more distinct calendar days, divided by total enrolled customers — using each customer's phone number as the dedupe key, since that's the one field guaranteed unique per Waya card. Counting total scans instead of distinct visit-days badly overstates the number, since one customer scanned three times in one day looks identical to three separate customers scanned once each if you're not careful about the distinction.

This matters because the difference between a real repeat-customer rate and an inflated one is usually the gap between a wash that thinks its program is working and one that's misreading its own dashboard.

A worked example

The naive calculation on the left isn't a rate at all — dividing total scans by enrolled customers produces an average-scans-per-customer number, which is easy to mistake for a return rate but measures something completely different.

Real repeat-customer rate, worked example
MetricNaive countCorrect count
Total scans this month540540
Distinct enrolled customers300300
Customers with 2+ distinct visit-daysNot tracked78
Real repeat-customer rate540 / 300 = 1.8 (meaningless)78 / 300 = 26%

Calculating it correctly, step by step

Five steps replace the naive division above with a number that actually reflects repeat behavior.

  1. Pull the customer profile dashboard's visits view

    This tracks distinct visit-days per customer already, rather than raw scan counts.

  2. Count customers with 2+ distinct visit-days

    A customer scanned twice in one afternoon still counts as one visit-day, not two.

  3. Divide by total enrolled customers

    This gives the real repeat-customer rate as a percentage.

  4. Compare against the 24-27% benchmark

    See the full return-rate benchmark for how Waya's self-reported range applies to car washes and salons that scan consistently.

  5. Re-run monthly, not once

    The rate shifts as enrollment grows and as more customers pass the point where a second visit was even possible.

Common counting mistakes to avoid

These mistakes show up often enough on car wash dashboards that it's worth checking for all four before trusting a number that looks surprising.

  • Dividing total scans by enrolled customers instead of counting distinct visit-days per customer
  • Including customers enrolled too recently to have had a realistic chance at a second visit
  • Not deduping by phone number, which can double-count a customer who re-scanned a lost or reissued card
  • Comparing your rate against a competitor's self-reported number that may use a different definition entirely

Why phone number is the right dedupe key

Every Waya card is tied to a customer's phone number at enrollment, since that's the field customers fill in on the short sign-up form before tapping Add to Wallet. Using it as the dedupe key avoids accidentally counting the same person twice if their card was reissued or if they enrolled again after losing access to their original wallet pass.

Names alone aren't reliable for this, since common names repeat across a customer base large enough to matter.

Doing this on the Free plan before scaling up

With up to 100 customers on Free, the correct-counting method above is easy to sanity-check by hand if the dashboard number looks off — a small enough base that a manual spot check of a handful of customers' visit history is realistic. That's worth doing once, early, so you trust the number once your base grows past what's practical to check manually on Growth or Premium, especially once you're also tracking your fill-up speed toward the 100-customer ceiling.

One thing no counting method can fix

However carefully the rate is calculated, it can only reflect visits that were actually scanned — Waya has no POS or till integration, so an unscanned repeat visit is invisible to every formula on this page, not undercounted but genuinely absent from the data. There's also no SMS channel; nothing about this counting method depends on it, since every trigger here reads from scan data, not message delivery.

Frequently asked questions

What is the correct formula for a car wash's real repeat-customer rate?

Customers scanned on two or more distinct calendar days, divided by total enrolled customers, deduped by phone number. Dividing total scans by enrolled customers instead produces a meaningless average, not a rate.

Why does total scans divided by customers give the wrong number?

It measures average scans per customer, not the share of customers who returned. A customer scanned three times in one day inflates that number without reflecting any actual repeat visit.

Should recently-enrolled customers count against my repeat-customer rate?

Be cautious including them — a customer enrolled last week hasn't had a realistic chance at a second visit yet, and including them can understate your real rate.

Why dedupe by phone number instead of name?

Phone number is the field every Waya card is tied to at enrollment and is far less likely to collide across customers than a name, which can repeat across a large customer base.

Can I calculate this on the Free plan?

Yes, and it's easier to sanity-check manually with up to 100 customers on Free before your base grows large enough on Growth or Premium that manual spot-checks become impractical.

Put Waya on your counter — free forever up to 100 customersStart free at 0 SAR
Start free at 0 SAR