The value-based pricing trap
Sometimes pricing is easy. For example, the price of oil is pretty straightforward – there is a market and it sets the price. In many cases prices are just a little higher than production costs – this is the case for PCs or for some consumer electronics. Software is different and much more complicated.
Two things make software pricing complicated:
- It often isn’t directly substitutable. If C&H overprices their sugar, I’ll buy generic. What should I do when Microsoft overprices Excel? There are substitutes, but there is a significant switching cost.
- The marginal cost per unit to produce is very near zero. If Toyota sells extra minivans, they have to pay a lot to build them. If Oracle sells extra databases, they may have to pay a lot of sales commissions but they don’t incur additional cost to produce them.
Put these together and you get a pricing situation where there is a huge gap between the marginal production cost of extra units and the value to the user. Since the price should in general be somewhere between the marginal unit production cost (near zero in the case of software) and the value to the user (because above that nobody would buy), the range of possible prices to consider is very wide.
Given a wide range of possible prices at which you can make a profit and customers would buy, where should you price your product? Assuming your price must be the same for all customers, an economist would say to price your product so as to maximize the total profit generated. For a given price x, you can sell d(x) units. if they cost c per unit to produce, you select x to maximize d(x) * (x-c). In the case of software, c is near zero so you are maximizing d(x) * x. This is your total profit, and it is the same as the area of the largest rectangle you can fit under the curve that plots demand against price.
Custom per-deal pricing
Sounds good. Now you’re beginning to see why software is a great business (if you’re not sure on this point you will be if you visit Larry Ellison’s house). In fact the software business is even better than what we described: you can make even more money than you would using the maximization approach in the last paragraph. How? Your price need not be the same for all customers. Classically, you do this by segmenting the market. Airlines, for example, want to make prices as high as possible for business travelers who are viewed as price insensitive, and much lower for leisure travelers who are much more price sensitive; their great insight is that leisure travelers often stay over a weekend and business travelers often do not. Presto, the Saturday-night-stay requirement for discounted airfares. Not bad, but software does even better. Lets see how.
Regardless of the list price, each high end enterprise software deal usually winds up being negotiated by a sales person. I’ve seen many cases where the list price produced absurd outcomes. One of my favorites was a chain of pizza restaurants buying an order management package from Oracle that was priced based on the number of order lines processed – at a list price of 85 cents per order line including the advanced pricing option if I remember correctly. Try telling a pizza restaurant that it has to pay 85 cents to its software supplier whenever a customer adds pepperoni to their small pizza at a cost of 75 cents. They won’t like it very much.
Classically, enterprise software companies solve this problem with sales people who can offer big discounts. If your list price is effectively infinite and always needs to be negotiated (which naturally your sales people do perfectly) you will not just capture the largest box under the demand/price curve but you will capture the whole area under it.
Congratulations, you have achieved pricing nirvana. You are capturing all the value created by your software. Your sales team learns to work with the user to understand the value the software will create; this is wonderful because it makes them a “business partner” not sleazy sales people. But when it comes time to price negotiation, they understand what the value is and you can hold the line. There might be some slight inefficiencies: commissions to pay, customers hiring analyst firms to help them negotiate against you, you hiring business practices people to cross check the sales managers you hire, but this is all minor compared to the massive revenue you are extracting from your customers.
Caught in the trap
It sounds wonderful, doesn’t it? You get to capture every last drop of value created by your technology. Your shareholders should be very happy. But it’s not quite that simple. If you price your software at a level where you capture almost all the value in a deal, you create two problems:
- Your customers resent you
- Because your customers are capturing minimal value, they have very little incentive to grow their usage of your software. In fact, they have a strong incentive to find an alternative situation – even an inferior one – if they can capture even a little more of the value it creates.
Think about it. Imagine that new manufacturing software will save me $5,000,000 and costs $4,999,000 [assume both numbers are discounted for cash flow and adjusted for risk]. Would you buy it? Yes, because it saves you $1000. Did the vendor maximize their revenue in the transaction? Yes. Will you tell your friends that they absolutely should buy it or make it a top priority to install the same software in all your other manufacturing plants? No, because the net savings is very low so the project is barely worth the hassle. Would I switch to an inferior product that saves me $3,000,000 and costs $1,500,000? In a second. Don’t even talk about how fast I’ll switch when a competitor has a superior offering that is priced reasonably!
This is the trap most enterprise software companies are in. My use of the word trap is specific; I am not saying it is a mistake, rather something they have gotten stuck in and something which is very hard to get out of. Leaving money on the table will shrink revenues and the market will punish the stock price. The benefit of customers being more excited about your product and talking it up more is great for your future, but doesn’t help the business in the short term.
Enter open source
Now we’ve arrived at my challenge. I don’t want to fall into the trap. I want to price MongoDB subscriptions at a price point that customers love. I want to leave money on the table. That money that I leave on the table is what makes economic buyers excited about their purchase. I want to save a customer millions of dollars and charge them a modest fee. Why? Because when that happens they’ll be aggressively looking for the next place to use MongoDB. They will tell their friends not just about how great the product is, but how easy 10gen is to deal with and what great value we provide. Short term revenues may be less, but if this makes the business grow faster over time revenues will be much higher.
This fits perfectly with open source. MongoDB users don’t have to pay 10gen. They only pay us if we deliver value that they find compelling. They talk to each other about whether they got value from what they paid us. If they stop getting value, they won’t renew. Our reduced pricing power is, in my opinion, a huge benefit because it helps us avoid the trap of pricing too high.
What else can we do to avoid keeping all the value for ourselves and not leaving enough with customers? We start with a reasonable list price. If list price is actually a great deal for most customers, much of this problem goes away. Second we are standardizing volume discounting – with very aggressive discounts on large deals, so that even in volume the standard price is a great deal. And finally, we need to explain to our sales team and our customers what we are trying to do.