RSSAmplifier

mvrckhckr · Jul 16, 2026

You're Not Underpricing. You're Subsidizing.

0
Sign in to vote or save

mvrckhckr · mvrckhckr.com

The classic signs you're undercharging clients all point to one cause: operational work you carry every month that your invoice prices at zero.

The proposal was still warm when the yes came back. No questions, no negotiation, just "when can we start?"

A few Saturdays later, an integration broke and you fixed it before the client woke up. Nobody billed anyone for that.

If you run an agency, a micro-SaaS, or a productized service, you know both moments. You've probably also googled the signs you're undercharging clients: quotes accepted instantly, fully booked but broke, scope creep that never stops creeping.

You found the listicles. You matched every symptom.

(This page includes a free embedded calculator that replaces symptom-matching with a number: the gap between the responsibility you carry and the responsibility you bill.)

Then came the advice. Know your worth. Track your hours. Raise your rates.

The signs you're undercharging are real. The diagnosis isn't.

The standard story says undercharging is a confidence problem. You didn't believe in your value, so you quoted low, and the cure is a mindset shift plus a bigger number. None of it is wrong, exactly.

Except confident sellers land in the same place. So do sellers who track every hour. Whatever is happening here survives confidence and spreadsheets both.

Here is the mechanism behind all the familiar signs.

The instant yes, the full calendar with no profit, the scope that keeps growing: they are symptoms of one cause, operational responsibility your buyer cannot see. A buyer can only pay for what appears on the invoice, and the invoice is the only ledger they ever read. Work that never shows up there gets priced at zero, no matter how high your rates are.

That changes the name of the problem. Underpricing means the number next to a line item is too low. What you have is a missing line item.

And a real service delivered at a price of zero has an economic name: a subsidy.

Buyers can't pay for work they can't see

Your client is probably not cheap, and probably not exploiting you. They pay every invoice on time. They would be genuinely surprised to learn what their fee doesn't cover.

The problem is structural. The monitoring you run, the 2 a.m. recovery, the upstream API change you absorbed before it became visible: none of it exists on the buyer's side of the relationship. From where they sit, the system just works.

This has research behind it. Ryan Buell and Michael Norton at Harvard named the labor illusion: customers value a service more when they can see the work happening, to the point of preferring a slower website that displays its effort over an instant one that hides it.¹

Run the finding in reverse and it turns grim. Work the customer never sees, they value at nothing.

And yet unseen work gets paid all the time. For twenty years I owned a courier service, and no client ever watched us fix a truck, cover a sick driver's route, or reroute an afternoon around a closed road. The floor still got paid, every month, in full.

Nobody ever asked why delivery cost money. The price was built to carry the machinery, and the promise named what it covered: door to door, insured, on time.

The buyer never has to watch the work. The work needs a name somewhere the buyer reads, and a price with room for it.

Most of the business world provisions this way by default. Software (especially for indie hackers) rarely does. Its price anchors come from products, and a product's price has no floor to carry.

Watch how the subsidy forms. Post-launch support starts as a favor, the favor becomes an expectation, and the expectation never becomes a line item. Three steps, and you're running a managed service your own invoice denies exists. The AI wave runs the same script faster: you sell an automation as a one-off build, and the babysitting it needs every week after that becomes free support before anyone thinks to price it.

The operational floor

Count last month honestly. The hours watching dashboards nobody asked you to watch. The recovery night. The maintenance nobody scheduled, dependencies bumped and certificates renewed before anything complained. The "quick question" that took forty minutes because the answer lived in three systems.

Those hours arrive every month whether or not anyone bills them. I think of them as the operational floor: the minimum monthly cost of keeping your customers' work moving.

And the floor is real money. Freelance ops engineers run $40 to $150 an hour on Upwork, so even ten quiet hours a month at a middling $75 is $750 of market-priced labor you're donating.² Across a year, that's $9,000 and three full-time weeks, a gift nobody knows they received.

One exercise makes the floor concrete. Write last month's invoice for the hidden work, itemized at market rates, addressed to the client. It looks something like this:

