# A customer health score for repeat buyers, built from Pipedrive dates

https://salesbond.app/blog/customer-health-score-pipedrive/
Published: 2026-10-06 · Updated: 2026-10-26

A customer health score is a single number or status that tells you which customers are likely to keep buying and which are slipping. If you sell repeat orders and can’t see product usage, build it from one ratio: days since the last purchase divided by how often that customer usually buys. Past 1.0, call. Past 2.0, assume they may be buying elsewhere.

Everything the ratio needs is already in Pipedrive as the dates of won deals. Below: the calculation by hand, what to do with each result, and where it misleads you. On HubSpot, see what a sales manager can read from the [HubSpot customer health score](https://salesbond.app/blog/hubspot-customer-health-score/).

## The call that didn’t happen

A composite example, no real names. A distributor sells packaging to a few hundred businesses. One of their better customers, a food producer, had been ordering every two months or so for three years. The last won deal was on March 20. The rep who handled the account left in May, and the organization sat in Pipedrive with a new owner who had never spoken to them.

In September, while cleaning up the forecast, the company’s owner noticed the account had no deals after March and called. The buyer was friendly and a little surprised: they had been ordering from another supplier since June, because nobody had been in touch and the other supplier had.

What would you have seen in Pipedrive in April? Nothing. No open deal, no overdue activity, no red anything. A customer who has stopped ordering produces no data, so the organization page looked exactly like a healthy one. The absence was the signal, and nothing in the CRM shows an absence.

## Why most customer health score models assume SaaS

Search for “customer health score” and you get frameworks written for software companies. The standard recipe is a weighted sum: pick a handful of metrics, set thresholds, give each metric a weight, add them up and cut the total into tiers. That is roughly the six-step build in ZoomInfo’s guide, and its inputs are usage and support data ( [ZoomInfo](https://pipeline.zoominfo.com/sales/customer-health-score)). Vitally builds its score on product setup, usage rate, NPS and a pulse rating from the customer success manager ( [Vitally](https://www.vitally.io/post/how-to-create-a-customer-health-score-with-four-metrics)). Digital Applied makes the point we agree with most: a health score that doesn’t trigger a specific action is a report, and reports don’t save accounts ( [Digital Applied](https://www.digitalapplied.com/blog/customer-health-scoring-crm-framework-2026-guide)).

If you sell packaging, spare parts, consulting days or print runs, those inputs don’t exist. There’s no login to count. Nobody fills in an NPS survey for a pallet of boxes. And a “CSM pulse” presumes a CSM, when in most teams we work with the account owner is the rep.

So you don’t need a weighted score built on usage data. You need one number built on data you already have: the date of every won deal for every customer. Those dates hold the customer’s buying rhythm, and for a business that lives on reorders the rhythm is the health signal. It measures the thing you actually sell, which is the next order.

## Buying rhythm in twenty minutes

This assumes each order is its own won deal on the customer’s organization. If your team reopens the same deal or logs reorders as notes, fix that first; we wrote up how in [one deal per repeat order in Pipedrive](https://salesbond.app/blog/repeat-orders-pipedrive-new-deal-per-order/).

With it, the calculation per customer is this:

1. Open the organization and list its won deals, oldest first. Export to a spreadsheet if you’re doing more than a handful.
2. Subtract each won date from the next one. Four orders give you three intervals in days.
3. Take the median of those intervals. That’s the customer’s buying cycle. The median rather than the average, because one odd gap (a holiday, a stockout) shouldn’t redefine the customer.
4. Count the days from the last won deal to today.
5. Divide step 4 by step 3. That’s the health ratio.

One rule of thumb of our own, for the manual version only: don’t trust a cycle built on fewer than three purchases. Two orders give one interval, and one interval is an anecdote. In the spreadsheet, customers with one or two purchases go on a separate “rhythm not known” list and get judged by a person, not by a number.

Three illustrative customers, as of July 20:

| Customer | Won deals | Intervals (days) | Cycle (median) | Days since last | Ratio |
| --- | --- | --- | --- | --- | --- |
| A, wholesale consumables | January 14, March 11, May 9 | 56, 59 | 57.5 | 72 | 1.25 |
| B, four orders since last fall | September 28, November 19, January 13, March 12 | 52, 55, 58 | 55 | 130 | 2.4 |
| C, two orders | October 3, April 21 | 200 | not enough data | 90 | none |

![Three customer timelines on one date axis: A is overdue, B is leaving, C has too few orders to judge. Same date, different statuses.](https://salesbond.app/wp-content/uploads/2026/10/customer-health-score-pipedrive-2.png)

Customer A is 72 days out on a 57.5-day cycle. Two weeks late: nothing dramatic, but late. Customer B is 130 days out on a 55-day cycle, and two and a half cycles without an order is rarely a coincidence. Customer C can’t be judged yet. Two orders 200 days apart might be a twice-a-year rhythm or two unrelated projects, and the table should refuse to guess.

## Three bands and what you do with each

The thresholds below, 1.0 and 2.0, are starting values. Move them once you’ve watched your own customers for a quarter.

| Band | Ratio | What it means | What you do |
| --- | --- | --- | --- |
| On track | 1.0 or less | The next order isn’t due yet | Nothing. Resist the urge to “check in” |
| Overdue | over 1.0, up to 2.0 | The usual gap has passed with no order | The account owner calls this week |
| Leaving | over 2.0 | Two full cycles, no order | The business owner or sales lead calls, not the rep |

The overdue call is the one people get wrong. Don’t open with “we noticed you haven’t ordered.” That’s an accusation dressed as concern, and the buyer will defend themselves. Ask about them instead: “What does your purchasing look like for the next couple of months?” Often the answer is boring, a delayed project or a full warehouse, and you write the next expected date in the CRM and move on. [Sometimes the answer is a pause](https://salesbond.app/blog/customer-pause-request-pipedrive/), and its better to hear that in week nine than discover it in month six.

Past two cycles, who calls changes. A rep calling after four months reads as a sales call. The owner calling reads as “you matter to us,” which is the message you need if the account is already half gone. Dock lists a change of people on the customer’s side among the signs an account is at risk ( [Dock](https://www.dock.us/library/at-risk-customers)), so the first thing to find out on this call is whether there’s a new buyer. New buyers inherit suppliers. They don’t inherit loyalty.

Whoever calls the outcome goes into Pipedrive as one of three things: a new deal, a next expected date, or a note that says the account is lost and why. A call that ends with none of those was a chat.

## Where this lies to you

Four situations make the ratio wrong, and you’ll recognize each one if you know to look.

Seasonality is the obvious one. A customer who buys heavily from September to December and barely at all in summer gets a median cycle that blends two rhythms, so every July they look overdue. You spot it when a customer is “overdue” at the same point every year. The fix is a note on the organization, “summer gap is normal,” and a human override, not a cleverer formula.

Project buyers are the second. A construction firm that orders everything for a job in three weeks and then nothing for five months has intervals like 4, 6, 150, 5, 160 days, and the median lands somewhere useless. If a customer’s intervals split into two clusters with nothing between, the cycle isn’t a cycle. Treat them like customer C and track them by project.

A new purchasing contact is the third, and it’s the one the the ratio catches late. The rhythm can hold for one more order while the new person works through the existing arrangement, and then it stops. By the time the ratio passes 1.0, the new buyer has already met other suppliers. A changed contact on the organization is a reason to call even when the ratio looks fine.

The fourth is the slow split. A customer starts giving a share of orders to a second supplier. Thier rhythm with you stretches from 55 days to 70 to 90, and because the median moves with it, the ratio keeps looking normal. A customer who drifts gradually hides from any measure that compares them to their own past. Watch the cycle itself: if a customer’s median has grown by a third over a year, that’s worth a conversation whether or not they’re overdue today. Keep the cycle length in your monthly review next to the ratio.

## Where to keep it in Pipedrive

Keep the ratio in a spreadsheet. What Pipedrive should hold is the date you’ll act on: when the next order is expected.

Create a custom field on the organization. In Pipedrive, open the account menu, go to Personal preferences > Data fields, choose the organization entity and add the field with the type Date ( [Pipedrive: custom fields](https://support.pipedrive.com/en/article/custom-fields)). Call it **Next expected order** and fill it in as the last won deal date plus the median cycle. For customer A, May 9 plus 58 days gives July 6.

Then make the date visible. In the organization list view, the gear icon to the right of the table adds the custom field as a column (same source). A saved filter of organizations whose Next expected order is already behind you ( [Pipedrive: advanced filtering](https://support.pipedrive.com/en/article/filtering)) is your overdue list. It’s a different list from the one in [finding inactive customers with a Pipedrive filter](https://salesbond.app/blog/pipedrive-inactive-customers-accounts-filter/), which catches organizations with no activity at all. An account can have plenty of activity and still be late on its order.

For accounts that cross 1.0, put a task on the account owner with a due date, not a note. Notes are read by the people who already remember.

The monthly review takes ten minutes and three columns: customer, ratio, action. Recalculate the cycles once a quarter, since a customer’s rhythm changes slowly. Up to about a hundred active repeat customers a spreadsheet copes; beyond that someone skips a month, then two, and you’re back to finding out in September.

If your customers renew on a contract date rather than reorder on a rhythm, this is the wrong tool. The renewal pipeline in [the customer renewal process in Pipedrive](https://salesbond.app/blog/customer-renewal-process-pipedrive/) fits that case, because there the date is in the contract and doesn’t need to be inferred.

## Ten customers, this week

Who on your team could say, right now, how often each of your ten largest customers buys? In most teams the answer is one person, and the knowledge is in their head. Start there: ten organizations, won deals exported, intervals, medians, today’s date. If one of them is past 2.0, you’ll have your own version of the September phone call, except this time it’ll be in time.

We build SalesBond, a sales management layer on top of the CRM a team already uses; we started with Pipedrive. Our Customer Health does this arithmetic for every repeat customer, and there is no rule set and no numeric health score behind it. The buying cycle is the median interval between purchases. It needs at least two purchases, and each cycle carries a confidence of high, medium or low. Days since the last purchase divided by the cycle gives a status: on track, overdue past 1.0, or leaving past 2.0, and both thresholds are adjustable. An overdue customer with an open deal and recent contact shows as in work. A customer whose next purchase is close gets a purchase soon flag, and customers with one purchase or no clear cycle show as new or undefined. No machine learning, no churn forecast: the same arithmetic you’d do by hand, kept current. [Start with SalesBond](https://salesbond.app/) if you’d rather not keep the spreadsheet.
