Be careful what you put up there
Protecting your gross margin
Gross margin is the dance floor residue your sales and cost of service leave behind when they let the demons out. Simply put, it demonstrates your ability to get your customers to pay you more (Revenue), while paying your suppliers less (Cost of Sale). It’s the ultimate test of who wears the pants in your business model - is it you, your customers, or your suppliers? And it’s the ultimate indicator of how scalable a business is.
Gross profit is Revenue less Cost of Service, and Gross Margin is Gross Profit as a percentage of Revenue.
At the end of the day, the higher your gross margin, the more money you have to run the rest of the business. A gross margin of 74% (the median for software companies) means that for every $1 the biz brings in, 74 cents is left over for salaries, rent, and those uncomfortable company tee shirts you had to all wear at the last all hands. A high gross margin “frees” up money for investment in other areas. Like company hats. With velcro backs. That nobody wants.
So the Revenue piece of the equation is easy to understand. But what Expenses are you thrown into the gross margin cauldron? Well, it’s the cost to maintain a successful customer. Some companies call this Cost of Service, some call it Cost of Revenue, and some call it Cost of Goods Sold if they have a physical component to whatever they are selling. For software companies this is usually comprised of:
Customer support (headcount): Break / fix
Customer success (headcount): Enhance the customer’s experience and get them to use more features and modules
Hosting (compute): Cloud costs (AWS, Azure, or GCP or the dusty ass servers in your basement)
Licensing (subscriptions): For products embedded within the delivery of your product
Data Communication (infrastructure): Linking the databases and robots in your network so they can talk
Examples of Cost of Revenue
These all make sense in theory. But for people with simple minds like myself, Cost of Sale never really clicked until I saw some real world examples.
Let’s look at a few.
Spotify: Includes artist royalties (e.g., the cost of Drake), credit card processing fees for your monthly subscription, and streaming costs.
Cost of revenue consists predominantly of royalty and distribution costs related to content streaming. We incur royalty costs, which we pay to certain record labels, music publishers, and other rights holders, for the right to stream music to our users.
Cost of revenue also includes credit card and payment processing fees for subscription revenue, customer service, certain employee compensation and benefits, cloud computing, streaming, facility, and equipment costs, as well as the amortization of podcast content assets.
Twilio: The network carrier fees to deliver text messages.
Cost of revenue consists primarily of fees paid to network service providers. Cost of revenue also includes cloud infrastructure fees, direct costs of personnel, such as salaries and stock‑based compensation for our customer support employees … Our arrangements with network service providers require us to pay fees based on the volume of phone calls initiated or text messages sent, as well as the number of telephone numbers acquired by us to service our customers.
Our arrangements with our cloud infrastructure provider require us to pay fees based on our server capacity consumption.
Gitlab: Basically the cost to hold on to all your code in the cloud and track the updates you make. This generally scales with the number of customers they have.
Cost of revenue for self-managed and SaaS subscriptions consists primarily of allocated cloud-hosting costs paid to third-party service providers, personnel-related costs, including stock-based compensation expenses, associated with our customer support personnel, including contractors, and allocated overhead. We expect our cost of revenue for self-managed and SaaS subscriptions to increase in absolute dollars as our self-managed and SaaS subscription revenue increases. As our SaaS offering makes up an increasing percentage of our total revenue, we expect to see increased associated cloud-related costs, such as hosting and managing costs, which may adversely impact our gross margins.
Meta: The cost to store your Aunt Pam’s selfies and bandwidth costs for your Uncle Jim to play Farmville.
Our cost of revenue consists primarily of expenses associated with the delivery and distribution of our products. These include expenses related to the operation of our data centers and technical infrastructure, such as depreciation expense from servers, network infrastructure and buildings, as well as payroll and related expenses which include share-based compensation for employees on our operations teams, and energy and bandwidth costs.
Cost of revenue also includes costs associated with partner arrangements, including traffic acquisition costs and credit card and other fees related to processing customer transactions; cost of products sold; and content costs.
Zillow: Listing service fees for the house in that neighborhood you’ll never be able to afford. And the hosting fees associated with the database of houses all over the country.
Our cost of revenue consists of expenses related to operating our mobile applications and websites, including associated headcount expenses, such as salaries and benefits and share-based compensation expense and bonuses, as well as credit card fees, ad serving costs paid to third parties, revenue-sharing costs related to our commercial business relationships, costs to generate leads for customers, multiple listing services fees and costs associated with the operation of our data center and customer websites.
Simply put, the cost buried in gross margin is what it takes to perform your core service for existing customers in order to keep them around. It’s your cost to serve.
Does it differ by industry?
Yes, absolutely. Kasparity did an amazing job breaking down the average gross margin’s across different industries. For example, check out what good looks like for Software as a Service vs Social Media Platforms.
Atlassian’s gross margin leaves TONS of room for investment in Research and Development. They run an incredibly efficient ship.
On the flip side, Twilio runs a capital intensive business when it comes managing their network costs to serve customers, paying the likes of AT&T and Verizon to use their towers.
Spotify’s entire business model is at the whim of artist royalty fees. The more artists get paid, the less Spotify has to invest in their recommendation algorithms and search platform. Over the year’s Spotify’s GM deteriorated in order to keep artists from pulling their music and to remain competitive with Apple Music, Amazon, and other streaming services.
What drives Cost of Sale?
Let’s dig into the unit economics driving cost of sale. In many businesses it’s a relatively linear relationship between one unit of revenue and one unit of cost.
Spotify: More Customers —> More Song Streams —> More Royalties
Twilio: More Customers —> More Text Messages —> More Carrier Fees
Gitlab: More Developers —> More Code —> More Data —> More Hosting Cost
Meta: More Users —> More Selfies —> More Data —> More Hosting cost
Zillow: More Home Buyers —> More Searches —> More Bandwidth—> More Cost
Where someone like a Twilio may get economies of scale is negotiating a fixed rate up to a certain limit. And where someone like a Gitlab may get economies of scale is negotiating a multi-year hosting agreement with AWS.
What should I be aware of?
Not all gross margin is created equal, even within the same business. Revenue and cost dynamics differ by sector, geography and customer segment. So you gotta get under the covers. Some of the salty secrets you may unearth:
You’re bleeding discounts to big corporations because they’re buying a shit load of stuff
Results in less revenue, due to less negotiating power, and lower GM
Small businesses are super needy in order to get them up and running, but they don’t pay you much to offset the implementation costs
Results in less revenue due to smaller customers, and more cost due to higher customer support efforts, and lower GM
Europe’s GDPR regulations force you to pay for hosting on a different continent
Results in more cost, due to hosting inefficiencies, and lower GM
Your partners are charging you an arm and a leg to license their database, which is a required input to your service
Results in more cost, due to limited leverage, and lower GM, and perhaps an all around terrible business model
You also want to make sure you aren’t putting costs up there (and I say “up there” because it’s literally “above” OPEX in a typical profit and loss statement) that don’t belong.
All things being equal, you’d rather costs show up in OPEX than CoS (cost of sale). This is because OPEX reflects an investment in future business while CoS reflects how expensive it is to keep your current customers.
The more you have to pay to keep your customers from churning, the less attractive your business model looks. But the only thing that’s even less attractive is to not have that customer at all.
So aim to please, just like, do it efficiently.