@miranda0808/maya-codex 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/README.md +30 -0
  2. package/bin/maya-codex.js +36 -0
  3. package/package.json +19 -0
  4. package/payload/.agents/skills/ab-test-setup/SKILL.md +266 -0
  5. package/payload/.agents/skills/ab-test-setup/evals/evals.json +105 -0
  6. package/payload/.agents/skills/ab-test-setup/references/sample-size-guide.md +263 -0
  7. package/payload/.agents/skills/ab-test-setup/references/test-templates.md +277 -0
  8. package/payload/.agents/skills/ad-creative/SKILL.md +362 -0
  9. package/payload/.agents/skills/ad-creative/evals/evals.json +90 -0
  10. package/payload/.agents/skills/ad-creative/references/generative-tools.md +637 -0
  11. package/payload/.agents/skills/ad-creative/references/platform-specs.md +213 -0
  12. package/payload/.agents/skills/ai-seo/SKILL.md +398 -0
  13. package/payload/.agents/skills/ai-seo/evals/evals.json +90 -0
  14. package/payload/.agents/skills/ai-seo/references/content-patterns.md +285 -0
  15. package/payload/.agents/skills/ai-seo/references/platform-ranking-factors.md +152 -0
  16. package/payload/.agents/skills/analytics-tracking/SKILL.md +309 -0
  17. package/payload/.agents/skills/analytics-tracking/evals/evals.json +90 -0
  18. package/payload/.agents/skills/analytics-tracking/references/event-library.md +260 -0
  19. package/payload/.agents/skills/analytics-tracking/references/ga4-implementation.md +300 -0
  20. package/payload/.agents/skills/analytics-tracking/references/gtm-implementation.md +390 -0
  21. package/payload/.agents/skills/churn-prevention/SKILL.md +424 -0
  22. package/payload/.agents/skills/churn-prevention/evals/evals.json +93 -0
  23. package/payload/.agents/skills/churn-prevention/references/cancel-flow-patterns.md +316 -0
  24. package/payload/.agents/skills/churn-prevention/references/dunning-playbook.md +408 -0
  25. package/payload/.agents/skills/cold-email/SKILL.md +158 -0
  26. package/payload/.agents/skills/cold-email/evals/evals.json +94 -0
  27. package/payload/.agents/skills/cold-email/references/benchmarks.md +83 -0
  28. package/payload/.agents/skills/cold-email/references/follow-up-sequences.md +81 -0
  29. package/payload/.agents/skills/cold-email/references/frameworks.md +90 -0
  30. package/payload/.agents/skills/cold-email/references/personalization.md +79 -0
  31. package/payload/.agents/skills/cold-email/references/subject-lines.md +53 -0
  32. package/payload/.agents/skills/competitor-alternatives/SKILL.md +256 -0
  33. package/payload/.agents/skills/competitor-alternatives/evals/evals.json +93 -0
  34. package/payload/.agents/skills/competitor-alternatives/references/content-architecture.md +271 -0
  35. package/payload/.agents/skills/competitor-alternatives/references/templates.md +223 -0
  36. package/payload/.agents/skills/content-strategy/SKILL.md +359 -0
  37. package/payload/.agents/skills/content-strategy/evals/evals.json +90 -0
  38. package/payload/.agents/skills/copy-editing/SKILL.md +447 -0
  39. package/payload/.agents/skills/copy-editing/evals/evals.json +89 -0
  40. package/payload/.agents/skills/copy-editing/references/plain-english-alternatives.md +394 -0
  41. package/payload/.agents/skills/copywriting/SKILL.md +252 -0
  42. package/payload/.agents/skills/copywriting/evals/evals.json +111 -0
  43. package/payload/.agents/skills/copywriting/references/copy-frameworks.md +344 -0
  44. package/payload/.agents/skills/copywriting/references/natural-transitions.md +272 -0
  45. package/payload/.agents/skills/email-sequence/SKILL.md +309 -0
  46. package/payload/.agents/skills/email-sequence/evals/evals.json +93 -0
  47. package/payload/.agents/skills/email-sequence/references/copy-guidelines.md +113 -0
  48. package/payload/.agents/skills/email-sequence/references/email-types.md +515 -0
  49. package/payload/.agents/skills/email-sequence/references/sequence-templates.md +168 -0
  50. package/payload/.agents/skills/form-cro/SKILL.md +429 -0
  51. package/payload/.agents/skills/form-cro/evals/evals.json +90 -0
  52. package/payload/.agents/skills/free-tool-strategy/SKILL.md +178 -0
  53. package/payload/.agents/skills/free-tool-strategy/evals/evals.json +90 -0
  54. package/payload/.agents/skills/free-tool-strategy/references/tool-types.md +217 -0
  55. package/payload/.agents/skills/launch-strategy/SKILL.md +353 -0
  56. package/payload/.agents/skills/launch-strategy/evals/evals.json +91 -0
  57. package/payload/.agents/skills/marketing-ideas/SKILL.md +167 -0
  58. package/payload/.agents/skills/marketing-ideas/evals/evals.json +90 -0
  59. package/payload/.agents/skills/marketing-ideas/references/ideas-by-category.md +366 -0
  60. package/payload/.agents/skills/marketing-psychology/SKILL.md +455 -0
  61. package/payload/.agents/skills/marketing-psychology/evals/evals.json +88 -0
  62. package/payload/.agents/skills/onboarding-cro/SKILL.md +220 -0
  63. package/payload/.agents/skills/onboarding-cro/evals/evals.json +92 -0
  64. package/payload/.agents/skills/onboarding-cro/references/experiments.md +258 -0
  65. package/payload/.agents/skills/page-cro/SKILL.md +182 -0
  66. package/payload/.agents/skills/page-cro/evals/evals.json +111 -0
  67. package/payload/.agents/skills/page-cro/references/experiments.md +248 -0
  68. package/payload/.agents/skills/paid-ads/SKILL.md +315 -0
  69. package/payload/.agents/skills/paid-ads/evals/evals.json +90 -0
  70. package/payload/.agents/skills/paid-ads/references/ad-copy-templates.md +207 -0
  71. package/payload/.agents/skills/paid-ads/references/audience-targeting.md +243 -0
  72. package/payload/.agents/skills/paid-ads/references/platform-setup-checklists.md +277 -0
  73. package/payload/.agents/skills/paywall-upgrade-cro/SKILL.md +227 -0
  74. package/payload/.agents/skills/paywall-upgrade-cro/evals/evals.json +93 -0
  75. package/payload/.agents/skills/paywall-upgrade-cro/references/experiments.md +164 -0
  76. package/payload/.agents/skills/popup-cro/SKILL.md +453 -0
  77. package/payload/.agents/skills/popup-cro/evals/evals.json +94 -0
  78. package/payload/.agents/skills/pricing-strategy/SKILL.md +231 -0
  79. package/payload/.agents/skills/pricing-strategy/evals/evals.json +90 -0
  80. package/payload/.agents/skills/pricing-strategy/references/research-methods.md +152 -0
  81. package/payload/.agents/skills/pricing-strategy/references/tier-structure.md +232 -0
  82. package/payload/.agents/skills/product-marketing-context/SKILL.md +27 -0
  83. package/payload/.agents/skills/product-marketing-context/evals/evals.json +40 -0
  84. package/payload/.agents/skills/programmatic-seo/SKILL.md +238 -0
  85. package/payload/.agents/skills/programmatic-seo/evals/evals.json +94 -0
  86. package/payload/.agents/skills/programmatic-seo/references/playbooks.md +308 -0
  87. package/payload/.agents/skills/referral-program/SKILL.md +255 -0
  88. package/payload/.agents/skills/referral-program/evals/evals.json +89 -0
  89. package/payload/.agents/skills/referral-program/references/affiliate-programs.md +164 -0
  90. package/payload/.agents/skills/referral-program/references/program-examples.md +143 -0
  91. package/payload/.agents/skills/revops/SKILL.md +343 -0
  92. package/payload/.agents/skills/revops/evals/evals.json +91 -0
  93. package/payload/.agents/skills/revops/references/automation-playbooks.md +290 -0
  94. package/payload/.agents/skills/revops/references/lifecycle-definitions.md +278 -0
  95. package/payload/.agents/skills/revops/references/routing-rules.md +203 -0
  96. package/payload/.agents/skills/revops/references/scoring-models.md +247 -0
  97. package/payload/.agents/skills/sales-enablement/SKILL.md +349 -0
  98. package/payload/.agents/skills/sales-enablement/evals/evals.json +91 -0
  99. package/payload/.agents/skills/sales-enablement/references/deck-frameworks.md +263 -0
  100. package/payload/.agents/skills/sales-enablement/references/demo-scripts.md +355 -0
  101. package/payload/.agents/skills/sales-enablement/references/objection-library.md +270 -0
  102. package/payload/.agents/skills/sales-enablement/references/one-pager-templates.md +208 -0
  103. package/payload/.agents/skills/schema-markup/SKILL.md +179 -0
  104. package/payload/.agents/skills/schema-markup/evals/evals.json +87 -0
  105. package/payload/.agents/skills/schema-markup/references/schema-examples.md +398 -0
  106. package/payload/.agents/skills/seo-audit/SKILL.md +412 -0
  107. package/payload/.agents/skills/seo-audit/evals/evals.json +136 -0
  108. package/payload/.agents/skills/seo-audit/references/ai-writing-detection.md +200 -0
  109. package/payload/.agents/skills/signup-flow-cro/SKILL.md +359 -0
  110. package/payload/.agents/skills/signup-flow-cro/evals/evals.json +88 -0
  111. package/payload/.agents/skills/site-architecture/SKILL.md +357 -0
  112. package/payload/.agents/skills/site-architecture/evals/evals.json +88 -0
  113. package/payload/.agents/skills/site-architecture/references/mermaid-templates.md +216 -0
  114. package/payload/.agents/skills/site-architecture/references/navigation-patterns.md +305 -0
  115. package/payload/.agents/skills/site-architecture/references/site-type-templates.md +293 -0
  116. package/payload/.agents/skills/social-content/SKILL.md +278 -0
  117. package/payload/.agents/skills/social-content/evals/evals.json +92 -0
  118. package/payload/.agents/skills/social-content/references/platforms.md +170 -0
  119. package/payload/.agents/skills/social-content/references/post-templates.md +177 -0
  120. package/payload/.agents/skills/social-content/references/reverse-engineering.md +195 -0
  121. package/payload/.maya/executor.md +79 -0
  122. package/payload/.maya/meta-api-agent.md +48 -0
  123. package/payload/.maya/modes/consult.md +63 -0
  124. package/payload/.maya/modes/task.md +97 -0
  125. package/payload/.maya/planner.md +69 -0
  126. package/payload/.maya/researcher.md +51 -0
  127. package/payload/.maya/templates/plan.md +77 -0
  128. package/payload/.maya/templates/state.md +87 -0
  129. package/payload/.maya/templates/task-packet.md +75 -0
  130. package/payload/MAYA-CATALOG.md +115 -0
  131. package/payload/MAYA-DEPENDENCIES.md +58 -0
  132. package/payload/MAYA.md +151 -0
  133. package/payload/campaigns/README.md +14 -0
  134. package/payload/commands/maya-consult.md +28 -0
  135. package/payload/commands/maya-task.md +38 -0
  136. package/payload/commands/product.md +55 -0
  137. package/payload/research/README.md +14 -0
  138. package/payload/templates/README.md +15 -0
  139. package/payload/templates/plan.md +77 -0
  140. package/payload/templates/state.md +87 -0
  141. package/payload/templates/task-packet.md +75 -0
  142. package/payload/tools/REGISTRY.md +368 -0
  143. package/payload/tools/clis/README.md +187 -0
  144. package/payload/tools/clis/activecampaign.js +435 -0
  145. package/payload/tools/clis/adobe-analytics.js +161 -0
  146. package/payload/tools/clis/ahrefs.js +192 -0
  147. package/payload/tools/clis/amplitude.js +182 -0
  148. package/payload/tools/clis/apollo.js +142 -0
  149. package/payload/tools/clis/beehiiv.js +245 -0
  150. package/payload/tools/clis/brevo.js +368 -0
  151. package/payload/tools/clis/buffer.js +260 -0
  152. package/payload/tools/clis/calendly.js +253 -0
  153. package/payload/tools/clis/clearbit.js +163 -0
  154. package/payload/tools/clis/customer-io.js +205 -0
  155. package/payload/tools/clis/dataforseo.js +257 -0
  156. package/payload/tools/clis/demio.js +149 -0
  157. package/payload/tools/clis/dub.js +158 -0
  158. package/payload/tools/clis/g2.js +186 -0
  159. package/payload/tools/clis/ga4.js +194 -0
  160. package/payload/tools/clis/google-ads.js +189 -0
  161. package/payload/tools/clis/google-search-console.js +166 -0
  162. package/payload/tools/clis/hotjar.js +167 -0
  163. package/payload/tools/clis/hunter.js +249 -0
  164. package/payload/tools/clis/instantly.js +270 -0
  165. package/payload/tools/clis/intercom.js +399 -0
  166. package/payload/tools/clis/keywords-everywhere.js +185 -0
  167. package/payload/tools/clis/kit.js +232 -0
  168. package/payload/tools/clis/klaviyo.js +348 -0
  169. package/payload/tools/clis/lemlist.js +221 -0
  170. package/payload/tools/clis/linkedin-ads.js +185 -0
  171. package/payload/tools/clis/livestorm.js +292 -0
  172. package/payload/tools/clis/mailchimp.js +220 -0
  173. package/payload/tools/clis/mention-me.js +161 -0
  174. package/payload/tools/clis/meta-ads.js +181 -0
  175. package/payload/tools/clis/mixpanel.js +248 -0
  176. package/payload/tools/clis/onesignal.js +241 -0
  177. package/payload/tools/clis/optimizely.js +233 -0
  178. package/payload/tools/clis/paddle.js +385 -0
  179. package/payload/tools/clis/partnerstack.js +382 -0
  180. package/payload/tools/clis/plausible.js +249 -0
  181. package/payload/tools/clis/postmark.js +375 -0
  182. package/payload/tools/clis/resend.js +370 -0
  183. package/payload/tools/clis/rewardful.js +160 -0
  184. package/payload/tools/clis/savvycal.js +223 -0
  185. package/payload/tools/clis/segment.js +192 -0
  186. package/payload/tools/clis/semrush.js +207 -0
  187. package/payload/tools/clis/sendgrid.js +211 -0
  188. package/payload/tools/clis/snov.js +237 -0
  189. package/payload/tools/clis/tiktok-ads.js +190 -0
  190. package/payload/tools/clis/tolt.js +153 -0
  191. package/payload/tools/clis/trustpilot.js +276 -0
  192. package/payload/tools/clis/typeform.js +269 -0
  193. package/payload/tools/clis/wistia.js +256 -0
  194. package/payload/tools/clis/zapier.js +160 -0
  195. package/payload/tools/integrations/activecampaign.md +337 -0
  196. package/payload/tools/integrations/adobe-analytics.md +156 -0
  197. package/payload/tools/integrations/ahrefs.md +142 -0
  198. package/payload/tools/integrations/amplitude.md +135 -0
  199. package/payload/tools/integrations/apollo.md +148 -0
  200. package/payload/tools/integrations/beehiiv.md +157 -0
  201. package/payload/tools/integrations/brevo.md +268 -0
  202. package/payload/tools/integrations/buffer.md +138 -0
  203. package/payload/tools/integrations/calendly.md +161 -0
  204. package/payload/tools/integrations/clearbit.md +142 -0
  205. package/payload/tools/integrations/customer-io.md +187 -0
  206. package/payload/tools/integrations/dataforseo.md +165 -0
  207. package/payload/tools/integrations/demio.md +182 -0
  208. package/payload/tools/integrations/dub-co.md +160 -0
  209. package/payload/tools/integrations/g2.md +179 -0
  210. package/payload/tools/integrations/ga4.md +126 -0
  211. package/payload/tools/integrations/google-ads.md +159 -0
  212. package/payload/tools/integrations/google-search-console.md +147 -0
  213. package/payload/tools/integrations/hotjar.md +147 -0
  214. package/payload/tools/integrations/hubspot.md +178 -0
  215. package/payload/tools/integrations/hunter.md +90 -0
  216. package/payload/tools/integrations/instantly.md +104 -0
  217. package/payload/tools/integrations/intercom.md +292 -0
  218. package/payload/tools/integrations/keywords-everywhere.md +207 -0
  219. package/payload/tools/integrations/kit.md +167 -0
  220. package/payload/tools/integrations/klaviyo.md +228 -0
  221. package/payload/tools/integrations/lemlist.md +110 -0
  222. package/payload/tools/integrations/linkedin-ads.md +164 -0
  223. package/payload/tools/integrations/livestorm.md +313 -0
  224. package/payload/tools/integrations/mailchimp.md +150 -0
  225. package/payload/tools/integrations/mention-me.md +160 -0
  226. package/payload/tools/integrations/meta-ads.md +147 -0
  227. package/payload/tools/integrations/mixpanel.md +137 -0
  228. package/payload/tools/integrations/onesignal.md +229 -0
  229. package/payload/tools/integrations/optimizely.md +171 -0
  230. package/payload/tools/integrations/paddle.md +212 -0
  231. package/payload/tools/integrations/partnerstack.md +222 -0
  232. package/payload/tools/integrations/plausible.md +177 -0
  233. package/payload/tools/integrations/posthog.md +151 -0
  234. package/payload/tools/integrations/postmark.md +234 -0
  235. package/payload/tools/integrations/resend.md +168 -0
  236. package/payload/tools/integrations/rewardful.md +147 -0
  237. package/payload/tools/integrations/salesforce.md +150 -0
  238. package/payload/tools/integrations/savvycal.md +181 -0
  239. package/payload/tools/integrations/segment.md +159 -0
  240. package/payload/tools/integrations/semrush.md +121 -0
  241. package/payload/tools/integrations/sendgrid.md +161 -0
  242. package/payload/tools/integrations/shopify.md +176 -0
  243. package/payload/tools/integrations/snov.md +94 -0
  244. package/payload/tools/integrations/stripe.md +148 -0
  245. package/payload/tools/integrations/tiktok-ads.md +161 -0
  246. package/payload/tools/integrations/tolt.md +144 -0
  247. package/payload/tools/integrations/trustpilot.md +191 -0
  248. package/payload/tools/integrations/typeform.md +190 -0
  249. package/payload/tools/integrations/webflow.md +198 -0
  250. package/payload/tools/integrations/wistia.md +164 -0
  251. package/payload/tools/integrations/wordpress.md +175 -0
  252. package/payload/tools/integrations/zapier.md +150 -0
  253. package/payload/tools/meta/README.md +55 -0
  254. package/payload/tools/meta/meta-cache-schema.md +65 -0
  255. package/payload/tools/meta/meta-fetch.ps1 +324 -0
  256. package/payload/tools/meta/meta-fetch.test.ps1 +38 -0
  257. package/vendor/shared-installer/manifests/claude-files.json +13 -0
  258. package/vendor/shared-installer/manifests/codex-files.json +13 -0
  259. package/vendor/shared-installer/manifests/common-files.json +13 -0
  260. package/vendor/shared-installer/package.json +15 -0
  261. package/vendor/shared-installer/src/bootstrap.js +12 -0
  262. package/vendor/shared-installer/src/cli-options.js +53 -0
  263. package/vendor/shared-installer/src/fs.js +105 -0
  264. package/vendor/shared-installer/src/index.js +44 -0
  265. package/vendor/shared-installer/src/install.js +157 -0
  266. package/vendor/shared-installer/src/manifest.js +52 -0
  267. package/vendor/shared-installer/templates/claude/.claude/skills/.gitkeep +1 -0
  268. package/vendor/shared-installer/templates/claude/CLAUDE.md +27 -0
  269. package/vendor/shared-installer/templates/codex/.agent/skills/.gitkeep +1 -0
  270. package/vendor/shared-installer/templates/codex/AGENTS.md +27 -0
