Systems Lab

Agent skill

ltv-cac-modeling-framework

This skill should be used when the user asks to \"calculate customer lifetime value\", \"set CPA targets based on LTV\", \"evaluate LTV to CAC ratio\", \"calculate payback period\", or mentions \"LTV:CAC\", \"customer acquisition cost\", \"MER\", or \"maximum allowable acquisition cost\".

activeSelf-containedInstructions only2,715 words

Filed under ABM and paid.

From Ad-Superpowers/ad-superpowers-plugin · 120 skills · 5 · pushed 2026-09-10

What it does when it runs

This skill should be used when the user asks to \"calculate customer lifetime value\", \"set CPA targets based on LTV\", \"evaluate LTV to CAC ratio\", \"calculate payback period\", or mentions \"LTV:CAC\", \"customer acquisition cost\", \"MER\", or \"maximum allowable acquisition cost\". Do NOT use for: single-campaign ROAS optimization (use platform-specific skills), creative performance analysis (use creative-fatigue-analyzer), or funnel structure design (use ecommerce-funnel-optimizer).

Read from the skill and the 0 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.

Keys and connectors you must supply
None found.
Hosts it reaches
No third-party host appears in the skill or its bundled files.
Tool permissions it declares
No allowed-tools in the frontmatter. It only issues instructions, so there is nothing to bound.
Actions present in the files
None. Instructions only.

Ask about ltv-cac-modeling-framework

Opens your assistant with this page's verified links already in the prompt.

Is this safe to install?ClaudeChatGPT
Adapt it to my stackClaudeChatGPT
What else do I need for it to workClaudeChatGPT
Rather ask a human? Talk to Cheetah
git clone --depth 1 --filter=blob:none --sparse https://github.com/Ad-Superpowers/ad-superpowers-plugin.git /tmp/ad-superpowers-plugin
git -C /tmp/ad-superpowers-plugin sparse-checkout set "plugin/skills/ltv-cac-modeling-framework"
mkdir -p ~/.claude/skills/ltv-cac-modeling-framework
cp -R "/tmp/ad-superpowers-plugin/plugin/skills/ltv-cac-modeling-framework/." ~/.claude/skills/ltv-cac-modeling-framework/

Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗

Or take the whole library

This repo ships a .claude-plugin manifest, so Claude Code can install all 120 skills at once. Plugin skills are invoked as /<plugin>:<skill>, so they never collide with your own.

/plugin marketplace add Ad-Superpowers/ad-superpowers-plugin
/plugin

The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.

Reproduced in full from Ad-Superpowers/ad-superpowers-plugin/blob/9b6385d2d2d228e4dac096a1d6bc5715c04fa736/plugin/skills/ltv-cac-modeling-framework/SKILL.md, which is licensed MIT (repository). 2,715 words, 41 headings.

LTV:CAC Modeling Framework

Purpose

Provide advertisers and agencies with a rigorous framework for connecting customer lifetime value to acquisition cost, enabling profitable scaling decisions. Stop optimizing for cheap conversions and start optimizing for valuable customers.

When to Use This Skill

Invoke when user mentions:

  • LTV/CLV: "What's the lifetime value of my customers?"
  • CAC: "How much should I spend to acquire a customer?"
  • CPA targets: "What CPA is profitable?"
  • Budget ceilings: "How much can I afford to spend on ads?"
  • Payback period: "How long until I recover my acquisition cost?"
  • MER: "What's my marketing efficiency ratio?"
  • Cohort analysis: "How do customers from different channels compare?"
  • Sustainability: "Is my ad spend sustainable long-term?"

Part 1: LTV Calculation Methods

Method 1: Historic LTV (Simplest)

Historic LTV = Total Revenue from Customer Segment / Number of Customers in Segment

Example:
  Total revenue from 2024 customers: €500,000
  Number of customers acquired in 2024: 2,000
  Historic LTV = €500,000 / 2,000 = €250

Pros: Simple, uses real data. Cons: Backward-looking, doesn't account for future purchases, skewed by outliers.

When to use: Early-stage businesses with 6-12 months of data as a starting baseline.

Method 2: Predictive LTV (Recommended)

Predictive LTV = (Average Order Value) × (Purchase Frequency per Year) × (Customer Lifespan in Years)

Example:
  AOV: €65
  Purchases per year: 3.2
  Average customer lifespan: 2.5 years
  Predictive LTV = €65 × 3.2 × 2.5 = €520

Enriched formula (accounts for margin):

Gross Profit LTV = AOV × Gross Margin % × Purchase Frequency × Customer Lifespan

Example:
  AOV: €65, Margin: 55%, Frequency: 3.2/yr, Lifespan: 2.5yr
  Gross Profit LTV = €65 × 0.55 × 3.2 × 2.5 = €286

