compute-cac-by-acquisition-channel
Use when evaluating what a customer costs to acquire. Computes fully-loaded CAC per channel including salaries and tools, and keeps blended and paid CAC apart so neither flatters the other.
- License 许可
- MIT
- 最近更新
- 2026-11-15
- Stars
- ★ 81
- Forks
- 17
01 前言 Front Matter
- name
- compute-cac-by-acquisition-channel
- description
- Use when evaluating what a customer costs to acquire. Computes fully-loaded CAC per channel including salaries and tools, and keeps blended and paid CAC apart so neither flatters the other.
02 资源文件 3
- 许可证LICENSE1.0 KB
- 参考文档SOURCE.md360 B
- 参考文档TRUST.auto.yaml2.2 KB
03 SKILL.md 正文
Compute CAC by acquisition channel
The number that matters is fully loaded: ad spend plus the people and tools that produced the customers. A channel is only cheap if you divide by the customers it actually sourced.
Procedure
-
Define the numerator: program spend (ads, events, sponsorships) plus the fully-loaded cost of the marketers, SDRs and tools that run the channel, over the period.
-
Define the denominator carefully: new customers acquired, not leads, not trials, not influenced pipeline.
-
Compute per channel and blended:
``` python3 -c "from decimal import Decimal as D; print((D('40000')+D('15000'))/D('250'))" # 220.00 fully-loaded CAC ``` -
Report both. A blended figure mixes a cheap organic channel with an expensive paid one; quoting the blend to justify the paid channel hides the gap.
-
Exclude organic and referral from a paid-channel denominator only if the attribution is trustworthy; otherwise keep the channels separate entirely.
-
Compare CAC to gross-profit payback, not to revenue: a $220 CAC against $55 monthly gross profit is four months of payback.
-
Watch marginal CAC, not just average CAC. The next $10,000 in a saturating channel often costs twice the average; plot CAC against cumulative spend.
-
Keep spend and counts as exact values; a float per-customer average hides the cents that matter when CAC approaches gross profit.
-
Re-baseline quarterly and after any channel change; a channel that failed on old creative is worth a retry, not a retirement.
-
Report CAC with the channel, the window and the denominator named, or it will be compared next quarter to a different definition.
Pitfalls
- Dividing spend by leads or trials instead of acquired customers.
- Omitting salaries and tools, which can double the headline CAC.
- Reporting per-channel CAC without a matching attribution rule.
- Quoting blended CAC to justify a paid channel that is far dearer on its own.
- Using average CAC after marginal CAC has already doubled.
- Float spend arithmetic that drifts the cents when CAC nears gross profit.
Verification
```
python3 -c "from decimal import Decimal as D; print((D('40000')+D('15000'))/D('250'))"
# 220.00 -> $220 fully-loaded CAC for 250 new customers
```
Pass when each channel has a named numerator and denominator. Report CAC per channel and blended, with the window and the customer definition behind each.
04 同仓库更多 Skills
recipe-performance
Diagnose a specific MetaMask user flow's real-app performance and Sentry critical-user-flow telemetry with deterministic mm-harness recipes. Use for CUF boundaries, cold/warm/background-resume behavior, latency regressions, lifecycle tags, duplicate or blocking network requests, long tasks, layout/paint cost, screen redraws, React rerenders, or browser trace analysis where tests alone cannot prove the real app.
mexc-spot-websocket
MEXC Spot WebSocket workflows for public streams, protobuf handling, depth maintenance, listen keys, and private streams without exposing API keys.
mexc-spot-rest
MEXC Spot REST workflows for public data, signed account requests, orders, wallet/admin actions, and secure signing without exposing API keys.
mexc-futures-websocket
MEXC Futures WebSocket workflows for public streams, private account/order/position streams, ping/pong, subscriptions, and depth maintenance.
0xklen-version-and-refresh-sanctions-lists
暂无简介
verify-tests-cover-changed-lines
Use when a PR adds code that the existing suite may not exercise. Measures patch coverage — the share of newly changed lines hit by tests — before approving.