SaaS KPI

Average Contract Value Formula

Learn what Average Contract Value means, how to calculate it in Excel, and how to recreate the same KPI as a Power BI DAX measure.

💡 Ideas for You

Resources related to this KPI and spreadsheet reporting.

4 useful links
📚 Step-by-step booksStart with beginner-friendly step-by-step books and learning resources from Create & Learn.📊 KPI dashboard resourcesBooks and templates for building saas KPI dashboards in spreadsheets.📈 Business metrics booksReferences for understanding saas metrics, definitions, and reporting habits.📘 Excel reporting guidesGuides for turning spreadsheet calculations into clear reports and dashboards.

Quick answer

Average Contract Value is calculated as:

Contract Revenue / Number of Contracts

Use this Excel version when your inputs are on row 2:

=IFERROR(B2 / C2,0)
Example result$10,000
FormatCurrency
Typical chartLine chart for monthly trend; bar chart for category comparison; KPI card for the latest value.

What is Average Contract Value?

Average Contract Value is a SaaS KPI used to turn business activity into a clear number. It helps a SaaS founder preparing an investor update decide whether growth is healthy, repeatable, and profitable.

SaaS KPIs focus on recurring revenue, retention, customer economics, and growth quality.

Beginner tip: A KPI is not just a formula. It is a number used to make a decision. Before adding it to a dashboard, write down the definition, time period, owner, target, and data source.

Real-life example

Imagine a SaaS founder preparing an investor update. The team adds the inputs for Average Contract Value to a SaaS metrics dashboard, calculates the KPI for the current month, and compares it with the previous month and target. In the sample below, the result is $10,000. That number becomes useful when everyone uses the same formula each month.

Excel cellInputWhat it meansSample value
B2Contract Revenuemoney earned before or after the relevant adjustment, depending on the KPI definition$400,000
C2Number of Contractsthe input value used by the KPI formula40
ResultAverage Contract ValueOutput of the KPI formula$10,000

How to calculate Average Contract Value in Excel

  1. Create one row per reporting period, team, product, campaign, location, or customer segment.
  2. Add one input per column. Do not combine inputs in the same cell.
  3. Paste the Excel formula in the KPI result column.
  4. Format the result as Currency.
  5. Copy the formula down the table and compare the result against target, previous period, and trend.
Quality check before publishing:
  • Use the same date range for every input.
  • Confirm that the denominator is not blank or zero.
  • Document whether the KPI is calculated before or after discounts, refunds, taxes, returns, or cancellations.
  • Keep the definition stable so reports remain comparable over time.

Power BI DAX measure

If you also report this KPI in Power BI, create a measure instead of hard-coding the calculation in a visual. Replace the measure names below with the names used in your model.

Average Contract Value = DIVIDE([Contract Revenue], [Number of Contracts], 0)

For best results, build base measures first, such as revenue, cost, customers, orders, or tickets, and then build the KPI measure from those base measures.

How to read the result

Higher is usually better, because this KPI normally represents revenue, efficiency, quality, retention, productivity, or successful outcomes.

Do not read the KPI alone. A single value can be misleading without a target, trend, segment, and business context. For example, the same result may be good for one product line but poor for another.

Useful comparisons

  • Current month versus previous month.
  • Actual result versus target or budget.
  • By channel, product, customer segment, team, or location.
  • Rolling average over several periods to smooth one-off spikes.

Common mistakes

  • Mixing time periods, such as monthly cost with quarterly revenue.
  • Using a total when the KPI should be segmented.
  • Changing the formula definition after the dashboard is already in use.
  • Comparing two teams that collect the inputs differently.
  • Ignoring blanks, zeros, refunds, cancellations, or duplicate records.