The zero(ish) marginal costs of software
Last week I explored why margins make a SaaS business. But high margins relies on low marginal cost.
In this week’s post, I’ll explore what practically $0 marginal costs means in the markets for software products.
Marginal Cost of Production
The Marginal Cost of Production is the cost a producer experiences in order to product one more unit of a good or service.
In traditional industries, the marginal cost is made up of
The resources needed to make the product
The labour required to produce and supply the product
Transport costs required to move the product to where it is needed
Any taxes / tariffs involved in supplying the product (which idealistically exist to correct any externalities arising from the first 3 points)
Importantly, marginal cost doesn’t include the fixed costs required to be able to produce goods in the first place. Things like having a factory, a distribution network etc are all fixed costs that, while they may impact the final price of the good, don’t impact the marginal cost of the company producing and selling another unit.
Software is different to a traditional good - software can be infinitely replicated with exact copies, there’s no steel needed, nothing needs to be made in a factory and thanks to the internet there are virtually no transport costs (moving electrons is waaay cheaper than moving physical goods). The fixed costs are high, and the public utilities required to supply the goods are immense (all of the infrastructure of the internet, the legal infrastructure required to police licensing), but importantly, the marginal cost of another unit of the good being produced basically boils down to the cost of producing, moving and storing electrons in electric circuits.
This has really interesting implications for markets for software products.
Time for an economics lesson.
The profit maximising condition in a competitive market occurs when marginal costs (MC - the cost of producing and selling an additional unit) are equal to marginal revenue (MR - additional revenue the firm receives from selling an additional unit). That is, where the cost of producing one more good is equal to the benefit a consumer receives from buying that good (and therefore the amount they will pay for the good and the revenue the firm receives).
In a perfectly competitive market, if a producer tries to sell goods at above marginal cost, they will sell nothing as the sale price will exceed the benefit a consumer receives from buying the good.
If marginal cost exceeds marginal revenue, the producer would receive no benefit from selling that good in the market and would therefore be better off producing less (and not producing a good that it could only sell at less than production cost).
If marginal cost is less than marginal revenue, the producer could produce one more unit and sell this unit to increase profit.
Supply and Demand
(While there is an argument in economic circles that there is no such thing as supply curves - there’s a whole deep dive we can do around this and what it means for software … but not for now).
Classic supply and demand curves you might be familiar with: demand slopes down to the right. Supply slopes up to the right. Competitive market equilibrium occurs where Supply = Demand.
But software is different! It’s not a classical good.
Competitive Markets for Software
In a competitive market, the market supply is the sum of the supply of all the firms in the market - meaning that in software markets, the supply curve is downward sloping and asymptotes to $0.
Side note: the supply curve asymptotes to $0 because there will always be some fixed costs of producing and distributing software. Better and cheaper distribution systems mean that the cost can get even closer to $0 (which is why Github et al. helps in the proliferation of open source software).
So for MR = MC (the point where the supply and demand curves intersect) in a competitive market, in the limit, the competitive market price is (practically) $0!
In a competitive market, margins would be expected to be super slim, and the businesses making these products would expect to charge basically $0/user.
This hyper-competitiveness is why open source software exists - it is competitive to the point that the marginal cost per user is basically $0 and the sale price is free.
💡 The market price of pure-software products in a perfectly competitive market is $0 - more on what this means for software in a competitive market in next week’s post.
But most software companies enjoy some level of monopoly power
In a monopolistic market, the profit maximising condition also occurs where marginal costs are equal to marginal revenue, but because there is no competition, the monopolist faces the market demand curve, meaning that increasing quantity sold will require a decrease in the price. This decrease can offset any increase in revenue from the additional product sold, meaning the monopolist stands to make more by selling less (at a higher price).
All software that is paid has some level of monopolistic market tendencies - agglomeration benefits from being able to work with others (eg. Microsoft Office), the incumbent product in a market where training staff is a significant cost (eg. Adobe products, also Microsoft Office) or regulated markets where significant regulatory burden exists (eg. software for hospitals and banking).
There is a middle ground between monopolistic software and free software: services + software. This is where you have a software product that is fundamentally free, but the effort required to get it working / customised for a particularly use case leads to the creation of services businesses providing the setup / customisation for a (often significant) fee.
Sorry for getting a bit technical in this post - I promise it will pay off in future posts where we will explore some of the classic SaaS behaviours through this lens of marginal cost and monopolies.
Anti-competitive behaviour like supply subsidies
Marketing to manipulate demand for a particular product
Great product design to increase value
Stay tuned and thanks for reading 🙂



