How to Price Freelance Projects: From Guessing to a System That Works
My first project quote was literally a guess. Client asked “how much for a website?” I panicked, looked at what competitors charged, and said “$3,000.” It took me 45 hours. At my target rate of $115/hour, it should have been $5,175. I left $2,175 on the table because I didn’t have a pricing system.
Two years of tracking data later, I have a system that prices projects within 10-15% of what they actually cost to deliver. Here’s how it works.
The Three-Step Pricing Framework
Step 1: Estimate Hours (Bottom-Up)
Break the project into tasks and estimate each one:
| Task | Estimated Hours |
|---|---|
| Discovery call + planning | 2 |
| Homepage design (mockup) | 8 |
| Inner page designs (4 pages × 3hr) | 12 |
| Responsive/mobile design | 6 |
| Development/build | 12 |
| CMS setup + content migration | 4 |
| Testing + bug fixes | 3 |
| Client review + revisions (2 rounds) | 4 |
| Launch + handoff | 2 |
| Subtotal | 53 hours |
Step 2: Add Buffer
Projects almost never come in under estimate. My buffer rates:
- Work I’ve done many times before: 15% buffer
- Work I’ve done a few times: 25% buffer
- New type of work: 35-40% buffer
53 hours × 1.20 (20% buffer, familiar work) = 64 hours
Step 3: Calculate Price
64 hours × $130/hour = $8,320
Round to a clean number: $8,500
That’s my project quote. The client sees “$8,500 for a website with 5 pages, responsive design, CMS setup, and 2 rounds of revisions.” They don’t see the hourly math.
The Value Check
Before sending the quote, I do a sanity check: is this price proportional to the value the client receives?
If this website will generate $50K+ in annual revenue for the client, $8,500 is a bargain. If the client is a startup with no revenue yet and this is their MVP landing page, $8,500 might be more than they can justify.
I don’t always adjust based on value — my costs are my costs — but I might:
- For high-value clients: Present the price confidently. Consider premium pricing.
- For budget-constrained clients: Offer a reduced-scope option at a lower price.
Presenting the Price
I never present a single number. I present 2-3 options:
Option A: Essential ($5,500) Homepage + 3 inner pages, responsive design, basic CMS setup, 1 round of revisions
Option B: Standard ($8,500) ← Recommended Homepage + 5 inner pages, responsive design, full CMS setup + content migration, 2 rounds of revisions
Option C: Premium ($12,000) Everything in Standard + blog template, contact form integration, SEO optimization, 3 rounds of revisions, 30 days post-launch support
About 60% of clients choose the middle option, 25% choose the premium, and 15% choose the budget option. The tiered approach increases average project value by 15-20% compared to presenting a single price.
Common Pricing Models
Fixed Price
“This project costs $8,500.” Period. Client knows exact cost. You absorb risk of overruns.
Best for: Clearly defined projects with minimal scope uncertainty.
Hourly with Cap
“My rate is $130/hour with a not-to-exceed cap of $8,500.” Client has cost certainty, and you can charge for actual time up to the cap.
Best for: Projects where scope might expand and you want protection for both parties.
Retainer
“$3,000/month for up to 20 hours of work.” Recurring, predictable for both parties.
Best for: Ongoing relationships with steady work volume.
Value-Based
“This project costs $20,000.” Priced based on the value delivered (e.g., expected revenue increase) rather than hours.
Best for: Projects where you can quantify business impact and have the credibility to justify premium pricing.
My Pricing Evolution
| Year | Average Project Price | Method | Effective Hourly Rate |
|---|---|---|---|
| 1 | $2,800 | Guessing | $62 |
| 2 | $4,500 | Hourly estimate × rate | $98 |
| 3 | $6,500 | Task breakdown + buffer | $121 |
| 4 | $8,500 | Framework + tiered options | $142 |
The biggest jump was year 2 → 3 when I started using the task breakdown method instead of a gut feeling. The second biggest was adding tiered pricing options.
Pricing Red Flags
If every client says yes immediately: Your price is too low. You should hear pushback or negotiation from 20-30% of prospects.
If every client says no: Either your price is too high for your market, or you’re targeting the wrong clients. Usually the latter.
If projects consistently go over budget: Your buffer is too small or your task estimates are too optimistic. Increase buffer to 30-35%.
If you’re afraid to send the quote: You’re pricing based on what YOU would pay, not what the work is worth. The client isn’t you. Their budget and value perception are different from yours.
The Bottom Line
Project pricing = (task estimate × hourly rate × buffer) rounded to a clean number. Present in tiers. Track actual hours to improve future estimates.
It took me two years to develop a reliable pricing system. The investment was worth it — my average project revenue nearly tripled and my profitability improved significantly. Do the math, trust the math, and send the quote. You’re worth it.