Your customer retention rate is the share of the customers you had at the start of a period who are still customers at the end of it. The customer retention rate formula is ((E - N) / S) x 100, where S is the number of customers at the start, E the number at the end, and N the new customers added during the period [1]. Subtracting N keeps new sales from hiding the customers you lost. A free spreadsheet with one row per customer and two dates per row calculates it in minutes.

The Toolkit take
((E - N) / S) x 100
Customers at the end, minus new ones, divided by customers at the start
3 counts
S at the start, E at the end, N new
2 dates
A start and an end date per customer
100% - churn
Retention and churn add up to 100%

The customer retention rate formula, step by step

The formula only works if you decide three things first. Pick the period: a month, a quarter or a year. Then define what still a customer means for your business. For a retainer or a subscription, it means the contract has not ended. For a shop or a service business without contracts, it means the customer bought again within their normal buying cycle. Finally, count the customers who ended the period in place, not the ones who merely bought once.

  1. Count S. How many customers were active on the first day of the period.
  2. Count E. How many customers were active on the last day.
  3. Count N. How many customers joined during the period.
  4. Calculate. Subtract N from E, divide by S, multiply by 100.

The result answers one question: of the people who were already with you, how many stayed? Churn is the other side of the same number. If 85% stayed, 15% left. Signing four new clients while losing two old ones is not a retention rate of 120%. It is a leak covered by sales, and the formula is built to show it.

💡
Toolkit tip
Give active customers a far-future end

A date such as 12/31/2099 in the end-date column keeps the column all dates, so one COUNTIFS condition handles active and lost customers alike.

How to calculate customer retention rate in Google Sheets

Everything here uses COUNTIFS, a built-in function that counts rows meeting several conditions at once. Google's syntax is COUNTIFS(criteria_range1, criterion1, [criteria_range2, criterion2, ...]), and its examples join an operator to a date with an ampersand, as in "<"&DATE(1969,7,20) [2]. That is the whole trick.

  1. Build the customer list. On a tab called Customers, put the name in column A, the start date in column B and the end date in column C. Headers go in row 1.
  2. Fill the end date honestly. For a lost customer, enter the date they cancelled or stopped buying. For an active customer, enter a far-future date such as 12/31/2099, so every formula below can treat the column as dates.
  3. Set the period. In F1, type the first day of the period. In F2, type the last day.
  4. Count S. In F4, enter =COUNTIFS(B:B,"<"&F1,C:C,">="&F1). That counts customers who started before the period and had not left when it began.
  5. Count E and N. In F5, enter =COUNTIFS(B:B,"<="&F2,C:C,">"&F2) for customers active on the last day. In F6, enter =COUNTIFS(B:B,">="&F1,B:B,"<="&F2) for customers who started inside the period.
  6. Calculate the rate. In F7, enter =(F5-F6)/F4 and format the cell as a percentage.

Add a direct check in F8: =COUNTIFS(B:B,"<"&F1,C:C,">"&F2)/F4. It counts the starting customers who are still active at the end, one by one. When F7 and F8 disagree, a new customer also left during the same period, and F8 is the true figure.

The same customer retention rate in Excel

Excel needs no changes. COUNTIFS has the same syntax there, and Microsoft's own examples combine conditions on a number column and a date column in one formula [3]. Paste the formulas from the Sheets steps, and the F8 check, into the same cells and they return the same counts.

Two rules from that page matter here. Every additional range must have the same number of rows and columns as the first, so keep B:B and C:C as whole columns, or give both the same row limits. And a criterion that points to an empty cell is treated as 0, so a blank F1 or F2 quietly returns nonsense. Fill both period dates before you trust the result.

💡
Toolkit tip
Keep a direct count beside the formula

Counting starting customers still active at the end catches the new customer who joined and left in the same period, which the E - N shortcut misses.

To watch the trend, add a small monthly table. Put each month's first and last day in two columns, copy the formulas across each row with the period cells swapped for that row's dates, and you get one retention rate per month. A falling line tells you more than any single month.

A worked example: 40 customers in one year

Here is an illustration with round, invented numbers. A bookkeeping firm starts the year with 40 active clients. During the year it signs 12 new clients and loses 6 of the original 40. It ends the year with 46 clients.

Input Value
S, clients on January 1 40
N, new clients signed during the year 12
E, clients on December 31 46
Retained, (46 - 12) 34
Customer retention rate, 34 / 40 85%
Churn rate, 6 / 40 15%

