If you've already tracked how many of your customers come back (your repeat-customer rate), the next question is what a repeat customer is actually worth in dollars. This worksheet answers that with your own numbers: visit frequency, the period you observed it over, your average revenue per visit, and your direct cost to deliver that visit. It produces two separate figures — a revenue-based lifetime value and a contribution (profit) value — because the gap between them is often the more useful number for deciding how much time or money to spend keeping a customer.
Why two numbers instead of one
A revenue-based customer lifetime value multiplies average revenue per visit by how often the customer visits and how long they typically stay a customer. A contribution-based (profit) version subtracts your direct cost to deliver each visit — labor, product, materials, commission — before doing that same multiplication. The two formulas are standard patterns used across customer-value literature, though the exact terms (gross margin, contribution margin, profit CLV) vary by source.
Gross revenue tells you how much business a repeat customer brings through the door. Contribution value tells you how much of that is actually yours after you pay for the supplies, product, or labor hours that visit required. For a cleaning business with low direct cost, those two numbers stay close together. For a salon buying color product or paying commission, they can diverge a lot — which changes how aggressively that owner should chase repeat visits versus new clients.
Step 1: Gather your inputs
Pull these from your own invoices, booking system, or job records. Don't estimate a number you don't have — leave it blank and note it as unknown rather than guessing.
| Input | Definition | Where to find it | Your number |
|---|---|---|---|
| Visit frequency | Number of paid visits per customer in the observed period | Invoices or job history for a sample of repeat customers | ____ |
| Observed period | The actual stretch of time you have real records for (e.g., 12 months) | Your own invoicing history — be honest about how far back it goes | ____ months |
| Average revenue per visit | Total revenue from those visits ÷ number of visits | Invoices | $____ |
| Direct cost per visit | Labor paid for that job, product/materials used, commission — costs that scale with the visit, not your fixed overhead (rent, insurance) | Job costing or supplier receipts | $____ |
| Expected customer lifespan | How many periods you expect this customer to keep buying — only estimate this if your observed history supports it | Your own retention pattern, not an external benchmark | ____ years (or 'unknown') |
Step 2: Apply the formulas
- Revenue value = Average revenue per visit × Visit frequency per period × Expected lifespan (in periods)
- Contribution value = (Average revenue per visit − Direct cost per visit) × Visit frequency per period × Expected lifespan (in periods)
Keep units consistent — if visit frequency is per year, lifespan must also be in years. If a customer has zero visits in your observed period, their value is $0 for both formulas; don't force a nonzero estimate.
Worked example: a cleaning business
Illustrative example, not a measured result. This cleaner has 12 months of real invoice history for a recurring client and is projecting a 3-year lifespan as a labelled scenario, not a guarantee.
| Input | Value |
|---|---|
| Visit frequency (observed) | 12 visits/year |
| Observed period | 12 months |
| Average revenue per visit | $150 |
| Direct cost per visit (cleaner's hourly pay, supplies) | $60 |
| Expected lifespan (scenario, not observed) | 3 years |
| Revenue value | $150 × 12 × 3 = $5,400 |
| Contribution value | ($150 − $60) × 12 × 3 = $3,240 |
Worked example: a salon
Illustrative example, not a measured result. This salon has 12 months of booking history and is projecting a 2-year lifespan as a labelled scenario.
| Input | Value |
|---|---|
| Visit frequency (observed) | 6 visits/year |
| Observed period | 12 months |
| Average revenue per visit | $85 |
| Direct cost per visit (color product, retail commission) | $35 |
| Expected lifespan (scenario, not observed) | 2 years |
| Revenue value | $85 × 6 × 2 = $1,020 |
| Contribution value | ($85 − $35) × 6 × 2 = $600 |
Same formula, very different gap: the cleaner keeps about 60% of revenue value as contribution value, while the salon keeps about 59% in this example — but because the salon's per-visit cost is a larger share of a smaller ticket, the absolute contribution dollars are much lower. That's the number to weigh against what you'd spend on follow-ups, reminders, or a loyalty perk.
When you don't have enough history
If you've only got a few months of records, or your business is new, you can still calculate revenue and contribution value per visit — but don't multiply by an invented lifespan. State plainly that lifespan is unknown, or run two or three lifespan scenarios (e.g., 1 year, 2 years, 3 years) side by side and label each explicitly as a scenario, not a forecast. A single projected number dressed up as a fact is worse than an honest range.
If you're pulling visit history from call recordings, texts, or customer records to fill this worksheet, check the consent, recording-disclosure, opt-out, and data-handling rules that apply in your state or province and for the channel you're using (phone, text, email) before relying on that data — these rules vary by location and this worksheet doesn't establish legal compliance for you.
Using the number
This worksheet tells you what a repeat customer is worth — it doesn't tell you your retention rate (the share of customers who actually come back) or what it costs to win a new customer through ads. Those are separate questions worth tracking on their own. What this number is good for: deciding whether a follow-up call, a reminder text, or a small loyalty gesture is worth the time, by comparing its cost against the contribution value you just calculated.
If you already use Beside's agent workspace, its per-customer record can be a convenient place to pull visit counts and job history from, since it keeps a given customer's calls, texts, jobs, and reviews together — that's a data source for this worksheet, not a built-in lifetime-value calculator. This is a separate product line and price from Beside Phone's AI receptionist plans.