Learn how to audit your freelance rates yearly and catch underpricing before it compounds. A practical guide for solo developers and programmers.
You're three quarters into the year. Revenue is steady. Clients are happy. You shipped features on time, fixed bugs, answered Slack messages at midnight. Everything feels fine—until you do the math.
Turns out you're making less per hour than you were two years ago. Your rates haven't budged, but your cost of living has. Taxes took a bigger bite. Health insurance went up. Meanwhile, your skills got sharper, your portfolio got stronger, and the market moved on without you.
This is the hidden cost of underpricing: it compounds silently.
One year of undercharging is a missed opportunity. Two years is a pattern. Three years is a decision you made without realizing it. By the time you notice, you've already left tens of thousands on the table—money you can't get back.
The good news? You don't have to wait until crisis mode to catch this. An annual rate audit—a deliberate, honest look at what you're charging versus what you should be charging—takes a few hours and prevents a year of regret. This guide walks you through the ritual that solo programmers and freelance developers need to stay ahead of the math.
Most solo developers set their rates once, then forget about them. You pick a number that feels reasonable, land a few clients at that rate, and then life happens. You get busier. Your hourly rate effectively drops because you're not raising prices. Inflation eats into your margins. A junior rate from three years ago starts to feel like a senior's workload.
Here's what makes rate audits different from casual rate-setting: they're systematic and comparative. Instead of guessing, you're measuring. Instead of hoping you're fair, you're verifying.
A proper audit answers three hard questions:
1. What am I actually earning per hour right now?
This sounds simple, but most solo developers don't know. You know your monthly retainer fees and your project rates, but do you know the true hourly equivalent when you factor in unbilled time, admin work, and the gap between invoicing and getting paid? Probably not. That's the first blind spot an audit reveals.
2. What should I be earning given my skills, market, and goals?
This requires research. Not guesswork—actual data. Industry benchmarks, regional cost of living, your experience level, the complexity of your work, and the demand for your specific skills all matter. You need to know what the market will bear and what you need to survive and thrive.
3. What's the gap, and how do I close it?
Once you know where you are and where you should be, the path forward gets clearer. Maybe you raise rates on new clients. Maybe you renegotiate with existing ones. Maybe you shift your service mix toward higher-value work. The audit doesn't force a decision—it makes the decision informed.
Without this ritual, you drift. With it, you steer.
Let's start with the number that matters most: what you're actually earning per billable hour.
This is not your rate card. Your rate card might say $150/hour, but your true hourly rate is what you actually pocket after accounting for all the time you work that doesn't generate revenue.
Here's the formula:
True Hourly Rate = Annual Revenue ÷ Total Hours Worked
But "total hours worked" is the tricky part. It's not just billable hours. It includes:
Let's work through an example:
Scenario: You earned $90,000 last year.
One of the biggest mistakes in rate audits is overestimating billable hours. You feel busy, so you assume you're billing a lot. But busy and billable aren't the same thing.
Billable hours are the ones you invoice for. Everything else is overhead.
Here's a rough breakdown of what realistic billable percentages look like:
Once you know what you're earning, you need to know what you should be earning. This requires market research—not guessing, not hoping, but actual data.
The good news: there's more transparency than ever. The bad news: you have to do the work to find it.
Several solid resources exist for understanding what other developers charge:
Check out over 16 freelance rate databases to see what's available across industries. For developers specifically, you'll want to look at:
Rate benchmarks aren't one-size-fits-all. They vary by:
Location: A developer in San Francisco commands different rates than one in rural Montana. Cost of living, local market demand, and client budgets all differ. If you work with clients globally, you can charge rates closer to high-cost markets. If you're local, you're bound by local economics.
Experience level: A junior developer (0–2 years) might charge $50–80/hour. Mid-level (3–7 years) typically ranges $80–150/hour. Senior (8+ years with specialization) can reach $150–300+/hour. These are U.S. benchmarks; adjust for your region.
Specialization: General full-stack development is more commoditized. Specialized skills—machine learning, blockchain, DevOps, niche frameworks—command premiums. If you're the only person who understands a client's legacy system, you have leverage.
Client type: Agencies and startups often pay less than established companies or enterprises. Non-profits and government contracts have budget constraints. High-growth tech companies and financial services firms have deeper pockets.
Retainer vs. project: Retainers are typically lower hourly rates but more predictable. Project rates are higher because there's no continuity. Emergency or rush work commands a premium.
When you research rates, segment by these factors. Don't just look at "developer rates"—look at rates for your type of work, in your market, at your level.
Understanding the importance of rate transparency is crucial for identifying underpayment. Salary transparency in full-time roles has become normalized; rate transparency for freelancers should be too.
If you don't know what others charge, you can't know if you're underpricing. This is why communities, surveys, and rate databases matter. They're not just nice-to-have—they're your reality check.
Now that you understand the concepts, here's the actual process. Block out 2–3 hours on a Friday afternoon, grab a spreadsheet, and work through this:
Pull together:
Using the formula from earlier:
Use the 2025 Rate Guide from AIR and other resources to understand what developers with your profile should charge. Cross-reference multiple sources:
| Factor | Your Data | Market Benchmark | Gap | |--------|-----------|------------------|-----| | Current hourly rate | $51 | $120 | -57% | | Years of experience | 5 | 5 | — | | Specialization | Full-stack | Full-stack | — | | Client type | Mixed | Mid-market | — | | Location | Remote | U.S. average | — |
The gap is your audit result. It's the number that matters.
Not all clients are equal. Some are more profitable, easier to work with, or more stable than others. Break down your revenue:
Look for patterns. Are you spending 40% of your time on a client that pays 15% of your revenue? That's a rate conversation waiting to happen.
Based on your research, decide what you should be earning. This isn't fantasy—it's realistic based on market data.
Consider:
Decide how you'll close the gap:
For new clients: Start quoting your new rate immediately. You don't owe existing clients a discount on future work just because you charged less in the past.
For existing clients: Don't raise rates abruptly. Instead:
For business efficiency: If your billable percentage is low, look for ways to reduce non-billable time. Better processes, automation, or outsourcing admin work can free up hours for billable work.
You don't have to do this with a spreadsheet and a calculator. Several tools can help:
Harvest's freelance rate calculator walks you through the calculation and gives you a starting point. Memtime's guide on calculating freelance rates provides step-by-step methodology using market research and realistic billable hours data.
For tracking and forecasting, Cashierr is built specifically for solo developers and freelancers. It answers the two questions every solo programmer secretly worries about: "How much should I be making?" and "How's the business actually doing?" Rather than just storing invoices, Cashierr's agentic AI agents track your revenue goals, project quarterly income, flag concentration risk, and show you the gap between where you are and where you should be—exactly what an audit is designed to reveal.
Other tools worth considering:
When you complete your audit, you'll likely see one of these patterns:
What it means: Your current rate is 20–50% below market.
Why it happens: You set rates early in your career and haven't adjusted. You're competing on price instead of value. You underestimated the market.
What to do: This is the most common finding and the most fixable. Plan a gradual increase over 6–12 months. Start with new clients at the higher rate. Renegotiate retainers at renewal. You'll likely lose one or two below-market clients—that's the point.
What it means: Your rate aligns with market benchmarks for your profile.
Why it happens: You've been paying attention, or you got lucky.
What to do: Don't get complacent. Redo this audit annually. Market rates shift, your skills improve, and cost of living changes. What's fair today might be below-market in a year.
What it means: Your rate is 20%+ above market.
Why it happens: You've built a strong reputation, you specialize in high-demand skills, or you serve premium clients.
What to do: Understand why. Is it because of genuine differentiation (rare skills, excellent results, strong brand), or because you've been lucky with client mix? If it's the former, own it and keep raising. If it's the latter, be careful—it might not sustain.
What it means: Too much revenue comes from one or two clients.
Why it happens: Retainers are great for stability, but they create dependency.
What to do: Deliberately build a more balanced client mix. One client leaving shouldn't threaten your financial stability. Aim for no single client to represent more than 30–40% of revenue.
What it means: You're spending too much time on non-billable work.
Why it happens: Inefficient processes, too much admin, or you're doing too much business development without closing deals.
What to do: Identify the bottleneck. Is it sales (you're pitching but not closing)? Admin (invoicing, email, bookkeeping)? Or learning (staying current with tech)? Once you know, you can fix it—by raising rates to cover overhead, outsourcing admin, or getting better at closing deals.
The audit is only valuable if you act on it. Here's how to make it stick:
Here's why this matters beyond just the money:
If you're underpriced by 30%, that's not just a small shortfall—it compounds. Over five years, 30% underpricing costs you roughly 150% of one year's revenue. That's a house down payment, a sabbatical, or a cushion for a slow quarter. You can't get that time back.
Conversely, getting your rates right early means:
If the spreadsheet approach feels overwhelming, Harlow's freelance rates cheat sheet compiles reports and community data to get you started quickly. The Freelancers Union also provides practical advice on calculating and adjusting rates to cover costs and taxes.
For developers specifically, Memtime's step-by-step guide uses market research and billable hours data to set realistic rates. And if you want a more sophisticated approach that tracks goals and projects revenue, Cashierr does the heavy lifting—its AI agents track your quarterly revenue targets, flag gaps before they hurt, and show you exactly where you stand against your goals.
The point is: you have options. Pick a tool that fits your style, but don't skip the ritual itself.
Before you wrap up your audit, answer these questions honestly:
1. Am I afraid to raise rates?
If yes, why? Fear of losing clients is normal, but it's often unfounded. Clients who leave over a rate increase were probably marginal anyway. The clients who value your work will stay.
2. Am I worth more than I'm charging?
Be honest. Are your skills strong? Do clients get results? Do they come back? If the answer is yes, you're underpriced.
3. What's stopping me from acting?
Is it the conversation itself? Uncertainty about the right rate? Inertia? Name it. Most obstacles are smaller than they feel.
4. What happens if I don't change anything?
This is the hard one. If you stay at your current rate for another year, what does that cost you? Not just money—what about your time, your energy, your sense of fair value?
The audit isn't just about numbers. It's about giving yourself permission to earn what you're worth.
You don't need fancy software or a business degree to know if you're underpriced. You need a spreadsheet, some honesty, and a few hours of focused work. The annual rate audit is the anchor that keeps you from drifting into underpricing.
It's not complicated. It's not even that time-consuming. But it's the difference between a business that sustains you and one that slowly erodes your financial stability.
Start this quarter. Block the time. Gather the data. Do the math. Research the market. Make a plan. Then act.
Your future self—the one who didn't spend five years underpriced—will thank you.
Master the 3-bucket system for solo developers: operating, tax, and profit accounts. Stop leaving money on the table and make tax season painless.
Master your solo dev finances in 30 minutes every Friday. Track revenue, expenses, goals, and cash flow with this step-by-step ritual.
Master revenue forecasting by tracking just 5 metrics. Learn which data points drive 80% of forecast accuracy for freelance developers.