Atanu Dey On India's Development

The Economics of Software

“The time has come,” the Walrus said,
“To talk of many things:
Of shoe–and ships–and sealing wax–
Of cabbages–and kings–
And why the sea is boiling hot–
And whether pigs have wings.”

An item titled the economics of software caught my eye on Rajesh Jain’s blog. Rajesh quotes from an article by Bryan Cantrill which begins with:

Software is like nothing else in the history of human endeavor unlike everything else we have ever built, software costs nothing to manufacture, and it never wears out. Yet these magical properties are arguably overshadowed by the ugly truth that software remains incredibly expensive to build. This gives rise to some strange economic properties: software’s fixed costs are high (very high — too high), but its variable costs are zero…

Clearly, Mr Cantrill is out of his depths when it comes to basic economics, and consequently his analysis of the economics of software is fundamentally flawed. Ignorance of basic economics is bad enough when one takes on the task of explaining the economics of software but what is worse is that he is mistaken about some facts as well. For instance, he asks rhetorically, “… doesn’t it strike you as odd that your operating system is essentially free, but your database is still costing you forty grand per CPU?”

Which planet are you on?

One wonders if he has heard of that obscure little company called Microsoft which makes a decent living out of selling operating systems. As far as I can tell, they don’t give them away for free. And I suppose that he has not heard of MySQL which is database software and for which you have to pay a lot less than forty grand — zero, to be precise.

Sorry, Mr Cantrill, but it will take us too long to fix all the bugs in your analysis. So I will just write the analysis from scratch. Here is a short introduction to the economics of what is called “information goods” to which class computer software belongs.

Of goods and services and information

To start at the top, there are things called goods and there are things called services. Services are things such as haircuts, transportation, heart surgeries, operas, and psychoanalysis. Goods are stuff such as cd players, cars, toasters, shirts, and books. Most goods are ‘hard’ in that they are kickable. Then there are goods that are not kickable. An idea or a thought or a receipe is not kickable because it is not made up of matter. Note however that to convey, store, transmit, and use the idea or receipe, it has to be incorporated into some physical medium which is kickable. But the information good itself is not a material entity unlike a car or a desk.

The distinction between the information good itself and the material object used to store, retrieve, transmit and use it is vitally important. The idea or the receipe is ‘software’ while the stone tablet or book or the cd in which it is found is the ‘hardware’. The cost and economics of hardware follow the usual economics of kickable goods. So it may be good to review those basics quickly before we look at the economics of software.

Costs — fixed, marginal, and average

To produce stuff (hardware), you need labor, capital, and other stuff. Let’s say we need to make a car. We need to buy some humongous machines, make parts, put them together and we get a car after some time and cost. Even before we get one car out of the shop, we have to spend money — put the factory up and pay people to design the car, etc. Those are fixed costs. For every car we produce after we have paid the fixed costs, it costs some money. That is the variable cost. The more the number of cars, the higher the variable costs because you need more parts. The difference in the total cost of producing n+1 cars and n cars is called the marginal cost of producing that n+1th car. Finally, the total cost (sum of the fixed and variable costs) divided by the number of cars gives us the average cost.

Supply and demand

Usually, the marginal cost decreases as the number of units produced increases, and at some point it starts rising for reasons that need not detain us now. The upward sloping supply curve is actually the rising part of the marginal cost curve and it represents the fact that as you produce more and more of some good, it costs more to produce the next unit than to produce the current unit. This is true for most kickable goods but not so in all cases and definitely not so for software as we shall see.

Then there is a demand curve which is usually downward sloping (on a price-quantity graph where the y-axis is used for the price and the x-axis is used for quantity). This is so because of a number of reasons. For a consumer, each additional unit of a good delivers diminishing additional utility. This diminishing marginal utility or benefit implies diminishing willingness to pay. So the demand curve is a marginal utility curve or a marginal benefit curve.

Markets

