Software Pricing II (the Unauthorized Sequel)


Software Pricing II

This is my unauthorized sequel to Joel's software pricing article Camels and Rubber Duckies. I was motivated to write a sequel since I have been considering these issues for my own software. Joel's article is among his best, but I think he could have drawn some useful conclusions - and there are some things he missed out. Hence this article.

Why price is on the Y axis

To get the terminology correct, Joel is deriving the supply and demand curves for a single product under conditions of perfect competition. The assumption of perfect competition is important and we'll come back to this later (Joel assumes perfect competition in his very first paragraph). When economists derive supply and demand curves, they draw them both on the same diagram which is unsurprisingly known as a supply / demand diagram. About the only thing you can say for sure is the supply curve has a positive gradient (slopes up) and the demand curve a negative gradient (slopes down), so they should intersect at an equilibrium point. Since the supply curve shows the cost of production for each unit sold, the supply curve plots the cost as a function of the quantity, hence the quantity is on the X axis and the costs / prices on the Y axis.

Therefore we should put M. Cournot the right way up.

Picture of Augustin Cournot

That's better. Also while I'm nit-picking, the people who buy our software are called consumers, the ISV making the software is the supplier, and the actual software is a good. Goods are tangible, services are things done by suppliers and are consumed at a single place and time (eg haircuts, car servicing). Admittedly the concept of downloadable software being a 'good' seems a bit strange, but most economists would consider it so as it exists over time, and the computer it runs on is tangible. Goods and services are more generally referred to as as products.

Supply / demand curve

Anyway, Joel derived the demand curve for one company (shown above, although he knows a lot more about graphing in Excel than I do). He also derived a supply curve (not shown in his diagram but shown above) by assuming each unit costs $35 to make. What Joel called the incremental cost is actually the marginal cost - it is the cost of producing an extra unit at a given quantity level. Joel's supply curve is the horizontal blue line with a Y value of $35. A horizontal supply curve is unusual, and economists normally associate it with free goods such as water etc. Even for software where marginal costs are low, the supply curve still slopes up since extra quantities would require more capital equipment such as CD writers, overtime etc. Apart from terminology, Joel gets the marginal cost concept correct - it is the costs associated purely with making an extra unit. Fixed costs such as rent, development costs, rates etc are not taken into account. Unsurprisingly 'fixed cost' is the term used by economists for these costs (by now you may have realized economists are people who were unable to find more interesting courses at university).

His article then went on at length to describe how to capture the consumer surplus. At this point Joel gets all excited talking about yachts and departs somewhat from classical economic theory. Under perfect competition you can't capture this surplus.

Anyway the rest of this article is going to cover new ground. I'm going to complete the classical analysis, look at perfect and imperfect competition, and draw some lessons useful for ISVs.

Classical analysis

Up to this point, we have derived the supply and demand curve for one product under conditions of perfect competition. An industry-wide supply and demand curve is constructed by adding up all the individual supply and demand curves. Under perfect competition, the actual price and quantity are determined by the intersection of the aggregate curves, and consumer surplus can't be captured. If any company tries to charge above the equilibrium point, consumers will not purchase from that company and it will either cease to trade or be forced to drop its prices. The logical conclusion of the classical supply / demand analysis is that pricing will trend to the equilibrium point determined by the intersection of the aggregate curves.

Note that suppliers are still making profit at that level assuming their supply curves slope up. This is because the gross revenue (P * Q) exceeds the cost of producing that output (ie the area under the curve). In practical terms it means profits in any industry will trend to a low average over a number of years - not for nothing is economics known as the 'dismal science'.

Also we've left out an important detail. Strictly speaking the X axis does not show a pure quantity - it actually represents quantity in some unspecified time period. For example if we're talking about milk or bread, the supply and demand curves might represent purchases and production in a week. For software, it might be the prices and quantities of bug tracking software over a 2 year period. We'll return to this when we talk about imperfect competition.

Perfect competition and Imperfect competition

Perfect competition is rather boring because everything has reached equilibrium, consumer surplus cannot be captured, there are no large profits to be made and no New York penthouses to be purchased. What does perfect competition assume?

  1. It assumes we are talking about a single market for one product, and the products in this market cannot be substituted by products from another market.
  2. Consumers and suppliers have instant and perfect pricing knowledge.
  3. Consumers and suppliers communicate instantly at zero cost.
  4. All products in the market are the same (homogenous).
  5. Consumers are rational, ie fully guided by price.

