Candidate rules proposed by the weekly miner. Single-reviewer governance (Baptiste).
What is a rule?
A rule is an additive score adjustment triggered by a condition on a signal. Example: "if a trial has 10+ days without login, subtract 20 pts". Rules extend the 5-pillar formula (activation, engagement, depth, team, momentum) without rewriting it — they capture patterns the pillars miss.
Where do candidates come from?
Every Monday at 05:30 Paris, the rule miner brute-forces thousands of combinations of (signal × threshold × cohort × outcome) across 30 days of training data. For each one, it asks: "does the outcome actually happen at a different rate when this condition fires, or could it just be luck?" (the technical test is a two-proportion Z-test). Because we try thousands of patterns at once, a few will look "significant" by pure chance — so we apply a correction that caps the expected false-positive rate among kept patterns at ~10% (Benjamini-Hochberg FDR, q=0.10). The 20 strongest survivors (ranked by effect size × sample strength) get surfaced here. Tautological patterns (e.g. "logged in today → less churn" — already in the engagement pillar) are filtered upstream.
What can you do with a candidate?
Column cheatsheet
Full runbook: docs/product/health-lab-rules-governance.md
Imagine the miner surfaces this rule. Can we tell whether it's genuine insight or structural noise?
Candidate A — tautological (reject)
During the training window, 1337 (location, day) rows matched 'is_trial = true'. Among them, +36 percentage points MORE converted in 60 days than non-matching rows. p ≈ 0, so the pattern is statistically unmistakable.
But a trial conversion can only happen from a trial. This rule is essentially restating 'only trials convert' — a structural tautology, not a novel signal. The +15 delta would just shift every trial score by a constant. Reject with a note.
Candidate B — genuine insight (attach)
The miner also finds rules like this one — 801 recently-converted customers (within their first ~3 months post-trial) churn +29 percentage points more than longer-tenured ones.
| Condition | Cohort | Outcome | Support | Lift | p-value | Δ | AI triage | Status | Proposed | Actions |
|---|---|---|---|---|---|---|---|---|---|---|
Trial status = true AND Days since CRM touch ≤ 17 R_candidate_2026-04-27_012 | Trial | Trial converted 60d | 142 | 0.630 | 8.6e-158 | +25 | 62promising | Proposed | 2026-04-27 | |
Trial status = true AND Days since CRM touch ≤ 25 R_candidate_2026-04-27_010 | Trial | Trial converted 60d | 170 | 0.591 | 1.5e-162 | +24 | 74promising | Proposed | 2026-04-27 | |
Days since trial converted ≤ 99 R_candidate_2026-04-24_016 | No sandbox | Contraction 60d | 801 | 0.314 | 9.0e-153 | −13 | 85high signal | Proposed | 2026-04-24 | |
Days since trial converted ≤ 99 R_candidate_2026-04-24_021 | No sandbox | Churn 60d | 801 | 0.290 | 8.3e-141 | −12 | 83high signal | Proposed | 2026-04-24 | |
Trial status = false AND Days since trial converted ≤ 101 R_candidate_2026-04-27_003 | Subscription | Contraction 60d | 991 | 0.266 | 6.0e-281 | −11 | 64promising | Proposed | 2026-04-27 | |
Days since trial converted ≤ 102.5 R_candidate_2026-04-27_002 | All | Contraction 60d | 1002 | 0.265 | 0.0e+0 | −11 | 83high signal | Proposed | 2026-04-27 | |
Days since trial converted ≤ 102 R_candidate_2026-04-24_019 | All | Contraction 60d | 996 | 0.265 | 0.0e+0 | −11 | 52redundant | Proposed | 2026-04-24 | |
Trial status = false AND Days since trial converted ≤ 101 R_candidate_2026-04-27_009 | Subscription | Churn 60d | 991 | 0.246 | 1.3e-264 | −10 | 62promising | Proposed | 2026-04-27 | |
Days since trial converted ≤ 102.5 R_candidate_2026-04-27_007 | All | Churn 60d | 1002 | 0.245 | 7.6e-321 | −10 | 77promising | Proposed | 2026-04-27 | |
Days since trial converted ≤ 102 R_candidate_2026-04-24_026 | All | Churn 60d | 996 | 0.245 | 7.5e-320 | −10 | 50redundant | Proposed | 2026-04-24 | |
Days since trial converted ≤ 180 R_candidate_2026-04-24_015 | No sandbox | Contraction 60d | 1437 | 0.237 | 1.1e-120 | −9 | 68promising | Proposed | 2026-04-24 | |
Days since trial converted ≤ 144 R_candidate_2026-04-24_024 | No sandbox | Contraction 60d | 1197 | 0.231 | 6.9e-107 | −9 | 62promising | Proposed | 2026-04-24 | |
Days since trial converted ≤ 182 R_candidate_2026-04-27_001 | No sandbox | Contraction 60d | 1456 | 0.230 | 1.5e-112 | −9 | 70promising | Proposed | 2026-04-27 | |
Days since trial converted ≤ 146 R_candidate_2026-04-27_008 | No sandbox | Contraction 60d | 1217 | 0.222 | 2.9e-98 | −9 | 66promising | Proposed | 2026-04-27 | |
Days since trial converted ≤ 180 R_candidate_2026-04-24_020 | No sandbox | Churn 60d | 1437 | 0.220 | 5.7e-112 | −9 | 65promising | Proposed | 2026-04-24 |
This 'honeymoon gap' isn't captured by any existing pillar. Attaching the rule penalizes new conversions so CSMs focus on them earlier. Worth attaching to a candidate formula for a 14-day shadow test.
Rule of thumb: if the condition restates the cohort/outcome filter, it's tautological. If it introduces a new signal (time-since-event, usage pattern, revenue threshold…), it's a discovery worth attaching.