Back to blog
7 min read By Ryan Forrestal

Revenue Up Profit Down: What Growth Hides

Revenue was up 34%. Net income was down 11%. It’s a classic revenue up, profit down pattern, and it almost never means what owners assume it means.

The owner’s first instinct was that costs had gotten away from him. Somebody wasn’t watching closely enough, or someone had gotten sloppy while the whole team scrambled to keep up with the work.

He was wrong. It took about four hours in the ledger to prove it. Costs hadn’t gotten away from anybody; they’d scaled almost exactly with revenue, within a point or two of where they’d been the year before, line by line. On a percentage basis, the business was running the same way it always had.

That was the problem.

Growth is not one thing

A growing company doesn’t grow evenly. It grows toward whatever’s easiest to sell, and what’s easiest to sell is usually whatever you’re cheapest at.

That’s just arithmetic, not a failure of discipline. When you’re the low bid, you win more of that work. Win more of it for eighteen months and the mix of your business quietly shifts toward your worst-priced jobs, while every number you look at still says the company is growing.

In this case, almost all the growth came from one customer segment running several points below the company’s average margin. Nobody decided to load the book with cheap work. They just took every job that came in, because every job looked like growth. It was growth. It just paid worse than the work they already had.

Why the P&L can’t tell you this

The P&L is doing its job. It’s a total, and an accurate one: revenue up, costs up, net down. Every number is right.

But a total can’t show you a spread, and in a growing company the spread is the whole story. Average margin can hold steady while the mix underneath it falls apart, because averages move slowly and mix moves fast.

Financial statements exist to report performance to outside parties: lenders, owners, the IRS. Owners aggregate revenue and cost on purpose, following GAAP, which has nothing to say about whether your Tuesday crew makes money, because that was never what it’s for. It’s a reporting framework, not a management one.

So when an owner says his books are clean and he still can’t answer the question, he’s usually right on both counts. The books are clean. Nobody designed them to answer it.

The three places it actually goes

When revenue climbs and profit doesn’t follow, it’s almost always one of three things, and often more than one at once, which is part of why it’s so hard to catch.

The growth might have come from your lower-margin work. You priced every job fine on its own; the blend just moved. This is the most common version and the hardest to see, because there’s no single bad decision anywhere in the chain to point at.

Or the new volume simply costs more to deliver than the old volume did, in ways that never show up as a direct cost: rework, expedited shipping, a customer who keeps changing dates and blowing up the schedule. That kind of cost lands in overhead, spreads evenly across everything, and disappears.

Or you crossed a capacity threshold. A second shift, a fourth truck, a new supervisor. Costs like that don’t scale smoothly, you buy them in a lump and grow into them over time. Add the cost in March and the volume that justifies it doesn’t show up until October, and the year in between looks like a margin problem. It isn’t. It’s timing, but only if you know that’s what you’re looking at.

The fix for each of these is different. A mix problem is a pricing and sales-targeting problem. A cost-to-serve problem is an operations problem. A step-cost is a patience problem. Diagnose the wrong one and you’ll spend a quarter fixing something that never needed fixing, while the actual problem keeps compounding.

How to check it yourself

You don’t need a CFO for a first look. You need to cut the data one way you probably haven’t.

  • Pull two years of revenue and direct cost at the transaction level, not the summary.
  • Tag each line with whatever you actually manage by: job type, crew, customer, lane.
  • Calculate margin by that category for each year.
  • Compare the mix. What share of revenue came from each bucket last year versus this year?

If margin by bucket held steady and the mix shifted, that’s mix drift, and now you know which bucket grew. If margin within a bucket got worse, you’ve got a cost or pricing problem specific to that segment.

Either way, a day of work turns “something’s wrong” into a specific question you can actually act on. That’s the real difference between financial reporting and financial management.

The Cost of a Revenue Up, Profit Down Year You Don’t Look Into

Here’s what makes this urgent even when nothing looks wrong.

Mix drift compounds. Whatever segment grew fastest last year will keep growing fastest, because nothing has changed about why it’s easy to sell. Two years of that and it isn’t a margin question anymore. It’s just what your business has become.

The owner in this example caught it at 34% growth and an 11% profit decline. Annoying, fixable, about a quarter of work to sort out. More often we catch it in year four, when the company has tripled in size and the owner is working harder than he ever has for less money than he made at half this size, and he genuinely can’t explain why.

Nothing broke. That’s exactly why nobody looked.

Frequently Asked Questions

Why would revenue go up while profit goes down?

Usually because the mix of what you’re selling has shifted toward lower-margin work, your cost to serve has crept up, or you’ve taken on a step-cost like a new shift or supervisor ahead of the volume that justifies it. Total revenue and total cost can each look fine while what’s underneath them has changed.

Is a growing top line with a shrinking bottom line always a cost problem?

Not necessarily. “Costs got away from us” is the instinctive explanation, but just as often it’s a pricing and mix issue: costs scaled in line with revenue, while revenue itself moved toward your cheapest work.

How do I know if it’s mix drift versus a cost-to-serve problem?

Break revenue and direct cost out by whatever you actually manage by, customer, job type, crew, or lane, over the last two years. Steady margin with a shifted mix points to mix drift. Margin that declined within a single bucket points to a cost or pricing issue inside that segment specifically.

Can this be diagnosed from a standard P&L?

No. A P&L is a total by design, and a total can’t show you a spread. Seeing this requires transaction-level data cut by the dimension you manage by, which is a managerial exercise your financial statements can’t perform.

Not sure which one you have?

The Growth Readiness Review is a fixed-fee, three-week diagnostic that answers exactly this: whether your revenue up, profit down year comes from mix drift, cost to serve, or a step-cost. We rebuild your unit economics at the level your business actually runs, give you a read on whether your books can support the decision, and rank the moves that matter most, each with a dollar value attached.

Start a Growth Readiness Review → /growth-readiness-review/

Leave a Reply

Your email address will not be published. Required fields are marked *