Calculate and analyze Customer Acquisition Cost (CAC) and Customer Lifetime Value (LTV) to evaluate unit economics and marketing efficiency. Use this skill when the user needs to assess whether their customer acquisition is profitable, optimize marketing spend allocation, or evaluate business model viability — even if they say 'are we spending too much on ads', 'what's each customer worth', or 'is our growth sustainable'.
npx skills add https://github.com/asgard-ai-platform/skills --skill biz-cac-ltv
CAC (Customer Acquisition Cost) and LTV (Customer Lifetime Value) are the two fundamental unit economics metrics. Together they answer: "Does each customer generate more revenue than it costs to acquire them?" The LTV:CAC ratio is the single most important indicator of marketing efficiency and business model viability.
Trigger conditions:
When NOT to use:
IRON LAW: LTV:CAC > 3 for Healthy Business
LTV:CAC ratio must be at least 3:1 for sustainable businesses.
- < 1:1 = You're LOSING money on every customer
- 1-3:1 = Unsustainable unless you can reduce CAC or increase LTV
- 3-5:1 = Healthy
- > 5:1 = Potentially underinvesting in growth (leaving market share on the table)
This ratio applies to the BLENDED average. Individual channels can be
below 3:1 if the overall blend exceeds it.
IRON LAW: CAC Must Include ALL Acquisition Costs
CAC = Total marketing & sales spend / Number of new customers acquired
"Total spend" includes: ad spend, marketing team salaries, sales team
salaries, tools, content production, events — EVERYTHING spent to acquire
customers in that period. Excluding salaries or tools understates true CAC.
Basic formula:
CAC = Total acquisition spend in period / New customers acquired in period
By channel:
CAC (Channel X) = Spend on Channel X / Customers from Channel X
Include in total acquisition spend:
Simple formula:
LTV = ARPU × Gross Margin % × Average Customer Lifespan
Where:
Cohort-based (more accurate):
Track actual revenue per customer cohort over time. Sum cumulative revenue per customer, apply gross margin.
| Metric | Formula | Healthy Benchmark |
|--------|---------|-------------------|
| LTV:CAC | LTV / CAC | > 3:1 |
| Payback Period | CAC / (ARPU × Gross Margin) | < 12 months |
| CAC % of LTV | CAC / LTV × 100 | < 33% |
Calculate CAC and LTV by:
To reduce CAC:
To increase LTV:
# CAC-LTV Analysis: {Company/Product}
## Unit Economics Summary
| Metric | Value | Benchmark | Status |
|--------|-------|-----------|--------|
| CAC (blended) | ${X} | — | — |
| LTV | ${X} | — | — |
| LTV:CAC | {X}:1 | > 3:1 | ✓/✗ |
| Payback Period | {X} months | < 12 months | ✓/✗ |
## CAC by Channel
| Channel | Spend | Customers | CAC | % of Total |
|---------|-------|-----------|-----|-----------|
| {channel} | ${X} | {N} | ${X} | {X%} |
## LTV Calculation
- ARPU: ${X}/month
- Gross Margin: {X%}
- Avg Lifespan: {X} months (churn rate: {X%}/month)
- LTV = ${X}
## LTV:CAC by Segment
| Segment | CAC | LTV | Ratio | Action |
|---------|-----|-----|-------|--------|
| {seg A} | ${X} | ${X} | {X}:1 | Invest / Maintain / Cut |
## Optimization Recommendations
1. ...
2. ...
Scenario: CAC-LTV for a Taiwanese B2C subscription box (monthly NT$599)
CAC calculation:
| Item | Monthly Spend |
|------|-------------|
| Facebook/Instagram ads | NT$200,000 |
| Google Ads | NT$80,000 |
| KOL partnerships | NT$50,000 |
| Marketing team (2 people) | NT$120,000 |
| Total | NT$450,000 |
New customers in month: 300
CAC = NT$450,000 / 300 = NT$1,500
LTV calculation:
LTV:CAC = 4,118 / 1,500 = 2.75:1 — Below the 3:1 threshold. Need to either reduce CAC or improve retention.
What went wrong:
| Script | Description | Usage |
|--------|-------------|-------|
| scripts/cac_ltv.py | Compute CAC, LTV, LTV/CAC ratio, and payback period | python scripts/cac_ltv.py --help |
Run python scripts/cac_ltv.py --verify to execute built-in sanity tests.
references/cohort-ltv.mdreferences/attribution-models.mdA set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).
Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns.
Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.
Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.
Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation
Fix PageSpeed Insights/Lighthouse accessibility "!" errors caused by contrast audit failures (CSS filters, OKLCH/OKLAB, low opacity, gradient text, image backgrounds). Use for accessibility-driven SEO/performance debugging and remediation.
Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store
Elite frontend image-direction skill for generating premium, conversion-aware website design references. CRITICAL OUTPUT RULE — generate ONE separate horizontal image FOR EVERY section. A landing page with 8 sections produces 8 images. Never compress multiple sections into one image. Enforces composition variety (not always left-text / right-image), background-image freedom, varied CTAs, varied hero scales (giant / mid / mini minimalist), narrative concept spine, second-read moments, and a single consistent palette across all images. Optimized for landing pages, marketing sites, and product comps that developers or coding models can accurately recreate.
Take asgard-ai-platform/biz-cac-ltv from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.