Acv Calculator

ACV Calculator

Calculate Annual Contract Value for SaaS and Subscription Services

Annual Contract Value (ACV)
$0.00
Monthly Recurring Revenue (MRR)
$0.00
Total Recurring Value
$0.00

Understanding Annual Contract Value (ACV)

Annual Contract Value (ACV) is a key performance indicator (KPI) used primarily by SaaS (Software as a Service) companies. It measures the average annual revenue generated by a single customer contract, excluding one-time fees such as setup, training, or implementation costs.

The ACV Formula

The standard way to calculate ACV is to take the total value of the contract, subtract any non-recurring fees, and divide by the total number of years in the contract term.

ACV = (Total Contract Value – One-Time Fees) / (Contract Term in Months / 12)

ACV vs. ARR: What is the Difference?

While often confused, Annual Recurring Revenue (ARR) and ACV represent different things:

  • ARR: A snapshot of total recurring revenue from your entire customer base at a specific point in time.
  • ACV: A metric focused on the value of a single contract or the average across contracts over a year.

Example Calculation

If a customer signs a 3-year (36 months) contract worth $33,000, which includes a $3,000 one-time setup fee:

  1. Subtract one-time fees: $33,000 – $3,000 = $30,000 (Recurring portion).
  2. Identify the term in years: 36 months / 12 = 3 years.
  3. Divide recurring portion by years: $30,000 / 3 = $10,000 ACV.

Why ACV Matters

ACV helps sales and finance teams understand the "velocity" of the business. High ACV companies typically require a "high-touch" enterprise sales model, while low ACV companies rely on "low-touch" or self-service models to remain profitable. Tracking ACV helps in calculating the LTV:CAC ratio (Lifetime Value to Customer Acquisition Cost).

function calculateACV() { var tcv = parseFloat(document.getElementById('totalContractValue').value); var setup = parseFloat(document.getElementById('oneTimeFees').value) || 0; var months = parseFloat(document.getElementById('contractTerm').value); var resultArea = document.getElementById('acvResultArea'); var acvDisplay = document.getElementById('acvValue'); var mrrDisplay = document.getElementById('mrrValue'); var trvDisplay = document.getElementById('trvValue'); if (isNaN(tcv) || isNaN(months) || months tcv) { alert('One-time fees cannot be greater than the Total Contract Value.'); return; } // Calculations var recurringValue = tcv – setup; var years = months / 12; var acv = recurringValue / years; var mrr = recurringValue / months; // Formatting var formatter = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', }); acvDisplay.innerHTML = formatter.format(acv); mrrDisplay.innerHTML = formatter.format(mrr); trvDisplay.innerHTML = formatter.format(recurringValue); resultArea.style.display = 'block'; // Scroll to result for mobile users resultArea.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }

Leave a Comment