Author:
Capline
If profit is king, cost data is the throne it sits on
We know that brands put enormous effort into growing profit dollars - it's the primary way we work with them. Ad optimization. Price testing. Freight negotiations. Packaging redesigns to save a few cents a unit. The effort those same teams put into the cost data underneath all of it is usually close to zero.
Why, oh why is it so much easier to count the dollars coming in from each sale than the dollars going out? Every order confirmation tells you revenue to the penny. The cost side of that same sale is scattered: supplier invoices all in different systems, a freight bill, and a returns ledger. Lions and tigers and bears!
But obviously, every profit number you look at is downstream of your cost data. Contribution profit, margin by SKU, ad efficiency, even earnings: all of it starts from a data point about what each unit actually costs you. In our experience, that data point is wrong more often than it's right, and rarely in ways anyone notices, because nothing in the day-to-day operation of the business forces the question. Even at the best-run companies.
Meanwhile, a product you think earns a 30% margin actually earns 26%, or even 22%, and every price, ad bid, and reorder built on the 30% is wrong.
Marginal costs are what it actually costs you to sell one more unit, freight and fees included. That's a different number from the catalog average or last year's standard cost.
Get it wrong in either direction and it costs you, but in different ways. Estimate marginal cost too high and you price above where you should, and you sit out ad auctions you could have won profitably. The volume goes to a competitor whose numbers are better, and nothing in your reporting ever shows you the sales you didn't make. Estimating it too low also comes with problems, your pricing floors stop protecting you, and your ad system happily buys volume that loses money on every unit while you celebrate growth.
Most of your competitors are running on averages and estimates. Precise marginal costs are one of the few advantages in ecommerce that's invisible from the outside and hard to copy, because it’s internal plumbing.
No ownership. Ask who owns your revenue number and you'll get an answer in seconds. Ask who owns your cost table and you'll usually get a pause. Finance assumes ops maintains it, ops assumes it came from finance, and in practice it came from a file someone uploaded eighteen months ago.
Stale tables. Costs get loaded once, usually during onboarding or an annual planning cycle. Then suppliers reprice, freight rates move, packaging changes, and nobody touches the table. Six months later it describes a business that no longer exists.
Missing landed cost components. The unit cost on your supplier invoice is only part of the story. Inbound freight, duties, storage, and returns handling all belong in the number, and they rarely live in the same system. Most companies capture two or three of these and estimate the rest.
Adjustments that live in someone's head or spreadsheet. Rebates, volume discounts, co-op arrangements, that one negotiated deal from 2024. These get applied manually by the one person who knows the story. When the data moves to a new system, or that person moves to a new job, the adjustment goes with them.
Coverage gaps on the long tail. Costs exist for the hero SKUs everyone watches. The records go missing exactly where nobody is looking, on the back catalog and the slow movers, which is also where a bad default does the most damage because nobody catches it.
Bad cost data used to be invisible because the decisions built on it were coarse, and that could mask a lot of noise.
Winning brand aren’t operating like this anymore. Ad bids are highly dynamic and get set against margin targets, and inventory buys get sized against contribution profit and in some cases prices are managed dynamically and continuously. When you are making thousands of small decisions a day with your cost data as an input, an error that used to produce a slightly wrong slide in a finance deck now loses you a little money on every one of those decisions, every day.
When one of our larger clients with tens of thousands of products started working with us, their cost picture was where most brands' is: "I think I have the major cost components." Confident on the invoice cost, less sure about everything layered on top of it, and no single number anyone would defend as the true cost of the next unit. And no way to keep it all updated and QAd. So we built them a cost service, that assembles the full landed cost per unit, ingesting each component from the system it lives in, and reloads it on a schedule so all updates are caught. It also QAs itself, flagging SKUs with no cost, costs that changed a suspicious amount, and nonsensical margins.
Getting to precise, per-unit marginal costs changed what the optimization on top could do. With accurate costs in place, the ad system could bid confidently into auctions that previously looked unprofitable on paper, and pull back where the old numbers had been flattering.
The work wasn’t particularly sexy, but the same optimizations got better because the numbers feeding them got more accurate.
When we start working with a brand, cost data is one of the first things we ask for, and the process is the same one you can start on your own.
Start with a reconciliation. Take your current cost table and compare total implied COGS against what finance actually booked last quarter. If those two numbers are more than a couple points apart, you now know roughly how big your problem is, even before you know what's causing it.
Then check coverage. Count how many active SKUs have no cost record at all, and how much revenue they represent. A 5% SKU gap covering 1% of revenue is a cleanup task. A 5% gap covering 15% of revenue is a strategy problem.
Third, write down the components. List every cost element that should be in your landed number, then mark which ones are actually in the table, which live in a spreadsheet, and which live in someone's memory. The spreadsheet and memory columns are your risk register.
Finally, give it an owner and a cadence. Cost data doesn't need to be perfect, but it needs to be somebody's job, comprehensive, and kept fresh.
None of this is glamorous, but if profit is king, cost data is the throne it sits on. Before spending another dollar on optimization, it's worth checking whether the numbers underneath hold up.