COGS vs. OpEx: Why Getting This Wrong Destroys Your Gross Margin Story
Cost of Goods Sold (COGS) is what it costs to deliver your product or service to one additional customer. Operating Expenses (OpEx) is what it costs to run the company regardless of how many customers you have. Confusing them, or misclassifying costs between the two, inflates or deflates your gross margin, which is one of the first numbers every investor checks. Gross margin tells investors whether your business model can scale profitably. If it is wrong because costs are in the wrong bucket, every downstream number is unreliable. This article explains exactly how to classify costs correctly for SaaS, marketplace, and services businesses.
Author: Yanni Papoutsi - Fractional VP of Finance and Strategy for early-stage startups - Author, Raise Ready Published: 2025-03-19 - Last updated: 2025-03-19
Reading time: \~9 min
What Is COGS?
Cost of Goods Sold represents the direct costs of delivering your product or service. If you did not have the customer, you would not have the cost. The technical definition is: costs that vary directly with revenue.
For a physical product company, this is intuitive: raw materials, manufacturing, shipping. For software and marketplace businesses, it is less obvious, which is where the mistakes happen.
COGS for a SaaS Business
In SaaS, COGS typically includes: hosting and infrastructure costs (AWS, GCP, Azure) that scale with user count, third-party software costs baked into the product (payment processing, data APIs, messaging services), customer support and onboarding staff (salaries of people directly serving customers), and DevOps or site reliability engineering costs. It does not include: engineering salaries for product development (that is R&D, an operating expense), sales and marketing costs (operating expense), office rent (operating expense), or executive salaries (operating expense).
COGS for a Marketplace
At the platform, COGS included the direct costs of fulfilling a shift: worker payments, employer liability insurance, payment processing fees, and the cost of the operations team that handled shift matching and dispute resolution. These costs existed only because shifts were being filled. No shifts, no COGS.
The sales team that acquired employers? That was OpEx. The engineering team that built the platform? OpEx. The office? OpEx. The distinction is clear once you apply the test: would this cost exist if we had zero transactions this month?
COGS for a Services Business
For consulting, professional services, or agency models, COGS is the cost of the people delivering the service and any direct costs associated with delivery (travel, subcontractors, specialized tools used exclusively for client work). The salaries of consultants billing hours are COGS. The salary of the office manager is OpEx.
AWS hosting (scales with users) | COGS
Stripe payment processing fees | COGS
Customer support team salaries | COGS
Engineering team salaries (product OpEx (R&D)
dev)
Sales team salaries | OpEx (Sales & Marketing) Google Ads spend | OpEx (Sales & Marketing) Office rent | OpEx (G&A)
CEO salary | OpEx (G&A)
Legal and accounting fees | OpEx (G&A)
Worker payments in a marketplace | COGS
Consultant salaries (billing hours) COGS
Recruiter fees for hiring | OpEx (G&A)
Why Gross Margin Is the Number Investors Check First
Gross margin = (Revenue minus COGS) / Revenue. It tells investors how much money is left over from each dollar of revenue after paying for the direct costs of delivery. Everything else (salaries, marketing, office, growth) gets funded from what is left.
A SaaS company with 75% gross margin has $0.75 of every revenue dollar available to fund growth. A marketplace with 25% net revenue margin has $0.25. A services company with 40% gross margin has $0.40. These numbers dictate the entire growth equation: how fast you can scale, how much you can spend on acquisition, and how quickly you reach profitability.
SaaS (software delivery) | 70-85%
Marketplace (net revenue basis) | 60-75%
Marketplace (GMV basis) | 15-30%
E-commerce (own inventory) | 30-50%
Professional services | 35-55%
Hardware + software | 40-60%
How to Model COGS Correctly
Step 1: List every cost in your business
Write down every expense, from AWS bills to the CEO's salary. Do not categorize yet. Just list.
Step 2: Apply the incremental customer test
For each cost, ask: "If we added 100 more customers tomorrow, would this cost increase?" If yes, it is COGS (or at least partially). If no, it is OpEx. AWS hosting scales with users? COGS. Office rent stays the same regardless? OpEx. Customer support team needs more people as customer count grows? COGS.
Step 3: Handle the gray areas
Some costs do not fit neatly. DevOps engineers maintain the infrastructure (COGS-related) but also build tooling (R&D, which is OpEx). The standard approach: if more than 50% of their time is on infrastructure maintenance, classify the role as COGS. Otherwise, OpEx. Be consistent and document your allocation logic in the assumptions tab. Similarly, customer success roles that are partly onboarding (COGS) and partly upselling (Sales, OpEx) can be split. A 70/30 COGS/OpEx allocation is defensible if documented. A 100% COGS allocation for a role that spends half its time on expansion revenue is not. Step 4: Benchmark your gross margin
Once you have classified everything, calculate your gross margin and compare it to comparable companies at your stage and business model. If your SaaS gross margin is 55% and the benchmark is 75%, something is likely misclassified, or you have a genuine delivery cost problem that needs to be addressed in the investor narrative.
How COGS Changes as You Scale
One of the most valuable things a model can show is how gross margin improves with scale. Most software businesses have economies of scale in COGS: the cost of hosting 1,000 users is not 10x the cost of hosting 100 users. Payment processing fees might decrease as volume increases (negotiated rates). Customer support can become more efficient with better tooling and knowledge bases.
Model this trajectory explicitly. Show gross margin at current scale, at 2x revenue, and at 5x revenue. If gross margin improves from 68% to 78% over that range, it tells a compelling story about the leverage in your business model. If it stays flat or declines, you need to understand and explain why.
At the platform, gross margin improved meaningfully as we scaled because the per-shift operational cost decreased with volume (better matching algorithms, lower support ticket rates per shift, negotiated insurance rates). Modeling that improvement was critical to the Series A narrative because it showed the business would become significantly more profitable at scale.
The Investor Conversation About Margins
When Creandum and B2Ventures looked at our model, the gross margin discussion went like this:
Investor: "Walk me through your COGS."
Us: "Per filled shift, we have worker payment, employer insurance, payment processing, and a per-shift allocation of the operations team. Here is the breakdown."
Investor: "What happens to gross margin at 3x volume?"
Us: "Insurance rate negotiation at higher volume gives us 2 points. Operations efficiency gives us 3 points. Payment processing scale discount gives us 1 point. We model gross margin improving from 22% to 28% net."
Investor: "That is clear. Show me the sensitivity if insurance costs rise 15%."
That conversation only works if your COGS classification is clean and your model has the structure to show margin evolution. If COGS is a single number with no breakdown, none of those questions can be answered, and the investor loses confidence in the model.
Frequently Asked Questions
Is engineering always OpEx?
Product development engineering is almost always OpEx (classified as R&D). However, engineers who maintain production infrastructure, run DevOps, or manage customer-facing systems can be partially COGS. The standard in software is to classify platform reliability and infrastructure engineering as COGS, and product feature development as R&D OpEx.
What about software tool costs?
If the tool is used exclusively for product delivery (e.g., a third-party API that powers a feature customers use), it is COGS. If it is used for internal operations (e.g., Slack, Jira, Notion), it is OpEx. Tools used for both? Allocate by usage percentage.
Does the classification affect my taxes?
Yes, and this is where you should consult your accountant. The treatment of COGS vs. OpEx can affect gross profit reporting and certain tax calculations. For financial modeling purposes, follow the economic logic. For tax filing purposes, follow your accountant's guidance. They may differ slightly, and that is normal.
**Should I model COGS as a percentage of revenue or as absolute numbers?**
Both. Model the individual cost items as absolute numbers (hosting cost, payment processing fees, support salaries). Then calculate the resulting gross margin percentage as a check. If you model COGS as only a percentage of revenue, you lose the ability to see which specific costs are driving margin changes, and you cannot show how economies of scale improve the margin over time.
Summary
COGS is the cost of delivering your product. OpEx is the cost of running your company. Getting the classification right determines your gross margin, which is one of the most scrutinized numbers in any investor evaluation. Use the incremental customer test: if the cost scales with customers, it is COGS. Model each COGS component individually so you can show margin evolution at scale. Benchmark against comparable companies to ensure your classification matches industry standards. Document your allocation logic in the assumptions tab. A misclassified model does not just produce wrong numbers. It produces wrong conversations, and those are much harder to fix.
Get the complete guide with all 16 chapters, exercises, and model templates.
Get Raise Ready - $9.99