Breaking down revenue

In this post, we’ll break down the definition of revenue to derive a formula for revenue in terms of customers’ average purchases.


We’ll start with a definition of revenue as the total value of sales. If we think of each sale as coming from some large collection of sales, which we write as \text{Sales}, we can immediately write revenue R as the sum over all sales s of the value of that sale, \text{value}(s).

    \[R=\sum_{s\in\text{Sales}} \text{value}(s)\]

This is like looking at a list of sales records like

Bob bought item 1 for $4
Alice bought item 2 for $5
Dan bought item 3 for $2
Dan bought item 4 for $7

and computing $18 = $4 + $5 + $2 + $7.

We want to break down this formula, using it to find other equations that help us understand how to predict or influence revenue. There is not a single ultimate way to do this, because there are many equivalent ways to discuss revenue.

For this post, we’ll focus on how search keywords get involved.

We can start by asking questions about the parts of the equation.

What is a sale?

For our purposes, a sale is what we call it when a customer gives us money in exchange for something. We’ve already assumed sales have some value associated to them, but this question reminds us that sales also have a customer associated to them.

This observation lets us rewrite our equation. Rather than looking at every sale and adding the value, we can look at every customer, then look at all of the sales by that customer and add the value.

To write this updated equation, we’ll assume we have a collection \text{Customers} of each customer that made a sale, and a collection \text{Sales}(c) that lists the sales s where customer c was involved.

    \[R = \sum_{c\in\text{Customers}} \sum_{s\in\text{Sales(c)}} \text{value}(s)\]

Using our example sales above, this is like looking at

Bob bought item 1 for $4
Alice bought item 2 for $5
Dan bought item 3 for $2
Dan bought item 4 for $7

and computing it by grouping the sales according to whom was involved.

 R  = (Bob sales) + (Alice sales) + (Dan sales)
$18 = ($4) + ($5) + ($2 + $7)

Now, we have a formula that we can compute exactly, if we have all of the data. But when we’re interested in prediction, we can’t just plug in future sales.


We can rewrite our equation again using the definition of an average value. This identity just says that any (finite) sum of values is equal to the number of values times the average.

    \[\sum_{n=1}^{N} x_i = N\cdot\text{avg} (x_1,x_2,\dots,x_N)\]

Using this, we can replace a sum over sales values by the number of sales times the average value. We will write \text{NumSales}(c) for the number of sales to customer c, and write \text{AvgSaleVal}(c) for the average value of sales to customer c.

This lets us write the following equation.

    \[R = \sum_{c\in\text{Customers}} \text{NumSales}(c) \cdot \text{AvgSaleVal}(c)\]

We can also apply this idea to remove the sum over customers. This time we replace the sum over customers by the number of customers, and multiply by the average number of sales and the average sale value.

We have to be careful though. We don’t want to mistake the average of the numbers \text{AvgSaleVal}(c) for the average of all sales values. These are different. For example, if Bob made 999 purchases each for $1, and Alice made 1 purchase for $2, then the average of \text{AvgSaleVal(Bob)} and \text{AvgSaleVal(Alice)} would be $1.50 (the average of 1 and 2), but the overall average sale value would be $1.001 (the average of 999 copies of 1 and a single 2).

In our equation below, we will write \text{NumCustomers} for the total number of customers, write \text{AvgCustSales} for the average number of sales across customers, and write \text{AvgSaleVal} for the average value across all sales.

    \[R = \text{NumCustomers} \cdot \text{AvgCustSales} \cdot \text{AvgSaleVal}\]

That is, revenue is equal to the product of how many customers we get, the average number of sales to each customer, and the average value of each sale.

This is a simple formula, but it already suggests a few basic ideas.

  • Revenue can be increased by increasing the number of customers, the number of sales to each customer, or the value of each sale.
  • Similarly, revenue can be decreased by a decrease in those factors.
  • Tracking these three values is probably a good idea.

The number of customers can be influenced by product design and marketing, and the other values can be influenced by techniques like cross-selling and up-selling. There’s costs associated with any action trying to influence these things, so there are trade-offs to consider. But we already see that some basic ideas are falling out of the definition of revenue.


We started with a basic definition of revenue as the total value of sales. We derived an equation for revenue as a product of the number of customers, the average sales per customer, and the average value per sale. We noticed that finding different equations for revenue suggested values to track and business strategies.

Closing comments

In another post, we’ll talk about how the number of customers can be broken down further in the setting of an online market place, where our product might be found mostly through search. This will help us understand the role of search keywords. It will also bring up the idea and usefulness of customer segments.