# Customer health review

Copy this template for one review cycle, usually monthly. Part 1 holds the scoring rules and changes only by agreement. Part 2 is filled in once per account. Replace every bracketed field. Store it where Customer Success, the account managers and RevOps can read it, with commercial terms visible only to the people who need them.

## Review details

- Review period: [month or dates]
- Data extracted at: [timestamp]
- Review meeting: [date]
- Chair: [CS lead]
- Attendees: [CSMs, account managers, RevOps]
- Rules version: [v1, v2 ...]
- Status: Draft
- Approved by / approved at: [complete only after the meeting]

## Part 1: scoring rules

Every rule is written here so anyone can recalculate a rating by hand. Change a threshold only at a review, record the change in the rules log and say why.

### Signal categories

| Category | Signal | Source | Leading or lagging | Comparison |
|---|---|---|---|---|
| Usage | [e.g. weekly active users, key action completed] | [product analytics report] | Leading | Against the account's own baseline of [n] weeks, or the same weeks last year if a seasonal pattern is recorded |
| Support | [open priority tickets, ticket age, escalations] | [help desk] | Leading | Current state at extraction |
| Relationship | [champion, executive sponsor, last contact date] | [CRM contact roles, meeting notes] | Leading | Current state at extraction |
| Commercial | [renewal date, invoices, seat or plan change requests] | [billing system, CRM] | Leading | Current state at extraction |

Renewal outcomes, churn and gross revenue retention are lagging results. Record them separately and use them to check these rules each quarter.

### Rating rules per category

| Category | Green | Amber | Red |
|---|---|---|---|
| Usage | [at or above x% of baseline] | [between y% and x%] | [below y%] |
| Support | [no open priority ticket older than n days] | [one priority ticket open more than n days, or reopened] | [highest-priority ticket open, or a formal escalation] |
| Relationship | [champion and sponsor confirmed; sponsor contacted within n days] | [sponsor not contacted in n days, or champion unconfirmed] | [champion or sponsor left with no named replacement] |
| Commercial | [no change] | [invoice overdue more than n days, or a request to quote fewer seats] | [written notice of non-renewal, or a downgrade request] |

### Points and status

- Points: Green [0], Amber [1], Red [3].
- Status from points: [0 to 1] Healthy, [2 to 3] Watch, [4 or more] At risk.
- Override 1: [a Red relationship rating makes the account At risk, whatever the points].
- Override 2: [a Red commercial rating inside n days of renewal makes the account At risk].
- Unscored: [usage data older than n days, a tracking change in the period, or fewer than n days live]. Record the reason and review the account by hand.

### Before trusting a flag

- [ ] Data extracted within the agreed window and tracking unchanged.
- [ ] Seasonal pattern checked against the same weeks last year.
- [ ] Seat changes, mergers or reorganisations ruled out as the cause.
- [ ] The flag confirmed or cleared with a written reason.

## Part 2: account reviews

Repeat this block for each account in the review.

### [Account name and identifier]

- CSM (account owner): [name]
- Account manager, if separate: [name]
- Renewal date: [date]
- Contract value band or seats: [as recorded]
- Previous status: [status and month]

| Category | Observation | Source ID | Record date | Rating |
|---|---|---|---|---|
| Usage | [what the data shows, with the baseline] | [S1] | [date] | Green / Amber / Red / Unscored |
| Support | [open tickets, age, escalation] | [S2] | [date] | |
| Relationship | [champion, sponsor, last contact] | [S3] | [date] | |
| Commercial | [renewal, invoices, requests] | [S4] | [date] | |

- Points: [total]. Override applied: [none, or which and why].
- Status: Healthy / Watch / At risk / Unscored
- Risk reasons: [each reason in a sentence, with its source ID; interpretations labelled as hypotheses]
- Flag outcome: Confirmed / Cleared, with reason: [text]
- Next action: [one action someone can accept or revise]
- Owner: [person]
- Due date: [date]
- Escalated to: [CS lead, executive sponsor, account manager, or none]

### Save plan (At risk accounts only)

| Step | Owner | Due date | Status |
|---|---|---|---|
| [e.g. meeting with the executive sponsor] | [person] | [date] | Open / Done / Missed |

- What would change the status back to Watch: [observable condition]
- Renewal forecast note: [expected outcome and value, as the account manager records it]

## Review summary

| Account | Renewal date | Usage | Support | Relationship | Commercial | Points | Status | Next action | Owner | Due |
|---|---|---|---|---|---|---|---|---|---|---|
| [name] | [date] | [G/A/R] | [G/A/R] | [G/A/R] | [G/A/R] | [n] | [status] | [action] | [person] | [date] |

## Actions from last review

| Account | Action | Owner | Due | Outcome |
|---|---|---|---|---|
| [name] | [action] | [person] | [date] | Done / Missed / Changed, with a note |

## Rules log

| Date | Change | Reason | Agreed by |
|---|---|---|---|
| [date] | [what changed] | [evidence, such as a cleared flag or a missed churn] | [names] |

## Source register

| ID | Record type | Record ID or location | Record date | Last checked |
|---|---|---|---|---|
| S1 | [usage report, ticket, meeting note, invoice] | [reference] | [date] | [date] |

## Review before use

- [ ] Each rating can be recalculated from the rules and the observations.
- [ ] Each risk reason cites a source and a date.
- [ ] Every Watch and At risk account has a next action, an owner and a date.
- [ ] Overrides and unscored accounts carry a written reason.
- [ ] Commercial details are visible only to the people who need them.

Approving the review covers internal prioritisation. Messages to customers, changes to the renewal forecast and pricing decisions need their own approval.

## Each quarter

Compare the statuses recorded before each renewal with what happened: renewed, renewed at lower value, or churned. Note accounts that churned without being flagged and flags that were cleared, then propose rule changes in the rules log.