Now change one fact. Say the firm actually signed 13 new clients and one of them left in November. E is still 46, but N becomes 13. The formula now gives (46 - 13) / 40 = 82.5%. Yet 34 of the original 40 are still there, so the real rate is 85%. The direct count in F8 avoids this error, which is why the sheet keeps both.

Look at the size of the gap, too. Losing 6 clients a year means the firm must sign 6 new ones just to stand still. Growth only starts with the seventh.

Mistakes that skew the number

Most wrong retention figures come from the inputs, not from the math.

⚠️
Watch out
Never delete a lost customer

A deleted row removes its start date, so S shrinks after the fact and past retention rates quietly rise. Fill the end date instead.

Read the result next to the list of who left. The rate tells you how much leaked. The end-date rows tell you who, and the reason column you add next to them tells you why. That second part is where the strategy starts, and our guide to customer retention strategies covers what to do with it.

Where the spreadsheet stops

The formulas never break. The inputs do, and they break in predictable places as the customer base grows.

The practical threshold is concrete. Keep the sheet while one person owns the list and can update it weekly in a few minutes. Move when you have more active customers than you can review in one sitting, when a second person starts editing, or when you notice a client has left only after the fact. At that point you need a tool that keeps the history and acts on it.

To be clear, none of the tools below calculates the retention rate for you; keep the sheet for that. What they add is the follow-up that moves the number. Keap runs prebuilt automations for review, referral and post-purchase follow-up on every plan. Zoho CRM can score each customer's churn likelihood on its Professional edition.

Keap Solves this

Prebuilt automations send review requests, referral requests, satisfaction surveys, birthday campaigns and post-purchase follow-up, and a client can enter a long nurture sequence after an engagement ends, so past customers hear from you without anyone remembering to write.

Where it stops: Past clients who stop opening or clicking become non-marketable after six months under its automated list management; no churn prediction or health scoring. Plan: Every Keap plan
Zoho CRM Solves this

Predictive intelligence scores each customer's churn likelihood, so you can call the clients most likely to leave before their end date arrives; follow-up reminders and tasks work on the Free edition.

Where it stops: Churn likelihood, customer journeys and customer portals start on Professional. Plan: Free (reminders, tasks); Professional (churn likelihood)
HubSpot Partly

Support tickets live in the same CRM as contacts and deals, so a complaint sits next to the customer record, and workflows with deal-based triggers can start follow-up automatically.

Where it stops: Free is for up to 2 users; workflows with deal-based triggers and the Customer Agent start on Professional. Plan: Professional (deal-based workflows, Customer Agent)

For how these tools compare across renewals, support and outreach, see our guide to customer retention tools.

Frequently asked questions

What is a good customer retention rate?+

It depends on how often your customers buy and whether they sign contracts, so compare your own rate month over month or year over year rather than against a general figure. A falling trend is the signal to act on.

What is the difference between customer retention rate and churn rate?+

They describe the same group from opposite sides. If 85% of starting customers stayed, 15% churned; the two always add up to 100% when both count customers.

How do I calculate customer retention rate without subscriptions?+

Decide how long a normal gap between purchases is, then treat a customer as lost once that gap passes with no new order. Enter that date as the end date and the same formulas work.

Should I measure customer retention rate monthly or yearly?+

Match the period to your buying cycle. Monthly suits subscriptions and frequent buyers; quarterly or yearly suits clients who buy a few times a year.

The bottom line

The customer retention rate formula is ((E - N) / S) x 100, and a spreadsheet handles it well: one row per customer, a start date, an end date, and COUNTIFS for S, E and N. Add a direct count of starting customers still active, because it catches new customers who also left. Define still a customer to match your buying cycle and never delete lost rows. The sheet measures the leak. Once updating it falls behind or clients leave before anyone notices, add a CRM that follows up while you keep measuring.

Sources
  1. [1] zendesk.co.uk (Nov 2026) https://www.zendesk.co.uk/blog/customer-experience/retention/calculate-customer-retention-rate/
  2. [2] Google Docs Editors Help (Nov 2026) https://support.google.com/docs/answer/3256550?hl=en
  3. [3] Microsoft Support (Nov 2026) https://support.microsoft.com/en-us/office/countifs-function-dda3dc6e-f74e-4aee-88bc-aa8c2a866842