Just by looking at these we can see how unrealistic they are, and why economic theory is best kept away from real life. Imperfect competition is where these assumptions are challenged. That's what I want to do because we can make real progress.

1. No substitutes. This is the most unrealistic assumption so I discuss it first. If macro-economists want to model an economy, the easiest way is to assume the economy is segmented into discrete products with independently derived supply and demand curves. Since this is unrealistic economists allow for substitute goods where the demand for one good 'leaks out' to a similar product if there is a price differential. Eg if the price of bread goes too high, people eat more cake. Also there are complements, for example if the demand for operating systems rises, the demand for complementary software that runs on those systems will also rise.

The lesson here is, if you want your business to work under conditions of imperfect competition with a chance of capturing the consumer surplus, produce goods that don't have substitutes, and goods that are complements to other well-established products. I assume they teach this in marketing courses, but I wouldn't know as I studied economics not marketing!

2. Perfect pricing knowledge. This is a killer because if true, nobody in the entire industry can capture any consumer surplus, and the penthouse will be forever out of reach. But happily for ISVs consumers don't have much time to acquire pricing knowledge. Remember consumers are deciding whether your product is in the market they are looking in, or is a potential substitute product, and to do this they have to compare feature sets and product details. For most low-ticket items they don't have a long time to do this. (I know a few people spend endless hours reading Which! reports before buying a kettle or toaster, but these people frighten me and I don't want to talk about them)

So the lesson here is, your product should have a price very approximately around the expected average for your market. Too high and you are pricing yourself out of the market (or you are using price to make a statement that you are in a different more prestigious market - more about this later). Too low and several bad things happen:

  • You are missing out on potential consumer surplus.
  • You are trying to make a statement that you are in a different less salubrious business.
  • You are producing below your marginal cost and losing money.

3. Instant communication. This means consumers know your product exists and can buy it with zero transaction costs. This is a very interesting assumption, because in pre-internet days it was very untrue, but now it is becoming truer. Pre-internet you had to advertise, attend trade shows etc. But now the cost of communication is lower - you can create blogs, use word of mouth, optimize for search engines etc. Also the transaction costs for software across the internet are lower, with one-click ordering, credit card validation etc.

The lesson here is we want as many people as possible to know about our products. The more consumers there are, the more the demand curve shifts to the right, and the more potential profit.

This also ties up with my earlier point about the X axis being quantity per time period. In the real world the demand / supply equilibrium is re-calculated at regular time intervals (the time interval being the average 'life' of your product before it is consumed). There is a very important lesson here. If we assume existing consumers tell some new potential consumers about our product, then by increasing the quantity sold at time t, we will increase the number of consumers at time t+1. Thus although a lower price at time t loses some revenue, the net present value of the future extra consumers may outweigh the loss of revenue.

4. Homogenous products. This assumption in classical economics is what makes it possible to group individual supply / demand curves into aggregate curves for one product. Eg my word processor is equivalent to Microsoft's word processor. Obviously this is not the case, but if I want to be in the market, my products should be of similar quality and performance to other products in the same market. Alternately I can choose to be in a different market and attempt to charge more (eg word processors for Linux with inbuilt poetry generators) but then Microsoft Word is still a large substitute market which would be compelling for many consumers.

Market segmentation is another area where classical economics fails. Eg I may be able to have similar products in the one market and charge different prices, such as software where the same product is available as the Home edition, Professional edition etc. Instant price communication makes this more difficult, but on the other hand having clearly differentiated products make this possible. So you probably can get away with some segmentation, as long as it is easily understood, there are just a few segments, and the more expensive segments have a clear advantage.

I think the lesson here is to decide what market I'm in. If it's an existing market my product should be similar (or better) to existing products. If it's a different market, make sure there are some consumers there, and try to avoid a product that's easily substituted. If I want to segment within an existing market, make sure the pricing and capabilities of my goods are clear.

5. Rationality. In the classical model rationality means suppliers and consumers are guided solely by price. Classical economics also has the notion of prestige goods, which are less price sensitive (eg the demand curve only slopes gently downwards), and where the goods are generally considered to be better quality. Joel's example of kids and sneakers is a bit misleading - there are really two markets. Market one is sneakers that keep your feet dry, and market two is sneakers with a particular logo on them. Both markets have different demand curves.

Prestige goods generally apply to goods that are conspicuous, or leisure oriented, such as clothing, housing, cars, furniture, and can be potentially appreciated by the majority of the market. In effect a prestige good says - look at me, most consumers would like to own me, but not everyone can afford me. Utilitarian goods or task oriented goods (printers, exhaust pipes, office desks, software packages etc) are generally not prestige goods (OK I know you can buy fancy exhaust pipes that cost a fortune, but these are generally only appreciated by a small market of car aficionados. And nobody said economics was an exact science).

So I'm sorry, but however much we wish otherwise, software is not a prestige good. No-one thinks we look cool by having a $1000+ software package on our desk. So any attempt to price our software much above the 'average', even if it's better, is not putting it into a new market with consumers with deeper pockets. All we're doing is exposing ourselves to market erosion from substitutes, and losing out on future revenue from the right-shift of the demand curve caused by new consumers in the next sales cycle.

There is also a danger from under-pricing our products. If significantly below the average, a reverse-prestige effect comes into play. We are stating our software belongs in a bargain basement market with the implication of poor quality, new consumers will not come on board, and our market will not grow. We don't want to be there!

So non-rationality has an important lesson. We should price our goods around the average, or slightly above the average range. This does not preclude segmentation as I previously discussed.

There are other parts to non-rationality where we leave classical economics behind and enter the world of marketing. I won't talk much about this as my economics course didn't cover marketing. But decisions made by consumers are partly on impulse and on intangible elements hard to measure. For example the comfort factor of going with a well known supplier (Microsoft), the ease of use of a website, the perceived quality of a product, the opinions of peers and market leaders, and the instant appeal (or otherwise) of a package or a web page. My only thoughts here are to find people who are not afraid of hurting your feelings (eg family and friends are out), and ask them for honest off-the-cuff feedback on your products and websites. But now we are entering the world of marketing and it's time for me to stop.


  • Try and be in a clearly defined market with a useful purpose. Eg 'word processing software', 'programming software', 'bug control software' are all examples of markets with a clear purpose. The alternative markets to word processing software are pens and paper, and the alternative to bug control software is fiddling around with lists in Excel. Try and be in a market that complements another bigger market (eg the Windows software market). Try not to be in a market where there are clear substitute markets, eg 'business consultancy' or some obscure web service.
  • Your price should be around the average of the other suppliers in your market, or a little above average. It should not be significantly above or below (see prestige and inverse-prestige products discussed previously). This implies your product should look and be as good as other products in your market. If your product is significantly worse consumers will find out and your demand curve will shift to the left.
  • Try and make as many people as possible know about your product. This means blogs, click adverts in google, optimize your pages etc. If possible you want to increase quantity sold, even if this reduces profit, because this will increase demand later on. But don't reduce the price to such an extent that an inverse-prestige effect comes into play.
  • Use the internet to reduce transaction costs. This means convenient ordering, quick delivery, and timely response to questions.
  • Use market segmentation wisely. Segmentation must be clear so that everyone knows what everyone is paying and what everyone gets. Then nobody feels cheated. To do this, your product needs features that are justifiable in the higher priced versions. In software, the segmentation into Home editions, Professional editions and Enterprise editions seems clear. Different consumers can place themselves into the correct segment and get what they need.
  • Don't bother making your software expensive and pretending it's a prestige product. It's not. Prestige products have labels like 'ferrari' or 'maserati' on them and are desired by millions of people in the western world. If you make your software expensive, then no matter how good it is, you are simply creating a tiny new market next to a large existing substitute market.
  • Improve the presentation and appearance of your product and website. They must look nice, must be easy to use and easy to install, and must give a professional impression. Common sense, really.

Thanks for your time and I hope this leaves you in a better state to price your software! I took some Economics units at Manchester University and found it interesting. I hope you found this interesting!

Bill Rayer, 19th December 2004.