
Marketing Demand Acquisition
Compute blended and per-channel customer acquisition cost from spend and signup counts for campaign reviews.
Overview
Marketing Demand Acquisition is an agent skill for the Grow phase that calculates blended and channel-specific customer acquisition cost from marketing spend and customer counts.
Install
npx skills add https://github.com/davila7/claude-code-templates --skill marketing-demand-acquisitionWhat is this skill?
- Calculates basic CAC as total spend divided by customers acquired with zero-customer guardrails
- Supports channel-level breakdowns with spend, customers, and per-channel CAC
- Aggregates blended CAC across multiple channels and time-window inputs
- Includes a Python calculator script for repeatable CLI or agent-driven runs
- Pretty-prints tabular results for pasting into growth retros or investor updates
- Channel-level CAC plus blended total aggregation in one run
Adoption & trust: 504 installs on skills.sh; 27.8k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You have spend and signup numbers scattered across channels and need trustworthy CAC math before deciding which campaigns to scale or cut.
Who is it for?
Solo builders doing monthly growth retros with manual spreadsheets or CSV exports who want quick, repeatable CAC breakdowns.
Skip if: Teams needing multi-touch attribution, incrementality tests, or automated ad-platform integrations without supplying their own numbers.
When should I use this skill?
You have marketing spend and customer acquisition counts and need blended or per-channel CAC for a decision.
What do I get? / Deliverables
After running the calculator, you get per-channel and blended CAC figures you can paste into growth reviews, pricing checks, or investor snapshots.
- Printed CAC table with per-channel and blended results
- Structured numeric breakdown suitable for docs or slides
Recommended Skills
Journey fit
Grow is where paid and organic spend is judged against customers acquired; CAC is the core efficiency metric for scaling. Analytics is the right shelf because the skill outputs numeric CAC breakdowns across channels and blended totals, not creative or copy work.
How it compares
Use instead of hand-dividing spend in a spreadsheet when you want a small scripted calculator the agent can rerun with updated channel data.
Common Questions / FAQ
Who is marketing-demand-acquisition for?
It is for indie founders and marketers tracking paid and organic acquisition who need clear CAC per channel and a blended total from simple inputs.
When should I use marketing-demand-acquisition?
Use it in Grow analytics when reviewing campaign ROI, comparing channel efficiency, or updating unit economics before pricing or budget changes.
Is marketing-demand-acquisition safe to install?
Check the Security Audits panel on this Prism page and review the bundled Python script locally; it is calculation-focused but you should still verify dependencies before execution.
SKILL.md
READMESKILL.md - Marketing Demand Acquisition
#!/usr/bin/env python3 """ CAC (Customer Acquisition Cost) Calculator Calculate blended and channel-specific CAC for marketing campaigns. Supports multiple time periods and channel breakdowns. """ import sys from typing import Dict, List def calculate_cac(total_spend: float, customers_acquired: int) -> float: """Calculate basic CAC""" if customers_acquired == 0: return 0.0 return round(total_spend / customers_acquired, 2) def calculate_channel_cac(channel_data: List[Dict]) -> Dict: """ Calculate CAC per channel Args: channel_data: List of dicts with 'channel', 'spend', 'customers' keys Returns: Dict with channel CAC breakdown and blended CAC """ results = {} total_spend = 0 total_customers = 0 for channel in channel_data: name = channel['channel'] spend = channel['spend'] customers = channel['customers'] cac = calculate_cac(spend, customers) results[name] = { 'spend': spend, 'customers': customers, 'cac': cac } total_spend += spend total_customers += customers results['blended'] = { 'total_spend': total_spend, 'total_customers': total_customers, 'blended_cac': calculate_cac(total_spend, total_customers) } return results def print_results(results: Dict): """Pretty print CAC results""" print("\n" + "="*60) print("CAC CALCULATION RESULTS") print("="*60 + "\n") for channel, data in results.items(): if channel == 'blended': print("-"*60) print(f"BLENDED CAC") print(f" Total Spend: ${data['total_spend']:,.2f}") print(f" Total Customers: {data['total_customers']:,}") print(f" Blended CAC: ${data['blended_cac']:,.2f}") else: print(f"{channel.upper()}") print(f" Spend: ${data['spend']:,.2f}") print(f" Customers: {data['customers']:,}") print(f" CAC: ${data['cac']:,.2f}") print() def main(): # Example data - replace with your actual numbers example_data = [ {'channel': 'LinkedIn Ads', 'spend': 15000, 'customers': 10}, {'channel': 'Google Search', 'spend': 12000, 'customers': 20}, {'channel': 'SEO/Organic', 'spend': 5000, 'customers': 15}, {'channel': 'Partnerships', 'spend': 3000, 'customers': 5}, ] print("Marketing CAC Calculator") print("Edit the script to input your actual channel data\n") results = calculate_channel_cac(example_data) print_results(results) # CAC benchmarks print("\n" + "="*60) print("B2B SAAS BENCHMARKS (Series A)") print("="*60) print("LinkedIn Ads: $150-$400") print("Google Search: $80-$250") print("SEO/Organic: $50-$150") print("Partnerships: $100-$300") print("Blended Target: <$300") if __name__ == "__main__": main() --- name: marketing-demand-acquisition description: Multi-channel demand generation, paid media optimization, SEO strategy, and partnership programs for Series A+ startups. Includes CAC calculator, channel playbooks, HubSpot integration, and international expansion tactics. Use when planning demand generation campaigns, optimizing paid media, building SEO strategies, establishing partnerships, or when user mentions demand gen, paid ads, LinkedIn ads, Google ads, CAC, acquisition, lead generation, or pipeline generation. license: MIT metadata: version: 1.0.0 author: Alireza Rezvani category: marketing domain: demand-generation updated: 2025-10-20 python-tools: calculate_cac.py tech-stack: HubSpot, LinkedIn-Ads, Google-Ads, Meta-Ads, SEO-tools target-market: B2B-SaaS, Series-A+ --- # Marketing Demand & Acquisition Expert acquisition playbook for Series A+ startups scaling internationally (EU/US/Canada) with hybrid PLG/Sales-Led motion. ##