Practical Finance for Software Engineering | Part 1: Understanding Variable Costs and Fixed Costs


Congratulations! If you are reading this guide, you probably work for a company that has found product-market fit and is starting to worry about Cost (Of Goods Sold). You have successfully navigated the turbulent waters of the tech industry, narrowly dodging the likes of WeWork and Quixey. You made it. Give yourself a pat on the back.

  • SaaS companies, but generally applicable to any tech company
  • companies that are pre-IPO or just after IPO
  • We spend $100K a month on storage. Is that expensive?
  • How do I explain cloud costs to executives on a different side of the business?
  • How do I work with Finance? They always want a forecast.
  • How can I provide predictability? I don’t have the answers!
  • My team wants to add a cache that will cost $XXm/year. Is that worth it?
  • Our company is about to IPO before we are profitable. Should I be concerned?
  • When can we turn a profit?

Part 1: Understanding Variable Costs and Fixed Costs

We don’t make any profits, so we make up for it in volume.

While that is a funny joke to make, it is time we get beyond trivial humor.

  • Variable costs increase proportionately to the number of product units you sell. The more units you produce, the more you have to spend on parts, compute, and customer support. If you are using Autoscaling Groups on AWS, the costs of running those ECS tasks or EC2 instances are variable costs.
  • Fixed costs stay constant no matter how many product units you sell. Examples include the cost of designing the product, the desk you use at work, and the lease on office space for engineering.
  • n be the number of product units sold,
  • p be the unit price,
  • revenue be defined as r(n)=n×p,
  • variable costs that went into producing those n units be denoted by v(n), and
  • fixed costs be denoted by f.
Fig. 1: f, v(n), and r(n).
Fig. 2: Same as above, but with somewhat naïve economies of scale taken into account. In some cases, The Law of Diminishing Marginal Returns can become relevant e.g. when you hit infrastructural bottlenecks and need to start investing in something like multi-region sharding.
  • r(n) is also known as Revenue
  • v(n) is also known as Cost of Goods Sold, or COGS
  • r(n)−v(n) is also known as Gross Profit. Correspondingly, [r(n)−v(n)]/r(n) is your Gross Margin; higher is better, and 75% is the benchmark for a good SaaS company.
  • r(n)−v(n)−f is also known as Operating Profit. Correspondingly, [r(n)−v(n)−f]/r(n) is your Operating Margin; higher is better. More on this later.

Bonus: Thinking on the Margins

When thinking about growth and scale, it can often be helpful to think in terms of additional revenue and additional cost for each unit sold. We can use the following terms:

  • Marginal Revenue (MR): additional revenue from each additional unit sold. Normally, this would be p, but since p is not always fixed (e.g. bundled deals, volume discounts), marginal revenue is more precise.
  • Marginal Cost (MC): additional cost of producing that additional unit sold. This is a more precise way of talking about v(n), and takes into consideration both economies of scale and diminishing returns.
Fig. 3: Marginal Cost, Marginal Revenue, and Price.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store