I want to understand Q2 subscription churn for Verdant. Pull from Shopify, cross-reference the Gorgias cancellation reasons, and isolate by plan tier. Focus on mid-tier — the 30-day subscribers spending $50–$120/mo.
On it. I'll pull Q2 cancellations from subscription_contracts, cluster the Gorgias cancellation reasons against the same customer set, and check whether the Magnesium 30-day default is doing what I think it's doing. Starting the queries now.
Here's what the data says for Q2, mid-tier subscribers ($50–$120/mo). 2,418 cancellations against a mid-tier base of 10,380 — a 23.3% quarterly churn rate, up from 19.1% in Q1 . The picture is less "customers don't love the product" and more "we're shipping product faster than they can use it."
Three drivers explain most of the lift:
- Cadence mismatch on 180-count SKUs. Subscribers on the 30-day cadence for Magnesium Glycinate 180ct, Marine Collagen 30-day jar, and Omega-3 Triple Strength are piling up bottles. 41% of cancellation tickets mention "too much product" or "still have last bottle" — it's the single biggest driver and it is almost entirely self-inflicted by the default cadence we set at checkout .
- Winback flow fatigue. The
winback-30d-skippersflow is opening at 24% but only converting 0.8% back to an active subscription. It reads like a discount prompt, not a cadence conversation — subscribers who skipped twice don't need a coupon, they need a longer interval . - Paid-social-acquired cohorts churn 1.6× faster. Mid-tier Magnesium subscribers acquired through Meta in Q1 are churning at 27.9% in Q2. The Meta hero creative has been running for 14 weeks and Triple Whale flags creative fatigue, so we're acquiring the wrong shape of customer — lower intent, higher unsubscribe rate .
"I keep getting the Magnesium shipped before I run out — shipping cadence is too aggressive for a 180-count bottle." — Gorgias ticket #VRD-18204, and 863 others almost like it .
Here's the segment view. Churn rate is Q2 cancellations over the mid-tier base of 10,380:
| SEGMENT | CHURN RATE | TOP DRIVER |
|---|---|---|
| Magnesium Glycinate · 180ct | 31.4% | cadence-mismatch (58%) |
| Marine Collagen · 30-day jar | 24.8% | cadence-mismatch (47%) |
| Night Restore | 18.2% | price-sensitivity (29%) |
One note on methodology: the cancel_reason_code field is free-text in ~31% of the mid-tier cohort, so I clustered the untagged notes against the tagged ones. The cadence-mismatch cluster absorbed most of the unlabeled rows, so if anything the 58% figure is understated.
Draft a save-play for the Magnesium subscribers who skipped their last two cycles. They're the biggest lost-revenue group — keep it friendly, not desperate.
Drafting now. Based on what we just saw, this isn't a discount problem — the winback-30d-skippers flow is already sending 15% off and converting at 0.8%. The lever is cadence, not price. Here's the v1:
Save-play · Magnesium 180ct · 2-skip cadence reset
Trigger: any mid-tier Magnesium Glycinate 180ct subscriber on the 30-day cadence who skipped their last two scheduled shipments and has