If you draw the marginal benefit curve (aka demand curve) and the marginal cost curve (aka supply curve) on the same price-quantity space, they may intersect and if they do that point of intersection is called the equilibrium which represents a market-clearing price and quantity. The equilibrium condition is that the marginal cost equals the marginal benefit. Markets determine this equilibrium and under idealized conditions (which do not obtain in the real world but are realized approximately in many instances), this is welfare maximizing.

Which brings us to a very important point that is relevant to our goal of understanding the economics of software. We have to know something about competitive markets and how they maximize welfare and under which conditions. Markets are competitive if a bunch of conditions are met which include, among others, (1) zero fixed costs (implying no scale economies), (2) no externalities, (3) perfect information, (4) no public goods, and so on. In a competitive market, the price determined is welfare maximizing and the price is equal to the marginal cost of production. Whether real world markets achieve efficiency, that is, whether they arrive at this welfare maximizing price or not, depends on whether the conditions for competitive markets are met or not.

Marginal Cost Pricing

One last thing we need to keep in mind before we continue on. For economic efficiency (in other words, for maximizing social welfare), price has to equal marginal cost. That is, the additional cost of producing the marginal unit (that is, the next unit) has to equal the marginal benefit from the consumption of that unit. So if the marginal cost of production is zero, the economically efficient price is zero. But here is the catch. You could have zero marginal cost of production but have a very high fixed cost. In which case, you still have a positive average cost. Granted, this average cost decreases as the total number of units produced grows. But pricing the good at marginal cost will leave you unable to recover the fixed cost. You could of course price the good at that average cost but then it will not be maximally efficient — it will lead to dead weight losses. Alternatively, you could have the government or your rich uncle subsidize the fixed cost component and price your good at the marginal cost of zero.

Economics of Software

Now let us move to software. First order of business, what is software as used in this analysis. I define software as anything that is an organized collection of information. Examples of software: receipes, stories, driving direction, computer programs, population statistics, exam results, poems, instructions on how to achieve enlightenment, a movie script, and such. Let us lump these in the generic group called information goods (IG). Every IG requires some amount of intellectual effort and unlike the production of hard goods (HG), the cost of production is totally front-loaded and the cost of producing additional copies of an IG is zero. In other words, the cost of producing one IG is the same as the cost of producing a billion copies of the IG.

Distribution Costs

Note however that merely producing something is not enough; you have to distribute the stuff before you can use it. The cost of distribution is an important and significant component of the total cost of IG. This is distinct from the case for HGs. To take an example, producing a car costs say $100 million, producing each additional unit costs (marginal cost) say $20,000, and the cost of distribution for each car through a dealer network is $1,000. The distribution cost is therefore only 5% of the marginal cost of production.

Now consider IGs. Take the case of an operating system or a database system. It costs umpteen hundred million dollars to produce the first unit, if you are a Microsoft, but it costs next to nothing if you are an open source collaborative project. So the range of fixed costs of production extends from very high to practically zero. Marginal costs in any case for IGs is always zero. Then comes the distribution costs. If you were to distribute your software on punched paper tape or cards, you have to hire a fleet of 18-wheeler tractor trailers to deliver one copy of Microsoft Windows XP to one customer and it will cost you $19,500. If you were to use a set of floppy discs and mail it to the customer, it will need a shoebox-full of floppies and your distribution costs will be $40 per customer. Not as bad as the fleet of tractor trailers, but still not as good as using a few cds and cutting your distribution costs to $4. And it gets really sweet when you can just have your customer download it from your site for about $0.04 total cost to you. (But the sweetest thing of all is when you can charge your customer $300 for the download.)

Summary

To sum up the discussion so far, depending upon the size and complexity of what a software program does, you have to employ a bunch of programmers and have some computers for them to do their stuff on. That is the fixed cost of producing the software program. That fixed is high in the case of operating systems and huge database programs if you have to pay programmers fat salaries. If you got a whole bunch of people to collaborate and produce software for free, then you have low fixed costs. The latter is what mostly happened in the case of Linux while the former is what happens in a commercial shop like Microsoft.

