Most SaaS companies have a customer health score. Green, yellow, red. A number from 0 to 100, built out of logins, seats, NPS, support tickets, and weights someone picked in a workshop.Very few of those scores have ever been tested. Not "does it look reasonable." Tested: when the score said an account was red, did that account actually churn more often than the green ones? By how much?If a health score were a drug, it would need a trial before anyone prescribed it. Here's the trial. It takes about thirty minutes and three queries.The mistake that ruins the test.Don't test today's score against past churn.An account that churned in July has a terrible score today. Of course it does: its usage went to zero when it left. Test current scores against historical churn and the score will look brilliant at predicting churn that already happened.You need the score as it stood before the outcome. That means point-in-time snapshots: one row per account per week or month, with the score as it was that day. If you don't keep them, start today. It's one table, and in a quarter you'll have something to test.create table health_snapshots ( account_id int, snapshot_date date, score int -- plus each input, so you can test them one at a time);Step 1: Label every snapshot with what happened next.For each snapshot, ask one question: did this account churn in the following 90 days?create or replace table labeled asselect s.account_id, s.snapshot_date, s.score, s.usage_change, s.tickets, (c.churned_on is not null and c.churned_on > s.snapshot_date and c.churned_on