This is the number that matters for ad decisions — LTV based on gross profit, not revenue.

Method 3: Cohort-Based LTV (Most Accurate)

Track actual revenue generated by customer cohorts over time:

CohortMonth 0Month 3Month 6Month 12Month 18Month 24
Jan 2025€45€72€105€168€210€245
Apr 2025€52€81€118€182€225
Jul 2025€48€76€112€175
Oct 2025€55€85€124

Key insights from cohort analysis:

  • Revenue curve shape tells you when most value is captured
  • Compare cohorts by acquisition channel to find highest-value sources
  • Identify if LTV is improving or declining over time (product-market fit signal)

LTV by Acquisition Channel

This is where ad platform data becomes critical. Different channels attract different customer quality:

ChannelTypical LTV IndexWhy
Google Brand Search120-150 (highest)Already know and seek you out
Google Non-Brand Search100-120High intent, specific need
Meta Lookalike90-110Similar to existing customers
Meta Broad/Interest70-90Discovery buyers, lower retention
TikTok60-85Impulse-driven, younger, lower repeat
Google Shopping80-110Price-comparison shoppers, variable loyalty
Google Display50-70Lowest intent, highest churn

Action: Don't apply one CPA target across all channels. Willingness to pay for acquisition should scale with expected LTV.


Part 2: CAC Calculation

Blended CAC

Blended CAC = Total Marketing Spend / Total New Customers Acquired

Example:
  Monthly ad spend: €25,000
  Monthly new customers: 500
  Blended CAC = €25,000 / 500 = €50

Include in "Total Marketing Spend":

  • All ad platform spend (Meta, Google, TikTok, LinkedIn)
  • Agency fees or management costs
  • Creative production costs
  • Tool/software costs (analytics, attribution, creative tools)

Per-Channel CAC

Channel CAC = Channel Spend / New Customers Attributed to Channel

Example:
  Meta spend: €12,000, Meta new customers: 280 → CAC = €42.86
  Google spend: €10,000, Google new customers: 180 → CAC = €55.56
  TikTok spend: €3,000, TikTok new customers: 40 → CAC = €75.00

Attribution caveat: Last-click attribution undervalues top-of-funnel channels and overvalues bottom-of-funnel. Use multi-touch or data-driven attribution when available.

CAC by Customer Type

Customer TypeTypical CAC MultiplierNotes
First-time buyer1.0x (baseline)Standard acquisition
Repeat buyer (reactivated)0.3-0.5xMuch cheaper, use retargeting
High-value buyer (above median AOV)1.5-2.5xWorth paying more
Subscriber/membership2-4x first-month costJustified by recurring revenue

Part 3: LTV:CAC Ratio Analysis

The Core Ratio

LTV:CAC Ratio = Customer Lifetime Value (Gross Profit) / Customer Acquisition Cost

Benchmark Interpretation

LTV:CAC RatioInterpretationAction
< 1:1Losing money on every customerStop spending. Fix product, pricing, or retention first.
1:1 to 2:1Marginal/unsustainableReduce CAC (improve targeting) or increase LTV (retention, AOV).
2:1 to 3:1Acceptable but tightOptimize carefully. Good if payback is < 6 months.
3:1Healthy benchmarkStandard target for most e-commerce businesses.
3:1 to 5:1Strong unit economicsRoom to scale spend aggressively.
> 5:1Likely underspendingYou're leaving growth on the table. Increase ad budget.
> 8:1Definitely underspendingCompetitors will outgrow you. Scale immediately.

Industry Benchmarks

IndustryTypical LTV:CACTargetNotes
SaaS / Subscriptions3:1 to 5:13:1+Recurring revenue makes higher CAC viable
E-commerce (fashion)2:1 to 4:13:1+Moderate repeat rates
E-commerce (beauty/supplements)3:1 to 6:14:1+High repeat, consumable products
E-commerce (furniture/home)1.5:1 to 3:12:1+Low purchase frequency, high AOV
D2C food/beverage2.5:1 to 5:13:1+Subscription model helps
B2B services4:1 to 8:15:1+Long contracts, high LTV
Local services3:1 to 10:14:1+Recurring relationships

Part 4: Payback Period

Definition

Payback Period = CAC / (Average Monthly Revenue per Customer × Gross Margin %)

Example:
  CAC: €60
  Monthly revenue per customer: €25
  Gross margin: 55%
  Payback = €60 / (€25 × 0.55) = 4.36 months

Payback Period Targets