Once you have produced the software program with whatever fixed costs — high, low, or intermediate — you then make a certain number of copies. Depending on the cost of the medium you use to distribute the software, your variable costs (and therefore the marginal costs of distribution) is determined. If you use punched cards or paper, marginal cost of distribution is high; if you use cds, it is low; it is lowest so far if you send it over electronically by wires or wirelessly. Because electronic distribution of software is so cheap over the internet, you can say that the marginal cost of production as well as distribution comes pretty close to zero.

Is software really different?

Information goods are essentially different from material goods. That is so because of two reasons. First, the nature of information goods itself. And second, the cost of production of IGs. IGs have public goods characteristics, they have externalities, and have high fixed costs. All these are deviations from the conditions required for competitive markets. Thus markets will not deliver the social welfare maximizing outcome. All sorts of distortions will result such as the presense of monopolies. Monopolies, like everyone and his brother, maximize profits and since they have market power, they can charge whatever suits their fancy. So they can price an operating system at $300 a pop which is way above the marginal cost of production (exactly $0) and the marginal cost of distribution (nearly $0).

So is the economics of software essentially different from the economics of other goods? Not really. There are differences in their associated costs (fixed, marginal, average) and the ways in which they deviate from the conditions required for a competitive market. But the fact remains that there is nothing surprising about the way the market for software behaves if one were to understand the nature of software and the nature of markets. Like shoes and ships and sealing wax, they follow predictable pathways in the marketplace. Pigs don’t have wings and the sea is never boiling hot.

In the concluding bit of this piece, I will explore some of the issues that follow from this preliminary analysis. Later, alligator.

  • Walker

    “Usually, the marginal cost decreases as the number of units produced increases, and at some point it starts rising for reasons that need not detain us now. The upward sloping supply curve is actually the rising part of the marginal cost curve and it represents the fact that as you produce more and more of some good, it costs more to produce the next unit than to produce the current unit. This is true for most kickable goods but not so in all cases and definitely not so for software as we shall see.”

    Actually a couple of economists back in 1952 did a survey of factory managers and found that only about 5% associated rising marginal costs with rising output at all levels of production. The remaining 95% faced either constant or decreasing marginal costs. Here is a reference…

    Eiteman, W.J. And Guthrie, G.E., (1952). ‘The shape of the average cost curve’, American Economic Review
    42: 832-838.

    In this sense software is fairly typical, though extreme in that its marginal costs are particularly low as you say.

  • walker

    confusing grammar above…

    “only about 5% associated rising marginal costs with rising output at all levels of production”

    …should read…

    “only about 5% associated rising marginal costs with rising output at any level of production”

  • Sanjay Jain

    Hey Atanu

    The marginal cost of distributing software is not 0 (at least not for most commercial software companies). You have to include the costs of selling, and supporting the software. The cost of sales can be quite high – look at the annual reports of publicly listed software companies – the Selling General & Administrative expenses are 30 – 50% of revenue!

    I believe that if you account for these expenses – this wil result in a supply curve that is not very different from the classic ‘supply curve’.

    If you only consider linux (or other freeware) – the supply curve is clearly a flat line – the suppliers will supply all the software you need for 0 – they have no selling expenses, and do not support the product. That does not apply to most commercial software providers.

  • http://www.deeshaa.org Atanu Dey

    Sanjay, thanks for the comment.

    How one analyses things depends on how one chooses to partition and
    represent reality and so definitions of terms are clearly important.
    My analysis so far focused on two bits of the total process of the
    production and use of software: the production and distribution
    aspects alone. I have neglected the next bits which include the two
    bits you point out — sales and support. I will add those two bits later.

  • http://www.drmalpani.com Dr Malpani

    Dear Atanu,

    A picture is worth a 1000 words. For non-economists like me, a diagram which shows the curves you are talking about would have been very helpful !

  • David

    OK you’ve managed to show how “economics” fails to describe software. That would be a shame, and a real failure of economics, if it could not describe something so important to our economy!

    I bet that one can do better. I bet that one could even construct an economic theory that would reasonably describe software — its manufacture, distribution and use. In fact it’s been done.

    Economics is a broad way of thinking that goes beyond the specific material in Econ 101.