I have reviewed over 20 e-commerce P&Ls in the last two years. The same seven cost problems show up in almost every single one. Here is what they are, what “normal” looks like versus “bloated,” and one step you can take on each today.
When I sit down with a new client’s finance team and pull apart their cost structure, I expect surprises. There are always a few. But the broad shape of the problem is remarkably consistent across retailers doing £10M to £200M in revenue. The same seven areas are bloated. The same fixes work. The difference between a 6% EBITDA margin and an 11% EBITDA margin is almost always hiding in these seven line items.
This is not a theoretical framework. It is a checklist I have used on real engagements. If you run an e-commerce business and want to reduce your operating costs, start here.
This is the single biggest area of overspend I see, and it is also the easiest to fix. Most e-commerce businesses are running on AWS because someone set it up five years ago and nobody has questioned it since. They are paying £25K–£50K per month for workloads that could run on Hetzner or OVH for £5K–£15K.
What bloated looks like: Cloud spend exceeding 3–5% of revenue. Staging environments running on production-sized instances. No reserved instances or savings plans. Multiple availability zones for workloads that do not need them.
What normal looks like: Cloud spend at 1–2% of revenue. Non-critical workloads on cost-effective bare-metal providers. AWS reserved only for services that genuinely need AWS-specific features (Aurora failover, Lambda triggers, managed Kafka).
One step to start: Export your last three months of AWS billing data and tag every line item as “needs AWS” or “commodity compute.” The commodity column is your migration target. We typically see 40–60% of workloads fall into the commodity bucket. I wrote about how we executed one of these migrations here.
The average mid-market retailer I audit has somewhere between 20 and 40 active SaaS subscriptions. Email marketing, CRM, helpdesk, analytics, A/B testing, loyalty, reviews, returns management, inventory planning, order management — the list keeps going. Many overlap. Many are underused. Some have not been logged into in months.
What bloated looks like: SaaS spend exceeding £15K–£25K per month with no clear ownership map. Multiple tools doing similar things (e.g., two analytics platforms, a CDP and a CRM that both store customer profiles). Annual contracts auto-renewing without review.
What normal looks like: SaaS spend under £8K–£12K per month for a £50M retailer. Every subscription has a named owner who can justify the renewal. Overlap eliminated. And increasingly, some of these tools can be replaced entirely by AI agents that cost a fraction of the licence fee.
One step to start: Pull a full list of recurring charges from your finance system. For each one, ask: who owns this, when does it renew, and what would happen if we cancelled it tomorrow? I wrote about the SaaS-to-AI replacement pattern here.
Curious what your margin opportunity looks like?
Free Tool
How much margin are you leaving on the table?
Answer 6 questions. Get a personalised margin estimate in under 2 minutes.
Take the Free Margin AuditFulfilment costs are the one area where everyone knows they are overspending, but few people know by how much. The problem is that fulfilment is operationally complex — pick-and-pack costs, carrier selection, returns processing, packaging — and small inefficiencies compound across millions of orders.
What bloated looks like: Fulfilment cost per order above £4.50–£5.50 for standard items. Returns processing taking 5+ days. Single-carrier contracts with no rate benchmarking. Manual carrier selection rather than algorithmic routing by weight, destination, and SLA.
What normal looks like: Fulfilment cost per order at £2.80–£3.80. Returns processed within 48 hours and restocked within 72. Multi-carrier strategy with automated selection. Packaging optimized to reduce dimensional weight charges.
One step to start: Calculate your true cost-per-order including labour, packaging, carrier, and returns processing. Most businesses only track the carrier cost and miss the rest. We covered the full fulfilment optimization playbook here.
This is not about spending too much on marketing. It is about spending it badly. The two most common problems I see: discounting customers who would have bought at full price, and running broad campaigns that burn budget on low-intent audiences.
What bloated looks like: Discount rate above 15–20% of gross revenue. Blanket site-wide promotions with no suppression logic. CPA rising quarter-on-quarter with no corresponding increase in LTV. Marketing team unable to attribute revenue to specific campaigns with any confidence.
What normal looks like: Discount rate at 8–12% of gross revenue, with suppression models identifying customers likely to convert without a discount. CAC stable or declining. Clear attribution model, even if imperfect. Campaigns targeted by predicted behaviour, not just demographics.
One step to start: Run a simple analysis: of the customers who used a discount code last month, how many had items in their basket before the code was issued? That number tells you how much margin you are giving away to people who did not need the nudge. I wrote about discount suppression here and about how we consolidated a client’s marketing stack from 190 tools here.
Most e-commerce retailers set prices manually, review them quarterly, and react to competitors only when someone on the team happens to notice. This is leaving money on the table every single day. Price elasticity varies by product, by customer segment, by time of day, and by competitive context. Static pricing ignores all of this.
What bloated looks like: “Bloated” is the wrong word here — it is more like “deflated.” Margin erosion from underpricing elastic products. Overpricing inelastic ones and losing volume. No systematic testing of price points. Competitor price matching without understanding your own cost structure.
What normal looks like: Dynamic pricing engine running at least daily. Elasticity models per product category. Price testing built into the product cycle. Competitor monitoring as an input, not a rule. Gross margin stable or improving even as mix shifts.
One step to start: Pick your top 20 SKUs by revenue. For each one, check: when was the price last changed, and what was the rationale? If the answer is “it has not changed in six months” or “we matched a competitor,” you have a pricing problem. I wrote about how a pricing engine drove a 77% revenue uplift on targeted SKUs here.
I want to be careful here because this is not an argument for cutting people. It is an argument for redeploying them. In every e-commerce operation I have audited, I find skilled, well-paid people spending 30–50% of their time on tasks that an AI agent can do better, faster, and for a few pounds a month. Customer service triage. Product description writing. Inventory reporting. Campaign QA. These are not jobs — they are tasks within jobs, and they are consuming your best people’s time.
What bloated looks like: Headcount costs above 18–22% of revenue for a digitally native retailer. Senior hires spending most of their time on operational tasks rather than strategic work. Hiring to solve capacity problems that are actually process problems.
What normal looks like: Headcount costs at 12–16% of revenue. AI handling first-line customer queries, routine reporting, content generation, and data cleaning. People focused on decisions, relationships, and creative work that AI cannot do.
One step to start: Ask every team lead to log one week of their team’s time, broken into “decisions” and “process.” The process column is your automation target. I wrote about how to think about AI agents before headcount decisions here.
This one is invisible on most P&Ls, which is exactly why it persists. Unoptimized database queries burning compute. Legacy systems that nobody wants to touch consuming server resources. Slow page loads killing conversion rate, which marketing then tries to compensate for with more spend. Technical debt is a margin problem disguised as an engineering problem.
What bloated looks like: Page load times above 3 seconds on mobile. Database queries that have not been reviewed since they were written. Servers running at 80%+ CPU because of inefficient code, not because of actual load. A “replatforming” conversation that has been going on for two years without resolution.
What normal looks like: Page load under 1.5 seconds. Database queries reviewed quarterly, with slow-query logs monitored continuously. Compute resources matched to actual demand. Technical debt addressed incrementally rather than deferred indefinitely.
One step to start: Pull your database slow-query log for the last 30 days. Sort by total execution time (frequency multiplied by duration). The top 10 queries are almost certainly responsible for a disproportionate share of your compute costs. We saw a single query optimization deliver a 59,000x speedup on one engagement — I wrote about it here.
Each of these seven areas, fixed in isolation, typically saves 1–3% of revenue. That is meaningful but not transformative. The real shift happens when you address them together.
A 2% saving on cloud. A 1.5% saving on SaaS. A 1% improvement in fulfilment cost-per-order. A 2% margin recovery from smarter discounting. A 1% uplift from dynamic pricing. A 1.5% saving from headcount reallocation. A 0.5% efficiency gain from addressing technical debt. Added together, that is 9.5 percentage points of revenue flowing through to EBITDA. In practice, I see 3–5 points of real EBITDA improvement because not every fix delivers its theoretical maximum simultaneously. But 3–5 points on a £50M retailer is £1.5M–£2.5M per year. That changes the business.
The reason most retailers have not captured these savings is not that the fixes are hard. Most of them are straightforward. It is that nobody is looking at all seven areas at once. The CTO looks at cloud costs. The CMO looks at marketing efficiency. The COO looks at fulfilment. Nobody looks at the full picture and asks: where is the margin actually going?
That is what we audit in the first two weeks of a MarginOps engagement. We sit down with the leadership team, pull apart the P&L line by line, benchmark every cost category against what we have seen across 20+ similar retailers, and build a prioritized roadmap. Not a slide deck — a costed plan with expected savings, implementation timelines, and clear ownership.
If your e-commerce operating costs feel high but you are not sure where to start, the answer is almost certainly hiding in these seven areas.
We audit all seven cost areas in the first two weeks. No slide decks — a costed roadmap with expected savings, timelines, and ownership. Built with your leadership team, not handed to them.
We go into businesses and make them permanently more profitable. Every initiative is EBITDA-tracked.