Business ModelTarget PaybackMax AcceptableNotes
Subscription (SaaS)< 12 months18 monthsCAC recovered within contract
Subscription (e-commerce box)< 4 months6 monthsHigher churn requires faster payback
Repeat e-commerce< 6 months9 monthsSecond purchase is key milestone
One-time purchaseImmediate1 monthMust be profitable on first sale
High-ticket (€500+)ImmediateImmediateLTV ≈ first order value

Cash Flow Implications

Why payback period matters more than LTV:CAC for growing businesses:

Scenario A: LTV:CAC = 4:1, Payback = 12 months
  → Great unit economics, but you need 12 months of cash to fund growth
  → Spending €100K/month means €1.2M tied up before breakeven

Scenario B: LTV:CAC = 3:1, Payback = 3 months
  → Slightly worse ratio, but cash recycles 4x per year
  → €100K/month spend recovers in 3 months, enabling reinvestment

For cash-constrained businesses, Scenario B is often better.

Part 5: Maximum Allowable CPA

The Budget Ceiling Formula

Max CPA = LTV (Gross Profit) × Target Profit Margin on Acquisition

Example:
  Gross Profit LTV: €286
  Target profit margin: 30% (meaning 70% of LTV can go to acquisition)
  Max CPA = €286 × 0.70 = €200.20

  But with a 3:1 LTV:CAC target:
  Target CPA = €286 / 3 = €95.33

Max CPA by Channel (Using LTV Index)

ChannelLTV IndexBase Max CPA €95Adjusted Max CPA
Google Brand Search130%€95€123.50
Google Non-Brand110%€95€104.50
Meta Lookalike100%€95€95.00
Meta Broad80%€95€76.00
TikTok75%€95€71.25
Google Display60%€95€57.00

Key insight: You should be willing to pay more per acquisition on channels that deliver higher-LTV customers. A €120 CAC from brand search is more profitable than a €50 CAC from display if brand search customers have 3x the LTV.


Part 6: MER (Marketing Efficiency Ratio)

Why MER Over ROAS

MER = Total Revenue / Total Marketing Spend

Example:
  Monthly revenue: €200,000
  Total ad spend: €30,000
  MER = €200,000 / €30,000 = 6.67

Vs. in-platform ROAS:
  Meta reports 4.2x ROAS
  Google reports 5.8x ROAS
  Combined "reported" ROAS: inflated due to double-counting

MER is honest. It uses actual revenue (from Shopify, Stripe, or accounting) divided by actual spend. No attribution gaming, no double-counting, no view-through inflation.

MER Benchmarks

MER RangeInterpretationHealth
< 3xUnprofitable for most businessesDanger zone
3x - 5xTight margins, need high gross marginAcceptable for >60% margin
5x - 8xHealthy for most e-commerceTarget range
8x - 12xStrong efficiencyGood, but check if underspending
> 12xLikely underspending on adsScale up

MER vs Blended ROAS vs In-Platform ROAS

MetricDefinitionTrustworthinessUse Case
MERTotal revenue / total ad spendHighestBoard-level, true profitability
Blended ROASAttributed revenue / ad spend (multi-touch)MediumChannel allocation decisions
In-Platform ROASPlatform-reported revenue / spendLowestIntra-platform optimization

Calculating MER with MCP Tools

Step 1: Get total ad spend Use meta_get_insights (account level, last 30 days) for Meta spend. Use google_ads_run_gaql for Google Ads spend:

SELECT metrics.cost_micros
FROM customer
WHERE segments.date DURING LAST_30_DAYS

Use tiktok_get_report for TikTok spend.

Step 2: Get total revenue Use ga4_run_report with:

  • Metrics: purchaseRevenue (or totalRevenue)
  • Date range: last 30 days
  • No dimensions (aggregate total)

Step 3: Calculate MER = GA4 revenue / (Meta spend + Google spend + TikTok spend + other spend)


Part 7: Cohort Retention Analysis

Building a Retention Curve

Track what percentage of customers make a second purchase, and how long it takes:

Time Since First Purchase% Made 2nd Purchase (Cumulative)Benchmark
30 days8-15%Good if >12%
60 days15-25%Good if >20%
90 days20-32%Good if >25%
180 days28-40%Good if >33%
365 days32-48%Good if >38%

Retention by Acquisition Channel

Use ga4_run_report with cohort dimensions to compare:

Channel90-Day Repeat Rate365-Day Repeat RateImplication
Organic search35%52%Highest intent → best retention
Brand search (paid)30%45%Strong, actively sought brand
Meta lookalike22%35%Decent, model captures intent
Meta broad15%25%Lower, impulse-driven
TikTok12%20%Lowest, trend/impulse buyers

These numbers directly inform your Max CPA by channel. A channel with 2x the retention can justify 1.5-2x the CPA.

Cohort Quality Signals from Ad Platforms

Metrics that predict high-LTV customers:

