Sales But No Profit: The $0 Profit Trap Growing Businesses Fall Into

"$2M revenue, $0 profit"
This is the most-posted sentence in small business Reddit. I've seen variants with $600K, $1M, $2M, $6M. Same post, different numbers.
- "Sales but no profit."
- "2M revenue, no profit for me."
- "3yo business, 600k revenue, no profit."
- "Why do people flex in revenue instead of profit?"
- "My business is failing and I don't know how to save it."
The pattern is so consistent I've started writing it on whiteboards when I onboard new clients. Revenue growth is not profit growth. They are decoupled, and they decouple faster the bigger you get.
I've reviewed the P&Ls of 2,200+ service businesses and ecommerce operators over the last few years. The "sales but no profit" pattern has almost identical underlying math every single time. It's not bad luck, bad customers, or a bad industry. It's four specific leaks — and once you see them, they're fixable.
The $1.4M apparel brand that made $0
A concrete example. Anonymized but the numbers are exact.
DTC apparel brand, 4 years old, ramping fast. $1.4M in 2024 revenue, up from $680K the year before. Owner taking home about $65K in W-2 salary. Zero distributions. Zero retained earnings building up in the bank.
When the owner came to us, their question was: "Where is the money going?"
Here's what we found:
| Line Item | $ Amount | % of Revenue | Industry Median |
|---|---|---|---|
| Revenue | $1,400,000 | 100% | — |
| COGS (product + shipping) | $644,000 | 46% | 38% |
| Marketing (Meta + Google) | $462,000 | 33% | 22% |
| Payroll (owner + 2 FT + 1 PT) | $212,000 | 15% | 18% |
| Software + platforms | $38,000 | 2.7% | 3-4% |
| 3PL / warehouse | $51,000 | 3.6% | 3% |
| Returns + refunds | $84,000 | 6% | 4% |
| Payment processing | $42,000 | 3% | 2.9% |
| Other operating | $61,000 | 4.4% | 3.5% |
| Total Costs | $1,594,000 | 113.9% | — |
| Net Income | -$194,000 | -13.9% | +8 to +12% |
The owner's response: "That can't be right. I know I made money last year."
We checked. They hadn't. Book keeping was behind. The TurboTax-generated tax filing (which the CPA submitted without a real audit) showed a $30K profit because returns and 3PL fees weren't properly categorized — they were sitting in "miscellaneous" and not allocated to COGS. When we rebuilt the P&L properly, the business had lost nearly $200K on a $1.4M top line.
The owner had a job that paid $65K and lost money. They just didn't know it.
This is not unusual. This is the typical shape of a "sales but no profit" situation once the numbers get pulled apart.
The four leaks that produce "sales but no profit"
Leak 1: Marketing efficiency has collapsed and you didn't notice
When you're a small new brand, ad efficiency is great. Early adopters convert cheap. ROAS of 4-6x is normal. You scale spend to match.
Then, quietly, ROAS degrades. Costs-per-click rise (more competitors, smaller audience segments left). Conversion rates fall (less-qualified traffic). Customer lifetime value doesn't keep up. Your blended ROAS drifts from 5x to 3x to 2.3x — and because you're looking at revenue growth, you don't see the margin collapse underneath.
The rule: if marketing as % of revenue is growing while revenue grows, you are buying less profitable revenue. The typical trigger for "sales but no profit" is marketing crossing 28-30% of revenue for a DTC brand, 12-15% for a service business, or 8-10% for B2B.
The fix is brutal but simple: cut spend on any campaign or channel with a blended ROAS under 2.5x. Do it for one month and watch what happens to revenue and profit. Most brands we've worked with can cut 25-30% of ad spend and only lose 8-12% of revenue. Net: profit goes up, revenue goes down slightly. Every time.
Leak 2: COGS is wrong because returns, shipping, and 3PL aren't in COGS
The #1 bookkeeping error I see in ecommerce is cost-of-goods-sold reported as only "product cost." But true COGS includes: product + inbound freight + outbound shipping (customer-paid shipping is revenue, but the cost of shipping is COGS) + 3PL fulfillment fees per order + payment processing for shipping + returns + damaged inventory.
When you build COGS properly, gross margin almost always drops 5-10 points for a DTC brand. That drop isn't a business problem — it was always there. It was just hidden in "operating expenses," which made gross margin look healthy and operating margin look bad, when really both were bad.
This matters because pricing decisions, discounting decisions, and SKU-level profitability decisions all flow from accurate COGS. You cannot price correctly if your COGS is a fiction.
Leak 3: Owner comp is not in the P&L — or is not at market rate
A Reddit post I see weekly: "I pay myself $30K. Is that normal for a $1M business?"
If the owner is paying themselves $30K instead of the $100K an outside hire would cost, the business is subsidized by the owner's underpayment. That's not profit — that's owner wage arbitrage disguised as profit. When the owner tries to hire a replacement or sell the business, the "profit" evaporates.
When we normalize P&Ls for proper owner comp at market rate, ~40% of "profitable" small businesses become unprofitable. They're not bad businesses. They're just businesses where the owner is taking payment in low salary + uncertain future sale value rather than in cash now.
For the "sales but no profit" diagnosis, this is the reverse: you may think you have no profit because you're paying yourself what an outside hire would make. That's not a profit problem, that's a W-2 allocation problem. The test: what would it cost to hire someone to do your job? If that number is close to or higher than your current salary, your business is profitable, you just don't know it.
Leak 4: SKU or service-line cross-subsidization
The killer. Most multi-product or multi-service businesses have 1–2 profitable lines and 3–5 losing lines. The profitable lines are carrying everyone. But because the P&L is aggregated, no one knows which is which.
I did a SKU-level P&L for a 40-product home goods brand doing $2.4M in revenue. The result:
- 4 SKUs (10% of catalog) generated 62% of gross profit
- 11 SKUs (27%) generated the other 38%
- 25 SKUs (63%) lost money on every unit sold
They were clearing inventory on the losing SKUs, which felt like "moving product." What they were actually doing was paying Meta to acquire customers to sell them unprofitable items. Kill those 25 SKUs, and the brand's net margin goes from -2% to +11% with basically no work.
The same analysis for a service business: run profitability by service line. Which lines earn? Which don't? In 90% of cases we do this for, the owner is surprised by the answer. And the fix is almost always: kill the bottom three service lines, re-price the middle three, invest in the top two.
The 30-minute "sales but no profit" self-diagnosis
Here's how to do a rough version of what we'd do as a paid engagement, in 30 minutes this Sunday:
Step 1 (10 minutes): Rebuild COGS correctly. Take last month's P&L. Move any of these line items that are currently in "operating expenses" into COGS: shipping (outbound), 3PL fulfillment, returns/refunds, payment processing on COGS portion of sales, inbound freight on inventory. Recalculate gross margin. Note the new number.
Step 2 (5 minutes): Normalize owner comp. Look up on Glassdoor what someone in your role at a similar business would make as a W-2 hire. That's your "normalized owner comp." If you're paying yourself less, add the difference as an operating expense for analysis purposes. Recalculate net margin.
Step 3 (10 minutes): Calculate marketing as % of revenue for the last 6 months. If it's trended up by more than 3 percentage points, mark this leak. Then calculate your blended ROAS for the last 30 days: revenue ÷ total paid marketing spend. If it's under 2.5x, mark this leak harder.
Step 4 (5 minutes): Identify your bottom 3 SKUs or service lines. Don't need full SKU-level P&L. Just: which 3 lines have the lowest gross margin or the lowest repeat rate or the lowest customer satisfaction? Those are the suspects. A real SKU analysis is a 4-hour project that pays back 5,000x.
At the end of 30 minutes you'll have four data points. In almost every "sales but no profit" case, at least two of those four are actively bleeding the business.
What happens when you fix them
Back to the $1.4M apparel brand. Here's what we did over 90 days:
- Killed bottom 40% of SKUs. Revenue dropped 11% ($150K annualized). Gross margin improved 9 points.
- Cut Meta ad spend 30%. Revenue dropped another 8% ($110K annualized). ROAS improved from 2.1x to 3.4x. Marketing as % of revenue dropped from 33% to 22%.
- Renegotiated 3PL contract. Saved $18K/year.
- Moved to flat-rate shipping above a threshold. Cut shipping subsidy costs by $24K/year.
- Re-priced top 6 SKUs upward 8-12%. No volume impact detected. Added ~$45K/year to gross profit.
Year 2 P&L projection:
| Line | Year 1 | Year 2 Projected |
|---|---|---|
| Revenue | $1,400,000 | $1,225,000 (-12%) |
| COGS | $644,000 (46%) | $453,000 (37%) |
| Marketing | $462,000 (33%) | $270,000 (22%) |
| Other operating | $488,000 (35%) | $390,000 (32%) |
| Net income | -$194,000 | +$112,000 |
Revenue went down 12%. Net income swung $306K. The owner's W-2 salary stayed the same, but now the business also generates $110K+ in distributable cash.
This is what "sales but no profit" looks like when you actually solve it. You almost always have less revenue at the end than at the start. That feels like a loss until you realize it wasn't real revenue — it was unprofitable revenue the business was subsidizing with the owner's equity.
The mental shift that unlocks profit
There's a reason revenue-flexing is so common among small business owners and "I doubled my revenue" content dominates LinkedIn. Revenue is easy to measure, easy to post, easy to brag about. Profit is messy — it depends on how you categorize things, how you compensate the owner, how you amortize equipment, whether you're accrual or cash.
But every mature operator eventually makes the same mental shift: revenue is cost + net income. Every dollar of revenue comes with a cost structure and a net residual. The job of an owner isn't to maximize the left number. It's to maximize the right number.
The Reddit post I think about most from this research: "Don't post bragging about your revenue if you can't talk profits & numbers. This game isn't about revenue. It's about profitability. It's about sustainability. The poster is bragging about a ticking time bomb, a skyscraper built on no solid grounding."
That's it. That's the post.
FAQ
How can my business have $2M in revenue and $0 profit? The most common causes: marketing costs exceeding 25% of revenue, COGS under-reported because returns/shipping/3PL aren't properly allocated, owner paying themselves below market rate (hiding the real cost of their labor), or 30-60% of product/service lines being unprofitable and dragging down the profitable ones. Any two of those four can fully wipe out net margin on a $2M business.
Is it normal for small businesses to have no profit? Normal and healthy are different. It's common for businesses under $500K in revenue to have minimal profit while owners are investing in growth. But past $1M, if you're not clearing at least 8–10% net margin after proper owner comp, something is leaking. The service business median is 8.7% net margin; top quartile is 19%+.
Should I cut marketing spend or increase prices first? Almost always, cut marketing first. It's faster, it's free (you just spend less), and the data is instant. Price increases take longer to validate (30-60 days to see volume impact) and require more nerve. Cut your bottom-ROAS channel for 30 days and see what actually happens to revenue. Usually the revenue drop is smaller than you feared and the profit swing is enormous.
How do I know if my gross margin is healthy? Depends on the industry. Contractors: 28–38%. Ecommerce DTC: 40–55% (after true COGS including shipping, returns, 3PL). Agencies/consultants: 55–70%. Restaurants: 28–32% (on a prime-cost basis). If you're 5+ points below your industry median, that's a specific leak to find.
When should I fire unprofitable customers or SKUs? When you've verified (a) they're actually unprofitable after full cost allocation, (b) removing them won't destroy your fixed cost absorption, and (c) the customer/SKU isn't a loss-leader feeding profitable repeat business. Outside those exceptions: yes. Fire them. The reason a business has no profit is usually that it's subsidizing its worst customers with its best ones.
Want the real version of the 30-minute diagnosis above? Start with a free 48-hour financial audit. We'll rebuild your COGS correctly, identify the 2-3 leaks producing "sales but no profit," and send you a one-page report with the specific moves to swing net income — usually within 90 days.
About the author
Sam Young
Founder of Level. Former private equity investor and investment banker. Built AI-powered accounting products while building financial products for 1,000+ commercial contractors — benchmarking financial data across 2,200+ service businesses in contractors, healthcare, restaurants, cleaning, and staffing. Operations analytics work with PE-backed service business portfolios across multiple verticals. Co-founded a real estate tax optimization firm, where his team has analyzed over $1B in real estate assets. Stanford MBA.
LinkedIn