---
tags: [bwh, executive-summary, 12mo, deliverable]
date: 2026-04-28
audience: client-shareable; one-page top of the BWH 12mo analysis
status: live, links to detailed passes
---

# BWH 12-Month Analysis — Executive Summary

> One page. Top findings, decisions they imply, and where to go for detail.
> Source: 12 months of Better Way Health Zendesk data — 44,310 tickets, 21,248 call transcripts, 16,036 customers — pulled and structured 2026-04-16/17, content-mined 2026-04-28. All passes are reproducible from `~/bwh-rag/`.

---

## TL;DR — six things to know

1. **15.8% of real customers cancel; only 1.2% reactivate.** Cancellations are sticky. Saving people *before* the cancel is far cheaper than recovering them after.
2. **Charge-error outbound calls are the #1 churn leading indicator** — 2.81× lift, with a predictable 27-day median window between the call and the cancel. That's a four-week intervention runway.
3. **BWH's agents already know how to leave a relational voicemail — they just don't use it for charge-errors.** Pass 5 measured this across all 770 clean voicemails: every top agent (Whitney, Michelle, Zach, Sharlene, Taylor) swaps to a warm, feedback-asking, "inactive-account" framed script for cancellation save-calls — and stays transactional ("we had an issue processing your order, please call us back") for charge-errors and welcome calls. Same agent, two scripts, intent-deterministic. **Bringing the relational frame into the charge-error path is a script-library change, not a training gap.**
4. **Almost no voicemail offers an SMS update-card link** — 1.5% of pre-cancel voicemails, 0.3% of save-success. The path of least friction is essentially never offered.
5. **Save-call wins come from check-ins, not discounts.** When agents offered "info_only" or a "price_lock" reminder, win rates were 44–100%. Discount/refund offers were rare and only directionally better.
6. **22% of tickets are system noise** (BWH Apps, ChurnBuster, Klaviyo, etc.). Filtering this is mandatory for any human-behavior analysis. Marketing/spam routing alone is ~340 human-handled tickets/year that could be auto-closed.

---

## The four-week opportunity (the headline)

Pass 2 found that `outbound__charge_errors__recharge_` calls precede a cancel by a median of **27 days** with a 25th–75th percentile of **22–33 days**. That's a tight, predictable window. Passes 4–5 looked at *what BWH actually says* in those calls. The script gap is striking, and Pass 5 quantified it across all 770 clean voicemails:

| voicemail element                | charge-error script (n=134) | save-success script (n=381) | gap |
|----------------------------------|--------------------:|--------------------:|----:|
| asks for feedback                |                2.2% |                 85.0% | +82.8 |
| frames as "inactive" / lapsed    |                6.0% |                 98.2% | +92.2 |
| names a specific product         |               92.5% |                 36.2% | -56.3 |
| offers SMS / email link          |                3.0% |                  0.3% |  -2.7 |
| asks for callback                |               99.3% |                 96.6% |  -2.7 |
| explicitly says "declined / failed" |             11.2% |                  0.3% | -10.9 |

The save-success voicemail is relational. The charge-error voicemail is transactional. Customers in the charge-error path get a "we had an issue, call us back" message; customers in the save path get a "checking in, any feedback?" message. The first script precedes most cancels — and Pass 5 §G shows agents already leave the second one perfectly fluently when the intent label flips.

