Finding the max revenue price mark for digital products

Hovik Melikyan
7 min readOct 6, 2019

--

TL;DR: to find the optimal price that provides maximum revenue for your product you will need to field-test several price points; you then reconstruct the revenue curve and find the peak. The curve is built based on the hypothesis that price tolerance should follow the wealth distribution function among the buyers. The hypothesis hasn’t been tested yet, it’s a purely theoretical thesis.

Suppose you run a highly scalable service that has plenty of room for price manipulation. Let’s say it’s an online magazine that offers subscription plans. The infrastructure and content costs are so predictable and easily scalable, and your content is so valuable that the price of e.g. your monthly subscription can be anywhere from $2 to $30. You can have 10,000 subscribers, or you can have 1 million: infrastructure costs are negligible and grow linearly; content costs can be more or less stable, etc.

However, you know intuitively that neither the lowest price nor the highest one can generate good revenue. You can have many users paying very little — that’s too bad, or you can have much fewer users paying a lot, also not great. The sweet spot, you’re thinking, is somewhere between the two points and the big question is: where is it exactly? Given the maximum possible buyers who are potentially willing to subscribe (your market reach), what is the optimal price for your service that will generate maximum possible revenue?

Which, in turn, comes down to figuring out the function of the number of customers who are willing to pay any given price. How many people will agree to pay $7? $15? $30? Hard to say without testing, however surely there’s a law of some sort that says at least what the curve should look like?

Let’s call the function of the number of buyers B(x) where x is the price, and the revenue function R(x). Obviously

Therefore, once we know what B(x) and by extension R(x) look like, the plan would be to test the prices in sufficient number of price points so that we can reconstruct the function and find its peak.

But firstly, let’s make sure we are right in our assumption that the low end and the high end of the price spectrum can not be the winners and therefore there has to be a peak in between. We will take an absurdly low price P₀ as the minimum, and some absurdly high price P₁ as the maximum (could be $100 or $1m). Both P₀ and P₁ are obvious losers: you can always find a non-zero price P₀ that yields infinitely small revenue. Think of 0.00001¢ for example. On the other hand, you can always find a high enough price that no sane person on Earth would be willing to pay for your subscription and your revenue will be zero. That would be our semi-formal proof that the function R(x) is indeed non-linear and therefore has a peak somewhere.

Next, let’s think of how the number of buyers declines as the price grows. What could be the function? What factor exactly is it that stops a potential buyer from purchasing your product when you rise your price above some threshold? Otherwise called price tolerance, what is it that defines it?

I’m sure there’s some statistical research on the subject that strangely I have been unable to find so far at least in the public domain.

However, while thinking about it, it struck me that the solution could be quite simple and probably lies in wealth distribution. And that Vilfredo Pareto is going to be our friend in this!

I am going to propose a hypothesis that wealthier buyers are more tolerant to higher prices and therefore B(x) should follow the Pareto distribution. In other words:

For each given price the probability of a buyer accepting the offer is proportionate to the buyer’s wealth; thus the number of buyers for each price point is a function of wealth distribution among the potential buyers of a given product.

The Pareto principle (the much abused and misinterpreted 80/20 rule) states that wealth distribution in each society follows a certain law where only a few parameters vary from society to society. In its most simplified form the Pareto distribution can be expressed as:

where α is the Pareto Index that defines the “fairness” of wealth distribution in a given society; μ is the x “support” (scaling) coefficient whose meaning can be ignored for now.

Fig. 1: Pareto distributions for different values of α

Moving forward, based on our price tolerance hypothesis we will take the Pareto distribution formula and make it work for the case where the x axis is the range of prices of your product and the y axis is the number of users willing to pay each given price. We will flip the Pareto function (hence the minus signs in the formula below) and add displacement coefficients:

where P₁ is the x asymptote and at the same time the maximum possible (the most absurd) price beyond which there is no life. Θ here is the y asymptote whose exact meaning is funny and a bit useless: it’s the number of customers willing to use your service if you pay them infinite amount of money, i.e. it’s the asymptote our function approaches in the negative price space (not reflected in the plot below). More realistically it’s the total number of potential buyers your product is offered to, some of whom will reject your offer even if the price is 0.

Let’s now plot this function for 3 different Pareto index values:

Fig. 2: Buyer price tolerance B(x) for 3 different sample values of α

And finally, la belle du bal, the revenue curve! With R(x) = B(x) · x in mind, for the same 3 sample values of wealth distribution “fairness” index:

Fig. 3: Revenue curve R(x) for 3 different sample values of α

Now, let’s take a look at the full formula for R(x):

We are now going to figure out the final part: how to find the maximum revenue price point for your product.

Firstly, because the meaning of Θ is the total number of customers your product is offered to, we can assume Θ=1 (or 100% if you wish) i.e. we will assume that the curve on Fig. 2 reflects the proportion of customers who agree to each given price.

With Θ out of the way, we are left with three parameters, P₁, μ and α, whose values are difficult to estimate. Realistically, you don’t know what the absurdly high price P₁ for your product is, neither do you know the Pareto distribution parameters μ and α for your potential customers, however, in order for this method to give you more or less sensible results you need to know the most accurate values of these parameters.

Thus, one possibility is to assume the three parameters P₁, μ and α as unknowns, run field tests for 3 different price points for your product and get 3 pairs of values for x and y, then solve a system of three equations to find the unknowns P₁, μ and α. And voilà, you have an equation for R(x) whose maximum can be computed via its differential.

Thanks to the Math.StackExchange community, we know what the differential looks like:

I.e. this function equals zero at its peak price x.

The math above, however, is not super-trivial. So much so that the automated solvers like WolframAlpha have struggled finding the differential, or even solving the above differential for x, or solving the system of 3 equations for the unknowns P₁, μ and α given 3 known pairs (x, y). I’ve tried, WolframAlpha is useless here (and I am even more useless with my absolutely rusty calculus unfortunately).

Sounds a bit disappointing, but… Firstly, at least there is a principle that sounds plausible and is better than nothing, and second, there’s hope that some shortcuts could be found eventually.

After all you might try and, with some carefully picked price points, find your peak visually on the graph. I think you need to start with some hypothesis about what the minimum price for your product would be that would cause a 100% drop rate, i.e. the P₁. For a subscription for which you think, say, $15 would be a fair price I think it could be $40. If this is the case, then pick three evenly distributed price points between $1 and $40, which would be $10, $20 and $30 and measure conversion for each on a decent sample size using A/B testing (or rather A/B/C).

Further, once you have the conversion rates for all three price points, you could play with the two remaining unknowns μ and α and find the function that crosses all three points on the graph. For the Pareto Index α the range is not that large: in the developed countries the value is said to be typically around 1.05.

Another approach would be to test more price points, i.e. brute-force the problem in which case the whole theory above would not be even needed. It could e.g. 12 price points between $5 and $30, which will give you a much clearer picture on where the maximum revenue lies. The obvious drawback here would be of course a larger sample size required and a lot more lost customers in the process.

Suggestions, comments and critique are welcome. Thank you for reading!

--

--

Hovik Melikyan

Entrepreneur, software engineer, tinkerer, hobbyist musician