CAC & LTV Calculator

Compare customer acquisition cost against lifetime value, with the LTV-to-CAC ratio and how many months it takes to pay back acquisition cost. Calculates in your browser.

LTV : CAC ratio

-

CAC-
LTV-
CAC payback-

Show the math

CAC is spend per customer; LTV is the margin a customer returns over their lifetime:

CAC = spend ÷ new customers

LTV = APV × purchases/yr × margin × lifespan

A widely used SaaS rule of thumb is an LTV:CAC above 3 with CAC earned back within 12 months. All math runs in your browser.

What this does

A CAC & LTV calculator compares customer acquisition cost against lifetime value, with the LTV-to-CAC ratio and the months it takes to pay back acquisition cost.

How to use it

  1. Enter your sales and marketing spend and the new customers it won.
  2. Enter purchase value and frequency.
  3. Enter margin and lifespan.
  4. Read the LTV-to-CAC ratio.

How it works

A widely used SaaS rule of thumb is an LTV of more than 3 times CAC, with CAC earned back within 12 months; profitability gets thin when payback runs longer.

LTV = order value × purchases/yr × margin × years; ratio = LTV ÷ CAC

Understanding your result

The LTV-to-CAC ratio shows whether a customer earns back more than they cost to win. A widely used SaaS rule of thumb is a ratio above 3 to 1, with CAC earned back within 12 months. A low ratio means acquisition is too expensive; a very high one can mean you are underinvesting in growth.

Example

A $300 LTV against a $100 CAC is a 3:1 ratio, right at the usual rule-of-thumb threshold.

Last updated .

Frequently asked questions

What is a healthy LTV to CAC ratio?

A widely used SaaS rule of thumb is above 3 to 1, with CAC earned back within 12 months. It is a heuristic, not a standard; businesses with short or one-off customer relationships often need a different yardstick.

How is LTV calculated here?

Average purchase value times purchases per year, multiplied by gross margin and the expected customer lifespan in years.

Is my data stored?

No. Everything is calculated locally in your browser.