INVOICE #0000
Issued monthly. Never sent.

Item

Qty

Amount

Saturday integration fix, resolved before you woke up

1

$300

Dashboard monitoring nobody requested

6 hrs

$450

"Quick question" answered across three systems

40 min

$50

Upstream API version change, absorbed silently

1

$225

Total delivered

$1,025

Total billed

$0.00

Difference paid by

your margin

Then don't send it, because you never do. That unsent page is the subsidy.

If the invoice doesn't collect it, your margin pays it. That is the explanation the sign lists never give for "fully booked but broke."

Booked measures the visible work. Broke measures the floor draining underneath it. (And burnout, the endgame every listicle warns about, is just the floor finally sending its bill.)

Resentment, the other regular on the sign lists, lives here too. Resentment is what a subsidy feels like from the giver's side. You were never really angry at the client but at a line item that doesn't exist.

Your competitor's pricing page is the wrong benchmark

When founders suspect they're undercharging, the reflex is to open competitor pricing pages. Founder forums sharpen the anxiety with confident percentages; claims that most SaaS founders underprice by 20 to 40 percent circulate on r/SaaS without anyone explaining how the number was measured.³

The number is unknowable from a pricing page, because the pricing page measures the wrong alternative. A competitor's price covers access to a tool. Your price covers a tool plus a person on call.

Your customer's real alternative to you is carrying the operational burden themselves, or hiring someone to carry it. You are competing with a salary and their weekends, and you've been benchmarking against a $49 plan.

In an earlier essay I called this custody: owning a recurring problem so the buyer doesn't have to. Custody is exactly what a pricing-page comparison can't see.

It is also, in the AI era, most of what's left to charge for. Building got cheap. Carrying didn't.

Which means the subsidy compounds. Every drop in the cost of building makes the carried layer a bigger slice of what your customer actually receives from you, so hidden hours that stay flat still grow as a share of the service. Do nothing, and your invoice describes less of your business each year.

Scope creep reads differently from this angle too: the client is discovering, one favor at a time, that responsibility transfers to you for free. Every accepted favor sets the price of the next one.

The visibility ladder

Every burden you carry sits on one of three rungs:

  1. Hidden. You do the work, nobody knows it happens. It earns zero.
  2. Partial. The client occasionally glimpses it: a mention on a call, an outage that didn't happen. They sense you're "on it" but couldn't name what "it" costs. It earns goodwill.
  3. Priced. The responsibility has a name and the price makes room for it: a line item, a retainer, or an all-inclusive rate that says what it covers. It earns money.

Work only earns money on the top rung.

And here's what most rate-raising advice misses: you can't jump a burden from hidden to priced in one conversation. Asking a client to pay for something they've never seen sounds like an invented fee. That's why "just raise your rates" feels terrifying, and why it sometimes goes badly.

Move one rung at a time. Take one hidden burden and make it partial: a short monthly note listing what was monitored, caught, and recovered. Three lines is plenty:

Caught and rolled back a failed sync before Monday's import. Renewed the SSL certificate on the client portal. Absorbed Stripe's API version change; nothing needed on your side.

Don't sell anything yet. Build the ledger the buyer never had.

Advertising history already ran this experiment. In the early 1900s, Claude Hopkins toured the Schlitz brewery and saw bottles washed with live steam, beer cooled in plate-glass rooms of filtered air, water drawn from deep artesian wells.

Every major brewery did roughly the same. None had ever said so. Schlitz simply advertised the process it already ran, and by Hopkins' own account climbed from fifth place to a tie for first.⁴

The beer never changed. Its visibility did. Your monthly note is the same move, minus the ad budget: the monitoring already runs, the recoveries already happen, and whoever names the hidden work first owns it.

One caution: keep the note boring. Past tense, caught and handled, no drama. The client is buying calm, and a ledger that reads like a siren un-sells the exact thing it's trying to price.

You'll know a burden is ready to price when the client mentions it back to you. A reply to the note, an aside on a call, a "saw you caught that sync thing." Once they can name the work unprompted, it exists on their side of the relationship, and a price for it no longer sounds invented.

