How to estimate task time as a freelancer without guessing
How to estimate task time as a freelancer using past work, not gut feeling. A practical fix for the planning fallacy that keeps eating your evenings.
5 min read

In one line: estimate a new task by finding three similar tasks you already finished and looking at what they actually took, not by picturing the version where everything goes right. Size the work in S, M, L buckets, add a buffer for the work around the work, and quote a paid discovery block when the job is genuinely new.
It's 9am on Monday and a client asks how long the new landing page will take. You type "about 4 hours" because "I don't know" feels unprofessional and "12 hours" feels expensive. By Thursday you're at nine hours, the page is 70% done, and you're deciding whether to eat the overage or write an awkward email. That gap is not a discipline problem. Here is how to close it.
Why the gut number is always low
There's a name for it: the planning fallacy. When you picture a future task, you picture the version where everything goes right. The brief is clear, the client knows what they want, the file is where you saved it, the code compiles. You estimate against that imagined day. The real day has more friction, so the estimate lands short. It isn't a character flaw, it's how forecasting your own behaviour works. The fix is structural, not motivational.
Step 1: Pull your last three similar tasks
Instead of imagining the new job, find a handful of similar tasks you already finished and look at how long they actually took. This is called reference class forecasting, and the data is already in your time log, your invoices, and your calendar. If your last three landing pages took 11, 14, and 9 hours, "a day" was never the right quote. Twelve to sixteen was.
Common mistake: picking the one fast time you remember. Use the range, not your best day.
Step 2: Size the work in buckets, not false hours
Hours pretend to be exact. Buckets are honest. A 30-minute email is small, a 90-minute draft is medium, a three-hour proposal is large. The math is rougher but the answer is closer to true, because you stop pretending to know whether something takes 2.5 hours or 3. This is why TaskBerry sizes every task S, M, L, XL, XXL instead of a free-text minute field, so you can check whether today's list fits the day without doing arithmetic on numbers you invented anyway.
Common mistake: rounding every task down to its bucket floor. When a task sits between two sizes, pick the larger one.
Step 3: Add a buffer for the work around the work
The estimate is for the task. The day is for the task plus everything else. The things that get left out of the gut number are context switching between this and the other three jobs in your week, the second pass after you've slept on it, the email confirming the small thing the client mentioned in passing, finding the brand assets and the right font file, and fixing the typo spotted on the live page. Any task that touches client taste needs at least one review round built in, because creative review is never one round. A buffer isn't padding to protect your ego. It's the line item for the part of the work you keep forgetting is part of the work.
Common mistake: treating the buffer as optional and cutting it first when the quote feels high.
Step 4: Quote a paid discovery block when the work is genuinely new
Sometimes the job is something you've never built and the scope is fog. Pretending you can estimate it is how you end up working for free. Quote a fixed, paid discovery block instead: a couple of hours where you scope the real work, then quote the rest from what you learn. The client gets a real number instead of a guess, and you get an hour of thinking instead of a figure invented in thirty seconds because the meeting is ending. Most clients prefer this once you explain it. The ones who don't are usually the ones who'd have argued about the overage anyway.
Common mistake: giving the discovery hour away free to win the job, then resenting it.
Step 5: Log actual time once, so the next estimate comes from history
Estimates only get better if you feed them real numbers. Log the hours you actually spend on a few projects of each type, and within a few weeks you estimate from your own history instead of from feeling. You can log hours per task without a separate timer app inside the same board you plan in, which removes the friction that usually kills tracking by week two. Those logged hours also feed your capacity math, so a truer estimate makes a truer day.
Honest caveat: the first week of data is too thin to estimate from, and there's no shortcut around the boring middle where you just log your hours. TaskBerry won't write quotes for you, won't send invoices, and doesn't sync with your accounting tool. If you want estimate-to-invoice automation in one app, this isn't that tool.
What to do this week
Pick the next task you'd normally guess at. Before you send the quote, scroll back to the last three similar tasks and check what they actually took. No data yet? Start logging this week. In two weeks you'll quote from your own life instead of from hope. That's the whole shift: not bigger numbers, truer ones.
TaskBerry
TaskBerry is a day planner built for freelancers. Set your capacity, add your tasks, and know before you start whether the day works.
Start planning free →Continue reading
Plan a day that actually fits.
TaskBerry is the executive task manager for freelancers. Set your capacity, add your tasks, and know before you start whether the day works.
Start free
