growth-hacking
Data-driven growth strategy for product-led and marketing-led companies. Covers AARRR pirate metrics, activation optimization, viral loops, channel experimentation, retention mechanics, conversion rate optimization, growth accounting, and product-led
Installation
npx clawhub@latest install growth-hackingView the full skill documentation and source below.
Documentation
Growth Hacking
"Growth hacking" is a misleading term — the best growth practitioners are disciplined experimenters, not hackers. The core skill is building a systematic process to identify, prioritize, and run high-velocity experiments across the entire user lifecycle. This isn't a bag of tricks; it's a methodology for compounding small wins into exponential outcomes.
Core Mental Model
The AARRR framework (Pirate Metrics) maps the full user lifecycle. Critically: optimize in reverse order. Improving Retention makes every Acquisition dollar worth more. Improving Revenue means each retained user generates more. Don't pour water into a leaky bucket by optimizing Acquisition before fixing Retention.
AARRR Priority Order (counterintuitive):
5 → Retention (keeps users you already have)
4 → Revenue (extracts more value from retained users)
3 → Referral (turns retained users into acquisition engine)
2 → Activation (converts signups into retained users)
1 → Acquisition (only valuable once the above are working)
The leaky bucket metaphor:
Acquisition fills the bucket. Retention is the bucket's integrity.
Fixing Retention multiplies the ROI of every Acquisition dollar.
AARRR Framework In Depth
Acquisition — Where Users Come From
Channels to track:
- Organic Search (content SEO value)
- Paid Search (SEM/Google Ads)
- Paid Social (Facebook, LinkedIn, TikTok Ads)
- Organic Social (viral/referral from social)
- Direct (brand recognition / word of mouth)
- Referral (affiliate, partner, product referral programs)
- Email (outbound, newsletter)
- Product Hunt / Hacker News launches
Key metrics:
- Traffic by channel
- CAC (Customer Acquisition Cost) by channel
- Conversion rate by channel (landing → signup)
- Time-to-first-value by channel (do some channels attract better-fit users?)
Activation — First Value Moment
Activation = user experiences the core value of your product for the first time.
The "aha moment" — the thing that makes them understand why they should keep using it.
Examples:
Slack: First message sent WITH a coworker (not solo)
Facebook: 7 friends in 10 days
Twitter: Following 30 accounts in first session
Dropbox: Saving a file and syncing to second device
HubSpot: Setting up first contact record
Moltbot: First message received from another agent
Finding your aha moment:
1. Compare users who retained (D30 > 0) vs those who churned
2. Find the early action that best predicts retention
3. That action IS your aha moment → your activation funnel should drive to it
Activation rate formula:
Activation rate = Users who completed aha moment / Total new signups
Retention — Keeping Users Coming Back
Retention metrics by business type:
- B2C mobile app: D1/D7/D30 retention
- B2B SaaS: W1/W4/W12 retention (weekly active accounts)
- Ecommerce: 30/60/90-day repeat purchase rate
- Marketplace: Supply AND demand retention tracked separately
Healthy benchmarks (vary by category):
Consumer social: D30 > 25%
Mobile gaming: D30 > 10%
B2B SaaS: W12 > 40% accounts
Retention curve interpretation:
Flat line (even at 5%): PMF achieved for that segment
Declining to 0%: Structural retention problem (wrong audience or product gap)
Rising curve: Referral or compounding effect (excellent sign)
Revenue — Monetization
Revenue metrics:
- MRR (Monthly Recurring Revenue)
- ARPU (Average Revenue Per User)
- LTV (Lifetime Value) = ARPU × 1/churn_rate
- LTV:CAC ratio target: > 3x (payback period < 12-18 months)
- Expansion MRR: revenue from upsells/seat expansion
- Contraction MRR: revenue lost from downgrades
Growth accounting for revenue:
Net New MRR = New MRR + Expansion MRR - Churn MRR - Contraction MRR
Example:
New MRR: +$50,000
Expansion: +$15,000
Churn MRR: -$20,000
Contraction: -$5,000
Net New MRR: +$40,000
Referral — Viral Loops
K-factor (viral coefficient):
K = i × r
i = invitations sent per user (avg)
r = conversion rate of invitations (% who sign up)
K < 1: Product is not self-sustaining via virality alone (needs paid/organic acquisition)
K = 1: For every user, exactly one more user is acquired (linear, not viral)
K > 1: True viral growth (each cohort generates more than previous)
Example:
Average user sends 5 invitations; 20% convert
K = 5 × 0.20 = 1.0 (barely viral — optimize either i or r)
If r improves to 25%:
K = 5 × 0.25 = 1.25 → viral growth loop
Referral mechanic types:
1. Incentivized: "Give $20, get $20" (Uber, PayPal, Robinhood)
2. Vanity: "Share your score / ranking" (Spotify Wrapped)
3. Utility: Product is better when shared (Slack, Dropbox folders)
4. Awareness: "Sent via [Product]" branding in output (Zoom backgrounds, Typeform)
Channel Experimentation Framework
ICE Scoring for Channels
ICE = Impact × Confidence × Ease (1-10 each)
Channel: TikTok short-form video
Impact: 8 (huge potential reach for B2C)
Confidence: 4 (uncertain — our audience may not be there)
Ease: 3 (requires video production capability we don't have)
ICE Score: 8 × 4 × 3 = 96 (run a small test before investing)
Channel: Google Search Ads
Impact: 7 (reliable, predictable)
Confidence: 9 (we have data from previous campaigns)
Ease: 7 (team knows the tool, high-intent queries clear)
ICE Score: 7 × 9 × 7 = 441 (invest here)
Prioritization: Run ICE on 10+ channel ideas. Top scores get 4-week experiments.
Experiment Design Template
**Experiment Name**: [Short descriptive name]
**Hypothesis**: If we [do X], then [Y metric] will [increase/decrease] by [Z%],
because [mechanism].
**Channel/Area**: [Acquisition / Activation / Retention / Revenue / Referral]
**Primary metric**: [Specific, measurable outcome]
**Guardrail metric**: [What we won't let degrade]
**Duration**: [Minimum time to reach significance — calculate, don't guess]
**Sample size needed**: [Based on baseline rate + MDE]
**Effort**: [Low / Medium / High] = [estimated hours]
**Expected result date**: [Date]
Result (fill after):
[ ] Win: Ship to 100%
[ ] Lose: Document learnings
[ ] Inconclusive: Extend or redesign
Learning Velocity
The goal isn't to win every experiment — it's to learn fast. Track:
Experiment velocity: # experiments run per month
Win rate: % that showed statistically significant positive results
Learning quality: Did learnings inform future experiments?
Target for growth-stage company:
4-6 experiments/month per team
25-35% win rate (higher = not ambitious enough; lower = wrong focus)
Activation Optimization
Aha Moment Identification
# Pseudocode for aha moment analysis
# Compare "actions in first 7 days" between retained vs churned users
import pandas as pd
df = events[events['days_since_signup'] <= 7].groupby(['user_id', 'event_name']).size()
df = df.reset_index().pivot(index='user_id', columns='event_name', values=0).fillna(0)
retained = set(users[users['D30_active'] == True]['user_id'])
churned = set(users[users['D30_active'] == False]['user_id'])
for event in df.columns:
retention_rate_with = df[df[event] > 0].index.isin(retained).mean()
retention_rate_without = df[df[event] == 0].index.isin(retained).mean()
lift = retention_rate_with / retention_rate_without
print(f"{event}: {retention_rate_with:.1%} vs {retention_rate_without:.1%} — {lift:.1f}x lift")
# Event with highest "lift" = candidate aha moment
Onboarding Flow Optimization
Principles:
1. TIME TO VALUE: Reduce steps between signup and first aha moment
- Each step that doesn't drive toward aha = friction = drop-off
- Show value before asking for information (reverse onboarding)
2. PROGRESSIVE DISCLOSURE: Don't show all features upfront
- Surface the one feature that delivers the aha moment first
- Advanced features unlocked/revealed after activation
3. EMPTY STATE DESIGN: A blank product is confusing
- Seed with sample data, templates, or guided setup
- "Here's what it looks like when you have data" → skeleton of value
4. COMPLETION ANXIETY: Users don't finish things they start
- Progress bars increase completion rates (Endowed Progress Effect)
- Celebrate small wins ("You did it! 1 of 3 setup steps complete ✓")
5. COPY AS UX: The words matter as much as the design
- Clear verbs: "Add your first team member" not "Team Members"
- Benefits not features: "Start collaborating" not "Team Settings"
Retention Mechanics
Push Notification Strategy
Rules for push notifications that retain (not annoy):
1. Opt-in moment: ask AFTER the user has experienced value, not on first launch
2. Permission framing: explain the value before the system prompt
"We'll send you alerts when a teammate mentions you — want them?"
3. Frequency caps: max 1 push/day for most products
4. Personalization: triggered by user's own data, not generic blasts
5. A/B test timing: usually morning (7-9am) or evening (6-8pm) in user's TZ
High-value notification types:
✅ Activity notifications (someone interacted with my content)
✅ Milestone celebrations ("You've used [Product] for 30 days!")
✅ Re-engagement at right moment ("Your project deadline is tomorrow")
❌ Promotional pushes ("Check out our new feature!")
❌ Daily digests nobody asked for
Re-engagement Email Timing
Re-engagement sequence for inactive users:
Day 7 inactive: "Still getting started?" — tips/resources
Day 14 inactive: "We miss you" — personalized insight from their data
Day 30 inactive: "Your [X] is waiting" — specific hook from their account
Day 60 inactive: Last attempt — offer / strong benefit statement
Day 90+ inactive: Suppress from marketing, exclude from active user counts
Subject line formulas:
Curiosity: "Something happened to your account while you were away"
Benefit: "Here's what you've been missing in [Product]"
Social: "3 of your teammates are using [Product] this week"
Urgency: "Your free trial ends in 3 days"
Habit Loop Design
Nir Eyal's Hook Model applied to product:
TRIGGER → ACTION → VARIABLE REWARD → INVESTMENT
External trigger: Push notification, email, ads
Internal trigger: Boredom, FOMO, anxiety (strongest)
Action: Tap, open, scroll (must be easy — reduce friction)
Variable reward:
- Social rewards: likes, comments, recognition
- Resource rewards: useful information, deals
- Self rewards: progress, completion, mastery
Investment:
- Storing data, preferences, history
- Makes product smarter/more personalized over time
- Switching cost increases with investment
Design for internal triggers:
"When I [feel bored / anxious / want to know X], I open [Product]."
Map your product to a reliable internal trigger.
Conversion Rate Optimization
Landing Page Testing Hierarchy
Test these elements in priority order (highest impact first):
1. Headline — value prop clarity (biggest impact)
2. CTA button — text, color, placement
3. Hero image/video — social proof vs product screenshot vs abstract
4. Pricing display — monthly vs annual toggle, anchor pricing
5. Social proof — logos, testimonials, review count
6. Form length — every additional field reduces conversion
7. Page layout — single-column vs two-column, fold position
8. Copy length — long vs short landing page (depends on product complexity)
Pricing Page Optimization
Pricing page best practices:
- Anchor with highest plan first (rightward anchoring bias → pick middle)
- Highlight recommended plan with "Most Popular" badge
- Annual toggle prominently shown with savings amount ("Save $240/year")
- Feature comparison matrix: include features most buyers care about
- FAQs on pricing page: address top objections (can I cancel? refund policy?)
- Testimonial on pricing page: close to CTA ("We switched from X and save $500/mo")
A/B test ideas:
- 3 plans vs 4 plans (cognitive load)
- Removing free plan (forces upgrade path)
- Feature-named plans vs audience-named plans (Pro vs Teams)
- Monthly as default vs annual as default
Growth Accounting
Monthly growth accounting framework:
Track these 4 user types:
New: First time active this period
Retained: Was active last period, active again this period
Resurrected: Was inactive for 1+ periods, active again this period
Churned: Was active last period, NOT active this period
Growth rate = (New + Resurrected - Churned) / Prior period active
Quick ratio (product health indicator):
Quick ratio = (New + Resurrected) / Churned
QR > 4: Exceptional growth
QR 2-4: Healthy growth
QR 1-2: Growing but retention problems
QR < 1: Declining user base
Track both MAU and MRR version of this for full picture.
Product-Led Growth (PLG)
PLG = product is the primary driver of acquisition, activation, and expansion.
Sales-assist is secondary. Marketing supports awareness.
PLG motions:
1. FREEMIUM: Free tier drives adoption → paid tier for power users
Examples: Slack, Dropbox, Figma, Notion
Key: Free tier must deliver real value; paid tier must be compelling enough to convert
2. FREE TRIAL: Full product access for limited time
Examples: HubSpot, Salesforce
Key: Enough time to reach aha moment; clear value by day 14
3. REVERSE TRIAL: Free tier users get temporary access to paid features
Examples: Canva, Grammarly
Key: Let them experience the premium aha moment; create "loss aversion"
PLG metrics (different from sales-led):
- Time to activate (lower = better)
- Activation rate (% who hit aha moment)
- PQL (Product Qualified Lead) — users who hit expansion triggers
- Product virality (invites sent / accepted per MAU)
- Expansion rate (% of accounts that expand MRR without sales touch)
Anti-Patterns
❌ Optimizing Acquisition before Retention — Pouring more users into a leaky product wastes CAC.
❌ Viral mechanic without product value — "Invite a friend" without a compelling reason to invite creates spam, not growth.
❌ One big bet instead of many small experiments — "The redesign will fix everything" delays learning. 10 small tests beat 1 long shot.
❌ Vanity metric obsession — Page views, app downloads, and social followers feel like growth. LTV-positive retained users ARE growth.
❌ Short experiment windows — Checking results after 2 days and declaring a winner. Run experiments for minimum 2 business cycles (14 days).
❌ Ignoring channel mix — Concentrating 100% of acquisition in one channel creates existential risk (algorithm change, CAC spike, shutdown).
❌ Copying competitor growth tactics out of context — Dropbox's referral worked because their product was worth sharing. The mechanic was downstream of product quality.
Quick Reference
K-Factor Calculator
K = (avg invites sent per user) × (invite → signup conversion rate)
K > 1.0: Viral growth
K = 0.5: Each user brings 0.5 users; need external acquisition to sustain
K = 1.5: Each 100 users brings 150 users; accelerating growth
Experiment Velocity Tracker
| Week | Experiments Run | Winners | Learnings |
| W1 | 2 | 0 | Headline test inconclusive |
| W2 | 3 | 1 | New CTA text +18% clicks |
| W3 | 4 | 2 | ... |
AARRR Quick Diagnosis
| Metric down? | Likely cause | First experiment |
| Acquisition rate | Channel CPM up, landing page CTR down | Landing page headline test |
| Activation rate | Onboarding friction, wrong users | Reduce onboarding steps |
| Retention | Wrong aha moment, product gap | Aha moment identification |
| Revenue | Price too high, wrong tier structure | Pricing page test |
| Referral | No reason to share, mechanic unclear | Add social proof to share moment |