## TL;DR
A trial that ends is not churn, it is a trial that ended, and scoring it like a lapsing paid account floods the at-risk list with accounts CSMs should never work as saves. Free and trial records leak into paid scoring when the scoring population is defined by having a CRM account rather than by having a paid subscription, and the fix is to define the scored population from billing truth. Segment scoring by account type, give trials their own conversion lens if you want one, and the paid at-risk list becomes a list a CSM can trust again.

```text
free-plan accounts mixed into paid health scores: trial accounts flagged as churn risk
```

## Use this when
- The at-risk list contains free plan, trial, and internal or test accounts
- Paid account risk signals are being drowned out, and CSMs are ignoring list entries
- Billing shows no paid subscription for many flagged accounts, current or historical

## Not for this skill when
- The business deliberately scores trials in the same model with leadership aware, making this a communication issue instead
- Some flagged free accounts converted to paid and lapsed, which is real churn the billing check will confirm

## Steps
1. Measure the contamination. Join the current at-risk list and the full scored population against billing subscription records and count accounts with no paid subscription now, accounts on free plans, trials in progress, and trials ended without converting. Report each slice, because the remedy and the owners differ slightly per slice even though the headline is one problem. Verify: the scored population is classified by billing backed account type with counts
2. Read how the scoring population is defined today. Find the query, segment, or sync that decides which accounts get scored and identify where account type is supposed to be checked, whether it reads a CRM field that reps set inconsistently, a plan name that changed when packaging renamed the free tier, or nothing at all because the population predates the free plans launch. Verify: the population definitions account type logic, or its absence, is pinpointed
3. Rebuild the population from billing truth. Define paid scored accounts as accounts holding a paid subscription in the billing system, or having held one that ended within the churn measurement window, sync that classification as a governed field the scoring job reads, and stop deriving payment status from CRM plan text that humans edit. Verify: the rebuilt classification matches billing for a validated sample of accounts across all types
4. Decide what happens to trials deliberately. Either exclude them from health scoring entirely and track trial health in the trial conversion funnel where it belongs, or run a clearly separate trial score with its own thresholds and owners in the sales or onboarding team, but never let trial records share the paid at-risk list or its alerting. Verify: the trial treatment is decided, documented, and reflected in the lists each team receives
5. Rescore and clean the list. Re-run paid scoring on the corrected population, publish the before and after at-risk counts, and brief CSMs on why the list shrank, because a team that watched the list cry wolf needs the reconciliation shown, not just a new list dropped on them. Verify: the corrected at-risk list contains only paid accounts and the change is briefed with counts
6. Add a standing population check. Alert weekly when any account enters the paid scored population without a matching paid billing record, and review the check after every packaging change, since new plan names and free offerings are exactly when CRM based classification rots again. Verify: the weekly population check runs and flags a planted free account in a test

## Why it happens
Scoring systems score the population they are fed, and populations defined in the CRM reflect how records were created, not who pays. Free plans and trials generate CRM accounts, usage, and even support history that look exactly like young paid accounts to a population query, especially after packaging changes rename the fields the query filters on. Meanwhile the financial meaning of churn only exists for accounts with revenue, so every non-paying record in the model is noise by definition.

Compatibility: Health scoring populations in Gainsight, Totango, or warehouse scoring, billing subscription records from Stripe or Chargebee, and CRM plan fields, in current versions.

## Variants and edge cases
### trial accounts flagged churn risk health score
['The direct phrasing. Billing is the only trustworthy source of who pays, every other classification is a rumour the scoring job should not repeat.']

### free plan accounts in paid health scores
['The packaging variant. Renamed free tiers break text based filters silently, sync classification from billing after any packaging change.']

### at-risk list full of non-paying accounts
['The trust variant. Publish the contamination counts when you fix it, CSMs re-engage with lists whose failures are measured openly.']

Edge cases to work through before you close the incident:
- Former paying accounts on a free downgrade plan sit between the worlds. Decide their treatment explicitly with finance, they are contraction stories, not trial noise.
- Internal, partner, and test accounts need the same exclusion hygiene. Keep a governed exclusion list rather than relying on naming patterns in account names.
- If leadership wants one list, present paid risk first with trial risk in a visibly separate section. Blending them in one ranking is what destroys actionability.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_w4L4NcFfc5x7ThgQ4TGRUg