**Recommended test (single experiment):** rewrite the charge-error voicemail to (1) explicitly name the failed payment, (2) fire an SMS update-card link in parallel with the voicemail (don't wait for callback), (3) ask for feedback / borrow the inactive-framing closer agents already use. **Real baselines** from the 12mo corpus: SMS click-through 0% (no link sent today, control structurally zero); recurring charge-error within 30d = 17.7% (n=1,144 customers); customer-initiated cancel within 60d = 2.5%. Primary metric: SMS click-through. Secondary (powered): recurring charge-error reduction. → see [[BWH-ANALYSIS-PASS-5#H. Recommended A/B test — concrete design]].

---

## What we now know about who calls and why

- **First-touch is outbound, not inbound.** The most common first-ever ticket per real customer is `outbound__abandoned_call/blank_voicemail` (2,168) — BWH calling them, not them calling BWH. The voice agent thesis from 2026-04-14 needs an inversion: design for the *outbound* flow first.
- **61.6% of customers are single-touch.** They have one ticket, ever. The "long-tail high-value customer" mental model isn't supported by 12 months of data.
- **Five agents handle distinct verticals**, well documented in [[BWH-ANALYSIS-PASS-1]]: Whitney = call workhorse, Michelle = beta glucan educator, Zach = save artist, Sharlene = BWH Labs (B2B), Taylor = escalations. Cynthia and Brian Yount are non-roster end-users handling triage.
- **November is volume**, not signal. 2× normal volume, 80% voice, driven entirely by Black Friday. Project staffing accordingly; do not draw long-term inferences from Nov.

---

## What predicts churn (60-day pre-cancel window)

| signal | lift vs baseline | median days before cancel |
|---|---:|---:|
| `outbound__charge_errors__recharge_` | **2.81×** | 27 |
| `outbound__new_customer/subscriber` | 2.44× | 27 |
| `outbound__abandoned_call/blank_voicemail` | 1.32× | 9 |

Frustration vocabulary in customer phrases (Pass 4 §B): *unauthorized*, *believed*, *experiencing*, *delayed*, *canceled*, *unexpected*, *charge*. Resignation vocabulary: *future*, *passed away*, *cancel*, *due*. These are concrete keyword sets for live tone-detection routing.

---

## What works on save calls (Pass 4 §D, n=49 wins)

| agent_offered | win rate (satisfied + agreed) | sample n |
|---|---:|---:|
| price_lock | 100% | 9 |
| pause | 100% | 3 |
| refund | 100% | 1 |
| discount | 67% | 12 |
| **info_only** | **44%** | **54** |
| nothing | 8% | 25 |

`info_only` is the largest bucket and the workhorse — friendly check-in with no concrete offer wins ~44% of the time at scale. `price_lock` (reminding them they're grandfathered into old pricing) is small but undefeated. Discount-only offers are rare and not the highest-leverage move.

---

## The unfinished work (ranked by leverage)

1. **Recharge subscription state over time** — needed for real churn attribution. Currently blocked on Shopify + Recharge API access.
2. **Charge-error voicemail A/B test** — concrete experiment design + powered metrics in [[BWH-ANALYSIS-PASS-5#H. Recommended A/B test — concrete design|Pass 5 §H]]. Needs BWH operations buy-in to run.
3. **Customer LTV overlay** — n_tickets is volume, not value. Needs Shopify orders.
4. **BWH Labs mini-study** — Sharlene's B2B vertical, +161% H1→H2.
5. **Voice-agent spec refresh** ([[BWH-VOICE-AGENT-SPEC]]) — update with 12mo signals: outbound-first design, 5-agent persona model, frustration keyword routing, two-template script discipline.

---

## Where to read more

- [[BWH-ANALYSIS-PASS-1]] — structural exploration (volume, intent mix, agent specialization, durations)
- [[BWH-ANALYSIS-PASS-2]] — journeys, intent transitions, churn cohort, save-call efficacy, projections
- [[BWH-ANALYSIS-PASS-3]] — Gemini Flash classification of pre-cancel + save-success cohorts (940+498 calls)
- [[BWH-ANALYSIS-PASS-4]] — content deep-dive: emotion vocabulary, voicemail script analysis (50-VM sample), save-call playbook
- [[BWH-ANALYSIS-PASS-5]] — voicemail-specific Gemini Flash reclassification of all 803 voicemail-only tickets; quantifies the script gap, surfaces within-agent template discipline, lays out the A/B test with real baselines
- [[BWH-CORPUS-INVENTORY-12MO]] — what's in the data, where, how to rebuild
- [[BWH-VOICE-AGENT-SPEC]] — voice agent build spec (needs 12mo refresh)
- [[BWH-SESSION-HANDOFF-2026-04-17]] — most recent session checkpoint before this one
