Revenue is growing and the economics feel off. Gross margin looks acceptable on the board slide, but cash is tighter than the growth implies, and nobody can say which part of the business is carrying the rest.

That sentence sits behind most margin problems, and it is rarely one problem. Margin leaves a company in small amounts, through places the P&L does not isolate. A discount here, a credit there, a contract term nobody enforced. None of it is a line item, so none of it has an owner.

This is where I look first. Five places, each with a test you can run in about a week using data the company already has. The numbers below are illustrative, on a business with $20M of revenue, a 42% gross margin and an 8% EBITDA margin, which is $1.6M. It is not a client. Where an outside number appears, I name the source.

Why a small leak is a big number

McKinsey looked at the Global 1200, the largest public companies in the world, and found that a one point improvement in average price lifts operating profit by 8.7% for the typical company. That work was published in 2010 and the sample is large-cap, so treat it as direction, not a forecast for your business.

Now run it on a thinner margin. One point of price on $20M of revenue is $200K. With costs unchanged, all of it reaches EBITDA. Against $1.6M, that is 12.5%. The lower the margin, the more each point is worth, which is exactly why a small leak does not stay small.

01. The price you quote is not the price you keep

Every company has three prices. List price. Invoice price, after discounts. Pocket price, after rebates, credits, freight and early-pay terms. On a $100 list price, the invoice might read $94 and the pocket price $89. Eleven points sit between what the sales deck says and what the company keeps.

The gap stays invisible because each deduction lands somewhere different. Discounts are netted out of revenue. Rebates go to contra-revenue or marketing. Freight sits in cost of goods. Early-pay discounts show up in finance. No single report adds them up.

The test. Take your ten largest customers and build the list-to-pocket waterfall for each. Then compare the best and the worst. If two customers buy the same thing and one keeps nine points more, you have found your first conversation. If you cannot build the waterfall at all, that is the finding.

02. Cost to serve hides in overhead

Two customers each bring $1M of revenue at the same 42% gross margin, so $420K of gross profit apiece. On the blended view they look identical.

Customer A needs $80K a year of support, onboarding and account management. Customer B needs $240K, because of custom reporting, frequent changes and a long tail of small requests. After cost to serve, A earns a 34% contribution margin and B earns 18%. Same revenue. Same gross margin. Different businesses.

The test. For the top ten customers, count support tickets, implementation hours and custom work, and allocate cost on those drivers instead of on revenue. You do not need activity-based costing across the company. Ten accounts is enough to see the spread.

A limit, said plainly. Allocation involves judgment, and two reasonable people will land on different numbers. The point is not precision. It is that the spread is large enough to change a pricing decision, and the blended view cannot show it.

03. Contract terms that are never enforced

The World Commerce & Contracting white paper from August 2025 says the average business loses almost 9% of value a year through poor contract management. That figure measures deviation from expected results across all kinds of contracts, so it is wider than billing, and the paper does not state the research year behind it. I use it only to say the problem is large, not to size yours.

The version that shows up in a P&L is plain. Suppose $6M of your revenue sits under contracts with a 4% annual escalator, and nobody ever invoices it. That is $240K a year, or 15% of a $1.6M EBITDA. The same pattern appears with usage overages that go unbilled, minimum commitments that are never trued up, scope that gets delivered for free, and auto-renewals that roll at last year's rate.

The test. Pull your twenty largest contracts, write down every price term, and compare them with what was actually invoiced over the last twelve months. Expect the first pass to take a few days and to be uncomfortable.

04. Revenue you book and then give back

Credits and concessions at 1.0% of revenue, $200K. Write-offs and bad debt at 0.8%, $160K. Rework and re-delivery at 0.7%, $140K. Added together, 2.5% of revenue or $500K.

Nobody sees $500K, because it sits on three lines. Credits are netted against revenue. Bad debt lives in G&A. Rework is buried in delivery labor.

Each one is reviewed by a different person, and each looks small on its own.

The test. Build one schedule of everything credited, written off or re-delivered over twelve months, by customer and by reason. Patterns appear quickly. If you cut that total by 40%, the illustration above recovers $200K, one full point of margin.

05. Vendor costs that never reach the customer

Say you spend $6M a year with vendors, and prices rise 5%. That is $300K a year. If your customers are repriced only at renewal, and renewals land on average six months later, you absorb about $150K in the first year. In some cases the customer price never moves at all.

The test. List every vendor increase from the last twelve months with its effective date. Next to each one, write the date the matching customer price change took effect, or note that it never did. The gap between the two columns is the cost.

Another limit. Some contracts are fixed price by design, and the lag is the price of winning the deal. That can be a fair trade. The point is to make it on purpose, with the number in front of you, instead of discovering it at year end.

This is not a cost-cutting exercise

A margin leak is not the same as a cost problem. Cutting cost lowers capability, and the damage often shows up a year later. Stopping a leak recovers money the company already earned and did not keep. That is why I start here before I ask anyone to cut anything.

What closing half of it is worth

Illustrative only. $20M revenue, 42% gross margin, $1.6M EBITDA. Not a client.
LeakIllustrative recovery
01. One point of price$200K
03. Escalators invoiced$240K
04. Give-backs cut by 40%$200K
05. Pass-through lag closed$150K
Total if everything is recovered$790K
Half of that$395K

Leak 02 is a repricing and mix decision rather than a recovery, so I have not added it. Recovering half of the $790K is $395K, about 25% of the $1.6M EBITDA. At an illustrative 8x, that is roughly $3.2M of enterprise value. The multiple is an example, not a market claim.

No one recovers all of it. But a buyer's diligence team will go looking for these five places, and they will rebuild the margin the way they find it, not the way the board slide shows it.

The four-week sequence

Run it in this order. None of it needs a new system or new headcount. It needs one person with access to billing, support and contract files, and a CEO who wants the answer.

  • Week 1. The price waterfall for the top ten customers.
  • Week 2. Cost to serve for the same ten.
  • Week 3. Contracts against invoices, plus the give-back schedule.
  • Week 4. The vendor increase log against customer repricing. Then rank the five by dollars and pick two to fix first.

Why the order matters

I ran this kind of sequence at Medicx Health. We stabilized the cash first, rebuilt the economics line by line, and expanded gross margin by more than twenty points into the high-50s. The company became something worth buying for $95M when OptimizeRx (NASDAQ: OPRX) acquired it in 2023.

The order was the point. We found where margin was leaving before we tried to grow into more of it.

Growth on top of a leak just makes the leak bigger.