Software COGS
Direct payroll and support cost to deliver and run your software product, split between recurring (ongoing service) and non-recurring (one-time) work.
◆ Currency
Formula
Built from
What it measures
The people-related cost to keep your software delivered and running. It sums two buckets: recurring software COGS (customer-support and engineering/technology payroll allocated to serving the active subscription base) and non-recurring software COGS (the same payroll categories allocated to one-time implementation, migration, or customization work).
Why it matters
Payroll is usually your largest cost, and your subscription gross margin lives or dies on allocating that labor correctly. Recurring COGS tells you what it costs to serve the customer base month to month; non-recurring COGS reveals the margin on one-time work. Finance and investors read this to judge unit economics and forecast profitability. As you scale, you want recurring COGS to grow slower than recurring revenue — that gap is operating leverage.
How to read it
Read it against revenue, never alone. Lower Software COGS relative to software revenue means higher gross margin. Watch the trend: recurring COGS shrinking as a percentage of recurring revenue means you're scaling efficiently (hiring slower than you grow); rising means you're over-investing in the team or revenue is softening. Then compare the two components — a tiny non-recurring bucket signals a pure SaaS model; a large one signals a services wrap, which carries different margin and a real risk of distracting the team from the product.
What good looks like
Good
Recurring Software COGS shrinks as a share of recurring software revenue quarter over quarter — revenue is outgrowing the team you need to serve it, so subscription gross margin expands.
Watch
COGS holding flat as a percentage of recurring revenue, or non-recurring work creeping up. Your team isn't gaining leverage; check pricing, account size, and hiring plans.
Bad
Recurring Software COGS growing faster than recurring revenue, or exceeding it outright (negative subscription gross margin) — the model doesn't scale at current spend.
Watch-outs
- Allocating all engineering payroll to COGS. Only the payroll that runs and supports the live product belongs here; new-feature development and R&D belong in OpEx. The boundary is fuzzy — set an allocation policy and stick to it, or your gross margin is fiction.
- Folding non-recurring into recurring. A one-month implementation surge inflates non-recurring COGS; average it into recurring and you'll overstate the true ongoing cost of serving the subscription base and misread your trend.
- Confusing headcount with COGS. This metric counts dollars of expense, not people. Read it per dollar of revenue and per customer, not as a body count, or you'll draw the wrong efficiency conclusions.
- Counting cash salary only. Loaded payroll — salary plus benefits, taxes, and allocated overhead — is materially higher than base cash comp. Use the loaded figure or you'll under-report true COGS and overstate margin.
Worked example
Hypothetical
Your Customer Support team costs $180K/month fully loaded and your Engineering/Technology team costs $420K/month. Both are allocated 80% to ongoing product delivery and 20% to custom implementations. Recurring Software COGS = ($180K + $420K) × 0.80 = $480K. Non-Recurring Software COGS = ($180K + $420K) × 0.20 = $120K. Total Software COGS = $600K. Against $1.2M of recurring revenue, subscription gross margin is ($1.2M − $480K) / $1.2M = 60%.