How to calculate your effective hourly rate on a fixed-price project

· 6 min read

Your effective hourly rate on a fixed-price project is the fee you received divided by every hour the project actually took. The division is easy. The hard part is the hours: most freelancers count the work they planned and forget the calls, revisions, emails and fixes around it, which makes the rate look better than it was. Get an honest hour count, calculate two versions of the rate, and compare them with the rate you meant to earn.

The formula

Effective hourly rate = fee received ÷ total hours spent.

Use the fee you actually received, not the fee you quoted. If the client paid less, or you gave a discount at the end, the received figure is the true one. Leave out expenses you passed through at cost, and subtract costs you absorbed yourself, such as stock images or software bought for this client.

An example, with invented round numbers:

  • Quoted and paid: $3,000.
  • Hours estimated when you quoted: 30. Planned rate: $100 an hour.
  • Hours on the deliverable itself: 38.
  • Hours on calls, emails, revisions after sign-off and the final handover: 10.

Delivery rate: $3,000 ÷ 38 = $78.95 an hour. All-in rate: $3,000 ÷ 48 = $62.50 an hour.

The planned $100 was never close. The overrun on the work itself cost about a fifth of the rate, and the time around the work cost nearly as much again.

Which hours count

Count everything you would not have done without this client. The common omissions:

  • Calls and meetings, including the kickoff and the quick check-in that took an hour.
  • Email and chat about the project. Each message is short; together they are not.
  • Revisions, especially rounds beyond what the quote included.
  • Setup and handover: preparing files, writing notes, uploading, answering questions after delivery.
  • Invoicing and chasing payment.

Whether to count the proposal is a judgment call. If you won the job, include it; the all-in rate should carry it. If you want to know what winning work costs across all your pitches, how much time you spend on proposals that never get paid covers that separately.

Keep both numbers, the delivery rate and the all-in rate, because they tell you different things. A low delivery rate means your estimates are off. A low all-in rate with a healthy delivery rate means the work is fine and the client relationship is expensive.

Where honest hours come from

Memory underestimates this kind of time, because the pieces that go missing are the scattered ones. Three sources, from most to least reliable:

  1. A record of your days. If something noticed where your Mac time went while the project ran, you can add it up afterward.
  2. Your calendar. Good for calls and meetings, no help for everything between them.
  3. Your sent mail and file dates. Useful for reconstructing which days you touched the project at all.

Punchcard is a Mac menu bar app that handles the first one without timers. It notices which app is in front during your day, by name only, and prints a receipt at the closing time you set: the top five apps with time on each, the rest as MISC, and a day total. Its CSV export lists every session with start and end times.

Be clear about what it cannot do for this calculation. It has no per-project or per-client tracking and no billable rates, so it will not hand you a finished number per project. It gives you the raw day. If a project ran for two weeks and it was most of what you did, the day totals get you close. If you juggled three clients, a one-line note each evening (“Thu, 6h 40m, about 4h on the bakery site”) makes the split easy while the receipt is still in front of you.

Email and chat count as their own apps, so the time around the work shows up on the receipt even when you would never have thought to log it. That line usually explains most of the gap between the delivery rate and the all-in rate.

What to do with the result

Compare the effective rate with the rate you need. Then look for the cause, because each one has a different fix.

The work took longer than estimated. Your estimate was off, not your price. Use the real hours from this project as the base for the next similar quote, and quote a range rather than a single figure. How to estimate hours for a quote when you never tracked the last job walks through that.

Revisions ran over. Name the number of rounds in the next quote, and give an hourly rate for extra rounds.

The time around the work was heavy. Some clients need more calls and more reassurance. That is fine if the price includes it. Add a line for project management, or raise the fee for that client.

The rate was fine. Good. Keep the numbers anyway. After several projects you can see which kind of work pays best per hour, and it is often not the kind with the biggest fee.

Making it a habit

Work out the effective rate for every fixed-price project when you send the final invoice, while the details are fresh. Keep a spreadsheet with one row per project: client, type of work, fee, delivery hours, all-in hours, and both rates. After a few months, sort by the all-in rate. The bottom of that list is where to raise prices first, and the time audit to do before raising your rates is a good next step.

Questions

Should I include time spent learning something new for the project? If you would bill a client for it on an hourly job, include it. If it is a skill you will use everywhere, leave it out of this project’s rate and note it separately.

What if the hours were spread across evenings and weekends? Count them all. A fixed fee does not care when the hours happened, and leaving out evenings is the most common way the rate ends up looking better than it was.

Can Punchcard calculate the rate for me? No. It has no rates or invoicing. It gives you the hours; the division is yours.