After a few months of that, the pricing conversation stops being a pitch. It becomes an acknowledgment of work the client has already watched arrive.

Some of the floor was never ordered

The monthly note carries a catch, and it's better to meet it here than in a client reply.

Hidden work can't be paid for. It also can't be declined. Visibility restores both options at once, so some of what you name will come back as a line item, and some will come back as "you can stop doing that."

Expect the second answer to sting. It shouldn't, because the honest count always holds two kinds of hours: the ones the customer's operation needs, and the ones that only quiet your own nerves.

The dashboard you check because not checking makes you twitchy. The backup of the backup, guarding a failure that has never once fired.

Those dashboards nobody asked you to watch? Some of them, it turns out, nobody needed watched either.

A subsidy needs a beneficiary. Work that provides nothing has none; it's just cost with a good conscience.

So the note earns its keep twice. Burdens the client confirms become line items. Burdens they wave off stop eating your weekends.

Both moves recover margin, and the only position that recovers nothing is the one you're in now: carrying everything in the dark, unpriced and unexamined.

The gap runs in both directions

Honesty requires the second direction too.

Some sellers charge prices that imply relief they don't staff. The premium retainer that whispers 24/7 response, backed by one person and a phone that sleeps. If your price promises custody you can't deliver, the buyer is subsidizing you, and they will discover it at the worst possible moment.

Operators sometimes describe a confusing feeling of overcharging and undercharging at the same time. Usually both are true: unbilled work on one side, unstaffed promises on the other. The invoice should match the responsibility actually carried, in both directions.

So measure it. Four questions decide the size and direction of your gap:

  1. How many hidden hours you spend each month keeping customers' work moving.
  2. What happens when something breaks: who is expected to respond, and how fast.
  3. How much of the customer's operation stops without you.
  4. How much of this work the customer can actually see.

Put your own numbers through it. This calculator measures the gap between the responsibility you carry and the responsibility you bill, including the opposite failure: promising more custody than you can staff.

Are You Undercharging Clients?

Find out whether hidden operational work is turning your price into a subsidy. For founders and operators whose customers rely on setup, monitoring, support, cleanup, or recovery, responsibility includes the hidden work behind the invoice.

Result

Calculating...

Operational floor$0/mo

Floor meaning-

Minimum honest price-

Target range-

Price vs avoided hire0%

Work verdict-

Promise verdict-

Main driver-

For general information only. Not professional advice; results are estimates. See the full Disclaimer.

If the number comes back near zero, your invoice is honest, and the symptoms you matched have some other cause. If it doesn't, you finally know which line item is missing, or which provision your price never made.

The next instant yes will feel good for about a minute. Then remember what it usually means: the visible part of your service is priced so low that the invisible part rides along free.

The invoice is the only ledger your client ever reads. Write the whole business into it.

Rabbit Hole

More on this subject

Footnotes
  1. Ryan Buell and Michael Norton, "The Labor Illusion: How Operational Transparency Increases Perceived Value", Management Science, 2011. In their experiments, people preferred travel and dating sites that displayed work in progress over sites that returned identical results instantly; visible effort changed the perceived value of the same result.
  2. Rates from Upwork's cost-to-hire guide for DevOps engineers: roughly $40 to $60 an hour at entry level, $100 to $150 and up for experts. The point survives any rate you plug in; hidden hours carry a market price whether or not anyone invoices them.
  3. The r/SaaS thread claiming most founders underprice by 20 to 40 percent. Worth reading as a specimen: a confident percentage, the familiar sign list in the comments, and no mechanism anywhere, which is exactly the vacuum this article fills.
  4. Hopkins tells the Schlitz story in his 1927 memoir My Life in Advertising; a good retelling is "Washed With Live Steam". The sales numbers are his own recollection, so treat "fifth to first" as a memoir claim; the mechanism he demonstrated, advertising a process every competitor shared but none disclosed, became known as the preemptive claim.

Read the original on mvrckhckr.com

Comments

Nothing yet. Say the first thing.

    Sign in to join the conversation.