SignalWhere to FindHigh-LTV Indicator
Multiple page views before purchaseGA4>3 pages per session
Added to cart, returned laterGA4, MetaDeliberate buyer
Searched for brand after ad exposureGoogle Ads, GSCBrand recall = loyalty
Purchased from email after ad clickGA4 (assisted conversions)Multi-channel engagement
High first-order AOVShopify/StripeWillingness to spend
Purchased non-discount productShopify/StripeNot just bargain hunter

Part 8: Integrating Revenue Data with Ad Platforms

Data Source Hierarchy

SourceRevenue DataCustomer DataAttributionTrust Level
Shopify/Stripe (source of truth)Actual revenueActual customersNoneHighest
GA4Tracked revenueSessions/usersMulti-touchHigh
Meta Ads ManagerAttributed revenueEstimated reachSelf-attributedMedium
Google AdsAttributed conversionsClicks/impressionsSelf-attributedMedium
TikTok AdsAttributed revenueEstimated reachSelf-attributedMedium-Low

Reconciliation Framework

Step 1: Establish truth
  → Shopify/Stripe total revenue for the period

Step 2: Compare platform claims
  → Sum of all platform-reported revenue
  → This WILL exceed Shopify revenue (20-80% inflation is normal)

Step 3: Calculate attribution inflation factor
  → Inflation = Sum of platform revenue / Actual revenue
  → Typical: 1.3x to 1.8x (30-80% overcounting)

Step 4: Apply deflator to per-channel ROAS
  → Adjusted ROAS = Reported ROAS / Inflation Factor
  → This gives more realistic per-channel contribution

Step 5: Use MER as the check
  → If MER is healthy (>5x), channel allocation matters less than total efficiency

Part 9: Decision Trees

"Should I Increase Ad Spend?" Decision Tree

START: What is your current LTV:CAC ratio?

├── < 2:1
│   └── Do NOT increase spend
│       ├── Fix retention (email, loyalty, product)
│       ├── Reduce CAC (better targeting, creative)
│       └── Increase AOV (bundles, upsells)
│
├── 2:1 to 3:1
│   └── Increase cautiously (10-20% per 2 weeks)
│       ├── Only scale channels with above-average LTV
│       ├── Monitor payback period weekly
│       └── Ensure cash flow supports growth
│
├── 3:1 to 5:1
│   └── Healthy → Scale confidently (20-30% per 2 weeks)
│       ├── Test new channels (add TikTok, YouTube)
│       ├── Expand targeting (broader audiences)
│       └── Increase budgets on proven campaigns
│
└── > 5:1
    └── You are UNDERSPENDING → Scale aggressively
        ├── Double budget on best channels
        ├── Launch on new platforms
        ├── Test higher-funnel campaigns
        └── Consider offline channels

"Which Channel to Cut?" Decision Tree

Budget pressure → need to cut a channel. Which one?

Step 1: Rank channels by Gross Profit LTV:CAC (not just ROAS)
Step 2: Rank channels by payback period
Step 3: Check incrementality (what happens if you turn it off?)

Cut priority (first to cut):
  1. Channels with LTV:CAC < 1.5:1
  2. Channels with payback > 12 months
  3. Channels with lowest incrementality (often: branded search, retargeting)
  4. Channels where turning off has minimal revenue impact

Never cut last (even if ROAS looks bad):
  - Top-of-funnel that feeds retargeting audiences
  - Brand search (defensive, competitors will bid on your terms)

Part 10: Quarterly LTV:CAC Review Template

Data Collection Checklist

Data PointSourceTool
Total ad spend (all platforms)Ad platformsmeta_get_insights, google_ads_run_gaql, tiktok_get_report
Total new customersGA4 or Shopifyga4_run_report
Total revenueShopify/StripeDirect or ga4_run_report
Repeat purchase rate (90-day)Shopify/GA4ga4_run_report (cohort)
Average order valueShopify/GA4ga4_run_report
Customer lifespan estimateShopify (historical)Manual calculation

Quarterly Review Questions

  1. Is LTV:CAC improving or declining? (Compare to last quarter)
  2. Which channel has the best LTV:CAC? (Shift budget toward it)
  3. Is payback period within target? (Cash flow health check)
  4. Are we under- or over-spending? (LTV:CAC > 5 = underspending)
  5. Has retention changed? (Retention changes hit LTV with a delay)
  6. Is AOV trending up or down? (AOV declines compress LTV)
  7. Should we test a new channel? (If LTV:CAC > 4, the answer is usually yes)

Other skills for the same job

Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.

Need help setting it up?

This page tells you what ltv-cac-modeling-framework does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.

Book a call →

The directory stays free. There is nothing gated behind this.