The theory of software businesses goes something like this:
Software is expensive to design. To create a piece of software, you have to hire application designers and software engineers and various other expensive employees1 who make mocks and write code and talk to prospective customers about the software you want to build. This costs a lot of money—sometimes many millions of dollars—and companies often have to spend it before they have a product that they can sell.
But once a software product is designed, it’s very cheap to manufacture and distribute. Twenty years ago, software companies would spend a few dollars replicating the master copy of their product—Microsoft Excel, the Oracle Database Appliance, RollerCoaster Tycoon, whatever—onto a CD-ROM and putting it in a nice box. People would then buy the box, install the CD on their own hardware, and run it themselves, at their own expense. Today, manufacturing copies of software applications is even cheaper—vendors create copies of their software on various servers around the world, and customers download that software over the internet, no CD or box required. Though these servers cost money to run—Google has to pay for the hardware that Google Docs runs on, whereas old versions of Microsoft Word ran entirely on customers’ computers—these costs are still far lower than the costs associated with designing the software, and far lower than the price that vendors can charge for the software.
In slightly more formal terms, the marginal cost of producing a new “unit” of software is zero. For example, last year, 320,000,000 people used Microsoft Teams every month. I was not one of them. If I had been, I would’ve added a bit more load to Microsoft’s servers, and their server costs would’ve gone up by a few cents. But their revenue would’ve gone up by four dollars. That’s a pretty good deal, for Microsoft.
For other businesses, the deal isn’t nearly as good. A coffee shop can’t sell an additional ten-dollar frozen tahini cold brew slushy2 without spending a few more dollars on ingredients and a dollar or two more to pay the barista who makes it.3 McKinsey can’t take on an additional million-dollar consulting client without paying hundreds of thousands of dollars to a couple of 27-year old UPenn graduates to advise the client. But Microsoft can produce an additional unit of software that they can sell for four dollars by spending less than ten cents.
In practice, the math isn’t quite that good. Though companies can “manufacture” software at effectively no cost, it does cost them money to sell and support it. Microsoft pays thousands of support agents to help customers use their products; they pay engineers to maintain their servers, and they sometimes have to hire a guy with an angle grinder to fix them. If you add up all of these costs, known as the “cost of goods served,” or COGS, it probably costs Microsoft about a dollar to support an additional four-dollar seat on Teams. That “gross margin” of 75 percent—three dollars of profit on four dollars of revenue—is still a pretty good deal, and still much higher than it is for most other industries.
This dynamic also has an important implication: It compels software companies to get really big. If you spent three million dollars designing some product that you can now “manufacture” for one dollar and sell for four dollars, that’s great—but you’re three million dollars in the hole. You have to sell at least a million units just to cover your costs.
But once you do that, why stop there? You know what’s cooler than a million units and three million dollars? A billion units, and three billion dollars. If you’re going to build a magic machine that prints money, you might as well find as many customers as you can and print yourself into Forbes.
So, the theory of Silicon Valley—”software has great margins”—becomes the business plan for Silicon Valley:
Design some software. Do it in a garage, in stealth. Don’t sell anything yet, because your product is an incomplete jumble of code that nobody wants to buy.
Go big. Launch your product, and start selling it. Though you could immediately start filling the financial hole you dug in step one by selling your product to hundreds or thousands of people, that’d be shortsighted. It’s much better to keep digging the hole, and build a product that you can eventually sell to millions or billions of people. Don’t make three dollars at a time in a small market; conquer a huge market by becoming the default choice in an essential product category, by exploiting a growth flywheel, by building a moat of network effects, or by tithing your way into the upper-right hand corner of a two-by-two grid. You’ll make money during this phase, but not as much as you spend. That’s ok, though:
In growth mode, software companies are early in their…market penetration. They’re often rapidly hiring engineers (to build more features) and sales reps (to sell the product) in attempts to capture the majority of a market against their competition (both other startups and incumbents). Investing in growth is not only normal, [but] essential. But there’s a downside to investing in growth: [Free cash flow, which is similar to profit,] is generally negative. In growth mode most of a company’s sales reps are unproductive. … But this is ok! … A similar dynamic plays out on the engineering side. When new products are being built and engineers are hired, you’re paying those engineers compensation when the products they’re building aren’t generating any revenue…
But what’s the alternative? Not building more products? Not hiring sales reps and letting competitors take market share? Dinging software companies in growth mode for not attacking their market and building long term moats, seems silly.Vast, incalculable profit. At some point, you will be making so much money from so many customers—each costing you next to nothing to serve—that you will make up for all of the losses from steps one and two. And you’ll still have enough money left over to buy Hawaii.
It’s hard to overstate how important this theory—that software, once designed, can be manufactured for very little money and sold for lots of money—is for Silicon Valley. According to Ben Thompson, it’s the defining feature of tech companies, “which are characterized by a zero marginal cost component that allows for uncapped returns on investment.” This theory is why venture capitalists and private equity firms invest hundreds of billions of dollars in software businesses that have been losing money for over a decade. It’s why engineers are paid such high salaries—because they can design something that can eventually be sold for almost pure profit. It’s why the whole Silicon Valley scheme isn’t quite a Ponzi scheme: If you put enough money into a software company, it could, in theory, turn into a magic machine that transforms one dollar into four.
But what if the theory is wrong? What if the most important cornerstone in Silicon Valley is actually a teetering liability?
For sale, as is
On one hand, the theory isn’t entirely wrong. If I were to buy Final Cut Pro from Apple, I’m quite confident that $299.99 will move from my bank account into theirs, and some code will move from their computers onto mine. This will cost me a lot of money, and it will cost them very little. So something works.
On the other hand, something else quite clearly doesn’t work. In addition to measuring gross margins, companies also measure operating margins. To return to the coffee shop example, suppose they sell 100,000 coffees a quarter, at an average of ten dollars a drink, for a total of one million dollars. If they spent 400,000 dollars on ingredients and on paying baristas to make coffees—money they have to spend to produce an order; their COGS—their gross margins are 60 percent. But that’s not the only money the coffee shop spends in the quarter. They also have to pay rent; they have to buy machines; they have to pay coffee scientists to test and develop their next signature drink, like a Mexican Corn Latte. If they spend 550,000 dollars on these operating expenses, in addition to 400,000 dollars on making coffees, they would only make 50,000 dollars in actual profit on one million dollars in revenue. Their operating margin, then, would be 5 percent.4
Roughly, gross margins measure how much profit a business could make, given what it costs to manufacture what they sell. Operating margins measure how much profit they actually make. Intuitively, you’d expect companies with high gross margins to have higher operating margins. If you spend a lot manufacturing what you sell, there won’t be much left over for you to keep. But if your manufacturing costs are very low—or close to zero, as they are for software companies—you could, in theory, keep most of it. That’s the reason software companies are valuable: the “zero marginal cost component that allows for uncapped returns on investment.”
And yet! According to Jamin Ball’s figures, the average public software-as-a-service company has gross margins of 74 percent—it only costs them a dollar to manufacture something they can sell for four dollars. This is almost double the gross margin of the average company in the S&P 500, which is around 40 to 45 percent.5 However, the average operating margin for an S&P 500 company is positive 15 percent, compared negative 11 percent for the average SaaS company. Despite their high gross margins, SaaS companies don’t just make less than other public companies; most of them actually lose money.
I mean, what? Where does all of it go?
One answer is that too many companies get stuck in step two, and never make it to “vast, incalculable profit.” Jamin, again:
Many software companies will get disrupted before they hit maturity mode (which means they never generate meaningful [free cash flow, which is similar to profit]!). … [T]hey get disrupted before they can become a platform with enduring moats.
The other challenge is that rarely are companies, even the most mature software companies, truly operating in maturity mode. … Let’s look at Salesforce - they may be in maturity mode in their core CRM business, but they also have marketing, commerce and data cloud products that are not in maturity mode. So even the most mature software businesses are still operating, to some extent, in growth mode.
Empirically, this seems true enough; of the 79 public software companies that Jamin tracks in his weekly updates, 55 of them are still operating at loss. Moreover, the median profit-making SaaS business makes 1.6 billion dollars of revenue a year, while the median profit-losing one makes 600 million dollars in revenue. That implies that companies don’t typically get to step three—the step in which they’re making a profit—until they’re bringing in about a billion dollars a year in revenue. Not only is that a threshold very few companies cross, but it also raises a pretty obvious question: Why? Why is it so hard for software companies with high gross margins and high revenues to turn a profit?
The uncomfortable answer, I think, is that software margins—and especially SaaS margins—are an accounting fiction.
Imagine, for example, that you’re out shopping for a new LLM to use to build the world’s first autonomous engineering manager. You go to OpenAI; Sam Altman says that their models are going to keep getting better, up to and beyond the point of us all being dead. You go to Facebook; Justin Timberlake tells you that they’re upgrading Meta AI with new state-of-the-art technology.
And then you come to Benn.AI, the AI superstore. I tell you that we have the best AI in the world (we don’t, but imagine). I show you that it’s currently at the top of the AI leaderboard (it’s not, but imagine). But our AI is fixed, I say. We have no roadmap; we are comfortably parked at the end of a cul-de-sac. What you buy from the AI superstore is what you get from the AI superstore. No returns, no refunds, and most importantly, no upgrades.
You definitely wouldn’t buy my model? And that’s not just because LLMs are advancing so quickly; it’s because when we buy software today, and especially enterprise software, we expect it to improve. The roadmap is part of the sales pitch. Customers complain, and sometimes churn, when vendors are slow to release new updates. They won’t subscribe to our coffee shop unless they like today’s drinks (a Pandan Coconut Foam Latte) and next season’s drinks (The Surreal Taro Latte, with sprinkles). In SaaS, you aren’t just selling what your software is; you’re selling what it will become—and you can’t sell something that’s stagnating.
In other words, software development costs are COGS. Not literally; not according to the accountants. But in practice, if you can only sell SaaS software—and retain customers—by promising a steady stream of new releases, how are the expenses associated with developing those releases functionally any different than the money you spend on servers and support agents?
The conventional view is that these development costs are voluntary “reinvestments” that companies make, to add more potential energy to step three magic money machine:
In the case of SaaS companies, earnings bases are typically negative, based not upon poor financial structures, but rather upon high rates of reinvestment made to support the accelerated growth of their valuable high-margin recurring revenue base. Given the highly recurring, low churn revenue base, it is fairly simple to calculate the net present value of the installed customer base assuming the company was operating under a steady-state condition (i.e., not investing for new growth). Over the long run, the revenue bases should evolve to support strong earnings bases due to significant operating leverage.
But can SaaS businesses ever operate “under a steady-state condition,” when they aren’t investing for growth? Would prospects, who’ve grown accustomed to promises of constant updates and innovation, buy that product? Will customers continue to be “highly recurring” and “low churn” if a company downshifts into maintenance mode?
The entire SaaS model assumes that the answer to these questions could be yes. It assumes that software companies can reach some steady-state, in which they spend less, and their customers remain loyal. It assumes customers buy what’s on the shelf, and not what they think is coming next.
Though that might’ve work for software delivered in box, I’m not so sure it works for subscription software. If a company is going to charge perpetual fees, customers are going to want perpetual updates.
A special snowflake, like everyone else
The good news, perhaps, is that acknowledging the problem may be most of what we need to do to solve it. By classifying the costs of designing software differently than the costs of manufacturing it, and by telling ourselves gentle lies about how we’ll one day reach an equilibrium in which those former costs are no longer necessary, we excuse that expense. Development costs are high because investing in growth, we say. We can afford to be inefficient, because we aren’t a low margin business.
It’s probably time for software businesses, and SaaS businesses in particular, to drop that identity. We should build a new theory that acknowledges that software can’t be sold unless it’s continually being redesigned and updated, that software margins aren’t actually that high, and that step three is mostly a theoretical fantasy. We should kick out the outdated cornerstone, and build a new business plan with the pieces that are still useful.
There are good businesses to be built on top of these pieces. Every other industry does it. But we won’t, not until we’re honest with ourselves about what the pieces really are.
And maybe product managers? Nobody knows anymore.
Yes, Megha, it tastes like sugary peanuts. That’s exactly the point.
When businesses calculate how much it costs them to serve one more unit of a product, it’s typically averaged across all of their sales. If a coffee shop serves 100 orders a day, it’ll pay one barista about 140 dollars to serve them. If I go to that coffee shop and spend ten dollars, the barista probably won’t make any of that money directly. But if the coffee shop starts serving 200 orders, they’ll have to hire another barista. So the marginal cost of serving those extra 100 orders is 140 dollars, or $1.40 per order.
This ignores some details about things like taxes and interest, but close enough.
Is this website reliable? I have no idea. The other figures in the table, like net margin, are roughly consistent with more reputable sources, so I’m going with it. But if anyone has access to a Bloomberg terminal, please tell me if I’m wrong. (Also, speaking of high margins, Bloomberg terminals.)
I am not an accountant and am still working my way through the post, but I think two things already
1. I think you might be conflating gross margin and contribution margin. The latter is about variable costs. You seem to argue that COGS is the place for variable costs and it's actually the place for production costs. Unsure, but wanted to get that out there.
2. Agree that SaaS took us to a place where costs of the running the software are eaten by the vendor and put into COGS. Hence the glorious days of 98% GM are long behind us. In effect, SaaS vendors are in two (inextricable for now) businesses: building the software and running the software.
3. I've always believe that software companies are worth a lot not because they are profitable but because they have the potential to be at scale. Most trade-off profit in favor of acquriing new customers to grow (and that gets rewarded). But if you look at at-scale software companies, they throw off a lot of free cash flow (e.g., CRM $9B, ORCL $8.5B)
More later as I process this article more.
What are the consequences for the existing VC model? If stage 3 is recognized as myth, that makes the VC's job to sell investments of multiples of X returns that much harder.
Seems the myth lives to serve, and as long as we don't come up with a better, more lucrative story, we may yet be trapped in the fantasy.
Maybe end of ZIRP will lead to a rude awakening, but we still need a new narrative to act as cornerstone for the next generation of more sustainable (dare I say rational) companies.
Any bets on what that new cornerstone belief may be?