EnableYourData.com

KPI · Marketing

Customer acquisition cost (CAC): formula and example.

Customer acquisition cost (CAC) is all marketing and sales costs in a period divided by the number of new customers in that period. Unlike cost per acquisition, it includes staff, tools and agencies, and it only counts genuinely new customers. CAC is the basis for judging whether acquiring customers is profitable, for example relative to customer lifetime value.

Customer acquisition cost (CAC) formula

(Marketing costs + sales costs) in the period ÷ number of new customers in the period

Worked example

In 2025, Acme Groothandel had €180,000 in marketing costs and €240,000 in sales costs. It gained 70 new customers that year. CAC is (€180,000 + €240,000) ÷ 70 = €6,000.

Fictitious figures for Acme Groothandel, a sample wholesaler.

How to read this KPI

A lower CAC means you win new customers more cheaply. Whether a CAC is acceptable depends on what a customer brings in: compare it with the gross margin an average customer delivers over the whole relationship. Track CAC by year and by channel, and allow for time lags: this year's spend sometimes only produces customers next year.

Pitfalls with customer acquisition cost (CAC)

  • Counting ad spend only, which makes CAC far too low.
  • Counting existing customers who buy again as new customers.
  • Allocating all sales costs for managing existing accounts to new customers.

SQL & DAX

Calculating customer acquisition cost (CAC) in SQL and DAX

Two examples on a fictitious data warehouse for Acme Groothandel: a PostgreSQL query and a measure for a Power BI model. Adjust table and column names to your own model.

SQL · PostgreSQL
WITH mkt AS (
  SELECT date_trunc('year', month) AS year, SUM(amount) AS cost
  FROM marketing_costs GROUP BY 1),
sales AS (
  SELECT date_trunc('year', p.period_month) AS year, SUM(p.gross_cost) AS cost
  FROM payroll p JOIN employees e USING (employee_id)
  WHERE e.department = 'Sales' GROUP BY 1),
new_customers AS (
  SELECT date_trunc('year', first_order) AS year, COUNT(*) AS n
  FROM (SELECT customer_id, MIN(order_date) AS first_order FROM orders GROUP BY 1) f
  GROUP BY 1)
SELECT year, m.cost + COALESCE(s.cost, 0) AS acquisition_cost, n.n AS new_customers,
       ROUND((m.cost + COALESCE(s.cost, 0)) / NULLIF(n.n, 0), 0) AS cac
FROM mkt m LEFT JOIN sales s USING (year) JOIN new_customers n USING (year)
ORDER BY year;
DAX · Power BI
New Customers =
COUNTROWS(
    FILTER(
        VALUES(Customers[CustomerId]),
        VAR FirstOrder = CALCULATE(MIN(Sales[OrderDate]), ALL('Date'))
        RETURN FirstOrder >= MIN('Date'[Date]) && FirstOrder <= MAX('Date'[Date])
    )
)

CAC =
DIVIDE(
    SUM(MarketingCosts[Amount]) + CALCULATE(SUM(Payroll[GrossCost]), Employees[Department] = "Sales"),
    [New Customers]
)

In ENABLE

Tracking this KPI in ENABLE

Plain-language questions

Ask for customer acquisition cost (CAC) per month, customer or product in the SQL Explorer with AI. The AI writes the SQL, you see the query and run it yourself; the AI only receives metadata.

Read more →

In your Power BI dashboard

Define the KPI as a measure in your Power BI model and show it in the portal, with "Last refreshed" next to it. Access profiles and optional row-level security decide who sees which figures.

Read more →

Custom dashboards (pilot)

Add the KPI as a tile to a custom dashboard, compared with last year. The Dashboard Builder is a pilot and can be switched on per client.

Read more →

Monthly targets

With the built-in Targets app you set a target for the KPI per month, so you see actuals and target side by side.

Read more →

FAQ

Frequently asked questions

How do you calculate customer acquisition cost?

Add up all marketing and sales costs for a period and divide by the number of new customers in that period. With €420,000 in costs and 70 new customers, CAC is €6,000. Decide which costs you include and keep that consistent.

What is the difference between CAC and CPA?

CAC is all marketing and sales costs per new customer, while CPA is ad spend per conversion only. A conversion can also be an enquiry or a repeat purchase. CAC therefore gives a fuller picture of what customer acquisition really costs.

How does CAC relate to customer lifetime value?

The ratio between customer lifetime value and CAC shows how much a customer brings in relative to what it cost to win them. If lifetime value is not comfortably above CAC, you earn little from new customers. Ideally, base lifetime value on margin rather than revenue.

Use AI on your own data. Securely, and without the headache.

In an online demo we show how ENABLE makes your data securely available and how you build on it: describing an app in the AI Builder, plain-language questions, dashboards and APIs. And how we set it up and manage it for you.