@@ -0,0 +1,316 @@
1
+ # Cancel Flow Patterns
2
+
3
+ Detailed cancel flow patterns by business type, billing provider, and industry.
4
+
5
+ ---
6
+
7
+ ## Cancel Flow by Business Type
8
+
9
+ ### B2C / Self-Serve SaaS
10
+
11
+ High volume, low touch. The flow must work without human intervention.
12
+
13
+ **Flow structure:**
14
+ ```
15
+ Cancel button → Exit survey (1 question) → Dynamic offer → Confirm → Post-cancel
16
+ ```
17
+
18
+ **Characteristics:**
19
+ - Fully automated, no human in the loop
20
+ - Quick — 2-3 screens maximum
21
+ - One offer + one fallback, not a menu of options
22
+ - Mobile-optimized (significant cancellations on mobile)
23
+ - Clear "continue cancelling" at every step
24
+
25
+ **Typical save rate:** 20-30%
26
+
27
+ **Example flow for a $29/mo productivity app:**
28
+ 1. "What's the main reason?" → 6 options
29
+ 2. Selected "Too expensive" → "Get 25% off for 3 months (save $21.75)"
30
+ 3. Declined → "Or switch to our Starter plan at $12/mo"
31
+ 4. Declined → "We're sorry to see you go. Your access continues until [date]."
32
+
33
+ ---
34
+
35
+ ### B2B / Team Plans
36
+
37
+ Lower volume, higher stakes. Personal outreach is worth the cost.
38
+
39
+ **Flow structure:**
40
+ ```
41
+ Cancel button → Exit survey → Offer (or route to CS) → Confirm → Post-cancel
42
+ ```
43
+
44
+ **Characteristics:**
45
+ - Route accounts above MRR threshold to customer success
46
+ - Show team impact ("Your 8 team members will lose access")
47
+ - Offer admin-to-admin call for enterprise accounts
48
+ - Longer consideration — allow "schedule a call" as a save option
49
+ - Require admin/owner role to cancel (not any team member)
50
+
51
+ **Typical save rate:** 30-45% (higher because of personal touch)
52
+
53
+ **MRR-based routing:**
54
+
55
+ | Account MRR | Cancel Flow |
56
+ |-------------|-------------|
57
+ | <$100/mo | Automated flow with offers |
58
+ | $100-$500/mo | Automated + flag for CS follow-up |
59
+ | $500-$2,000/mo | Route to CS before cancel completes |
60
+ | $2,000+/mo | Block self-serve cancel, require CS call |
61
+
62
+ ---
63
+
64
+ ### Freemium / Free-to-Paid
65
+
66
+ Users cancelling paid to return to free tier. Different psychology — they're not leaving, they're downgrading.
67
+
68
+ **Flow structure:**
69
+ ```
70
+ Cancel button → "Switch to Free?" prompt → Exit survey (if still cancelling) → Offer → Confirm
71
+ ```
72
+
73
+ **Characteristics:**
74
+ - Lead with the free tier as the first option (not a save offer)
75
+ - Show what they keep on free vs. what they lose
76
+ - The "save" is keeping them on free, not losing them entirely
77
+ - Track free-tier users for future re-upgrade campaigns
78
+
79
+ ---
80
+
81
+ ## Cancel Flow by Billing Interval
82
+
83
+ ### Monthly Subscribers
84
+
85
+ - More price-sensitive, shorter commitment
86
+ - Discount offers work well (20-30% for 2-3 months)
87
+ - Pause is effective (1-2 months)
88
+ - Suggest annual plan at a discount as an alternative
89
+
90
+ **Offer priority:**
91
+ 1. Discount (if reason = price)
92
+ 2. Pause (if reason = not using / temporary)
93
+ 3. Annual plan switch (if engaged but price-sensitive)
94
+
95
+ ### Annual Subscribers
96
+
97
+ - Higher commitment, often cancelling for stronger reasons
98
+ - Prorate refund expectations matter
99
+ - Longer save window (they've already paid)
100
+ - Personal outreach more justified (higher LTV at stake)
101
+
102
+ **Offer priority:**
103
+ 1. Pause remainder of term (if temporary)
104
+ 2. Plan adjustment + credit for next renewal
105
+ 3. Personal outreach from CS
106
+ 4. Partial refund + downgrade (better than full refund + cancel)
107
+
108
+ **Refund handling:**
109
+ - Offer prorated refund if significant time remaining
110
+ - "Pause until renewal" if less than 3 months left
111
+ - Be generous — bad refund experiences create vocal detractors
112
+
113
+ ---
114
+
115
+ ## Save Offer Patterns
116
+
117
+ ### The Discount Ladder
118
+
119
+ Don't lead with your biggest discount. Escalate:
120
+
121
+ ```
122
+ Cancel click → 15% off → Still cancelling → 25% off → Still cancelling → Let them go
123
+ ```
124
+
125
+ **Rules:**
126
+ - Maximum 2 discount offers per cancel session
127
+ - Never exceed 30% (higher trains cancel-for-discount behavior)
128
+ - Time-limit discounts (2-3 months, then full price resumes)
129
+ - Track discount accepters — if they cancel again at full price, don't re-offer
130
+
131
+ ### The Pause Playbook
132
+
133
+ Pause is often better than a discount because it doesn't devalue your product.
134
+
135
+ **Implementation:**
136
+
137
+ | Setting | Recommendation |
138
+ |---------|---------------|
139
+ | Pause duration options | 1 month, 2 months, 3 months |
140
+ | Default selection | 1 month (shortest) |
141
+ | Maximum pause | 3 months (longer pauses rarely return) |
142
+ | During pause | Keep data, remove access |
143
+ | Reactivation | Auto-reactivate with 7-day advance email |
144
+ | Repeat pauses | Allow 1 pause per 12-month period |
145
+
146
+ **Pause reactivation sequence:**
147
+ - Day -7: "Your pause ends in 7 days. We've been busy — here's what's new."
148
+ - Day -1: "Welcome back tomorrow! Here's what's waiting for you."
149
+ - Day 0: "You're back! Here's a quick tour of what's new."
150
+
151
+ ### The Downgrade Path
152
+
153
+ For multi-plan products, downgrade is the strongest save:
154
+
155
+ ```
156
+ ┌─────────────────────────────────────────┐
157
+ │ Before you go, what about right-sizing │
158
+ │ your plan? │
159
+ │ │
160
+ │ Current: Pro ($49/mo) │
161
+ │ │
162
+ │ ┌─────────────────────────────────┐ │
163
+ │ │ Switch to Starter ($19/mo) │ │
164
+ │ │ │ │
165
+ │ │ ✓ Keep: Projects, integrations │ │
166
+ │ │ ✗ Lose: Advanced analytics, │ │
167
+ │ │ team features │ │
168
+ │ │ │ │
169
+ │ │ [Switch to Starter] │ │
170
+ │ └─────────────────────────────────┘ │
171
+ │ │
172
+ │ [No thanks, continue cancelling] │
173
+ └─────────────────────────────────────────┘
174
+ ```
175
+
176
+ **Downgrade best practices:**
177
+ - Show exactly what they keep and what they lose
178
+ - Use checkmarks and X marks for scanability
179
+ - Preserve their data even on the lower plan
180
+ - If they downgrade, don't show upgrade prompts for at least 30 days
181
+
182
+ ### The Competitor Switch Handler
183
+
184
+ When the cancel reason is "switching to competitor":
185
+
186
+ 1. **Ask which competitor** (optional, don't force it)
187
+ 2. **Show a comparison** if you have one (see competitor-alternatives skill)
188
+ 3. **Offer a migration credit** ("We'll match their price for 3 months")
189
+ 4. **Request a feedback call** ("15 minutes to understand what we're missing")
190
+
191
+ This data is gold for product and marketing teams.
192
+
193
+ ---
194
+
195
+ ## Post-Cancel Experience
196
+
197
+ What happens after cancel matters for:
198
+ - Win-back potential
199
+ - Word of mouth
200
+ - Review sentiment
201
+
202
+ ### Confirmation Page
203
+
204
+ ```
205
+ Your subscription has been cancelled.
206
+
207
+ What happens next:
208
+ • Your access continues until [billing period end date]
209
+ • Your data will be preserved for 90 days
210
+ • You can reactivate anytime from your account settings
211
+
212
+ [Reactivate My Account]
213
+
214
+ We'd love to have you back. We'll keep improving based on feedback
215
+ from customers like you.
216
+ ```
217
+
218
+ ### Post-Cancel Sequence
219
+
220
+ | Timing | Action |
221
+ |--------|--------|
222
+ | Immediately | Confirmation email with access end date |
223
+ | Day 1 | (Nothing — don't be desperate) |
224
+ | Day 7 | NPS/satisfaction survey about overall experience |
225
+ | Day 30 | "What's new" email with recent improvements |
226
+ | Day 60 | Address their specific cancel reason if resolved |
227
+ | Day 90 | Final win-back with special offer |
228
+
229
+ **For detailed win-back email sequences**: See the email-sequence skill.
230
+
231
+ ---
232
+
233
+ ## Segmentation Rules
234
+
235
+ The most effective cancel flows use segmentation to show different offers to different customers.
236
+
237
+ ### Segmentation Dimensions
238
+
239
+ | Dimension | Why It Matters |
240
+ |-----------|---------------|
241
+ | Plan / MRR | Higher-value customers get personal outreach |
242
+ | Tenure | Long-term customers get more generous offers |
243
+ | Usage level | High-usage customers get different messaging than dormant ones |
244
+ | Billing interval | Monthly vs. annual need different approaches |
245
+ | Previous saves | Don't re-offer the same discount to a repeat canceller |
246
+ | Cancel reason | Drives which offer to show (core mapping) |
247
+
248
+ ### Segment-Specific Flows
249
+
250
+ **New customer (< 30 days):**
251
+ - They haven't activated. The save is onboarding, not discounts.
252
+ - Offer: Free onboarding call, setup help, extended trial
253
+ - Ask: "What were you hoping to accomplish?" (learn what's missing)
254
+
255
+ **Engaged customer cancelling on price:**
256
+ - They love the product but can't justify the cost.
257
+ - Offer: Discount, annual plan switch, downgrade
258
+ - High save potential
259
+
260
+ **Dormant customer (no login 30+ days):**
261
+ - They forgot about you. A discount won't bring them back.
262
+ - Offer: Pause subscription, "what changed?" conversation
263
+ - Low save potential — focus on learning why
264
+
265
+ **Power user switching to competitor:**
266
+ - They're actively choosing something else.
267
+ - Offer: Competitive match, feedback call, roadmap preview
268
+ - Medium save potential — depends on reason
269
+
270
+ ---
271
+
272
+ ## Implementation Checklist
273
+
274
+ ### Phase 1: Foundation (Week 1)
275
+ - [ ] Add cancel flow (survey + 1 offer + confirmation)
276
+ - [ ] Set up exit survey with 5-7 reason categories
277
+ - [ ] Map one offer per reason (simple 1:1 mapping)
278
+ - [ ] Track cancel reasons and save rate in analytics
279
+ - [ ] Enable pre-dunning card expiry emails
280
+
281
+ ### Phase 2: Optimization (Weeks 2-4)
282
+ - [ ] Add fallback offers (primary + secondary per reason)
283
+ - [ ] Implement pause subscription option
284
+ - [ ] Set up dunning email sequence (4 emails over 10 days)
285
+ - [ ] Enable smart retries (Stripe Smart Retries or equivalent)
286
+ - [ ] Add MRR-based routing for high-value accounts
287
+
288
+ ### Phase 3: Advanced (Month 2+)
289
+ - [ ] Build health score from usage signals
290
+ - [ ] Set up proactive intervention triggers
291
+ - [ ] A/B test discount amounts and offer types
292
+ - [ ] Segment flows by plan, tenure, and usage
293
+ - [ ] Post-cancel win-back sequence (coordinate with email-sequence skill)
294
+ - [ ] Cohort analysis: churn by channel, plan, tenure
295
+
296
+ ---
297
+
298
+ ## Compliance Notes
299
+
300
+ ### FTC Click-to-Cancel Rule (US)
301
+ - Cancellation must be as easy as signup
302
+ - Cannot require a phone call to cancel if signup was online
303
+ - Cannot add excessive steps to discourage cancellation
304
+ - Save offers are allowed but "continue cancelling" must be clear
305
+
306
+ ### GDPR / Data Retention (EU)
307
+ - Inform users about data retention period post-cancel
308
+ - Offer data export before account deletion
309
+ - Honor deletion requests within 30 days
310
+ - Don't use post-cancel data for marketing without consent
311
+
312
+ ### General Best Practices
313
+ - Always show a clear path to complete cancellation
314
+ - Never hide the cancel button (dark pattern)
315
+ - Process cancellation even if save flow has errors
316
+ - Confirm cancellation with email receipt