How to get better at estimating how long a task will take
· 7 min read
The reliable way to estimate a task is to stop imagining it and look up how long similar tasks took you before. Then add the parts you always forget: getting started, waiting on other people, review and sending. That needs a record of what past work really took, which most people do not have, so the first step is to start keeping one. Everything below is about building that record and using it.
Why estimates come out short
Almost everyone underestimates, and almost always in the same direction. A few reasons, all of which you can check against your own experience.
You picture the task going well. When you estimate, you walk through the steps in your head. In that walk-through nothing goes wrong, nobody interrupts, and the file you need is where you expect it. The real version has all three problems.
You estimate the making and forget the wrapping. “Write the report” in your head is the writing. In practice it is also finding last quarter’s version, chasing two numbers, formatting, a review round, the fixes, the export and the email that goes with it.
Memory shortens past jobs. Ask yourself how long the last one took and you will recall the main session, not the four shorter ones around it. So even an estimate “based on experience” is often based on a trimmed version of it.
You estimate in hours and live in days. Six hours of work is not done by three in the afternoon. It lands across two or three days, between everything else.
None of these is fixed by imagining harder. They are fixed by using a different source.
Estimate from your history, not from the task
Treat the new task as one more of a kind you have done before, and ask what that kind usually costs.
- Name the kind. A client report. A landing page. A month-end close. A conference talk.
- Find the last three. For each, how many hours did it take from first touch to sent?
- Use the middle one as your estimate. Use the longest as your “it could run to” figure.
- Adjust only for concrete differences. Twice as many pages, a new client who has not sent the files, a tool you have not used. Do not adjust for “this one should be simpler.”
The catch is step two: you need to know what the last three took, and “about a day, I think” is the trimmed memory again.
Build the record you wish you had
There are three ways to get real numbers, in rising order of how likely they are to survive a busy month.
A note. One line per finished task: the date, what it was, how long. It costs nothing and works for as long as you remember to do it.
A timer. Accurate when it runs. The trouble is that the tasks you most need data on are the absorbing ones, and those are exactly when you forget to press start.
An automatic record. Screen Time in System Settings shows usage per app per day, which is a start. Punchcard is built for the workday: it sits in the menu bar, notices which app is in front, and at the closing time you set it prints a paper receipt with a time on each line and a day total. Nothing to start or stop.
For estimating, the useful property is that most kinds of task live mostly in one or two apps. The report is the word processor and the spreadsheet. The landing page is the editor and the browser. So across the days a task ran, those lines on the receipts are a ceiling on what it took. The CSV export has one row per session with a start, an end and the app, so you can also total a date range in a spreadsheet.
The limits matter here. Punchcard has no projects, tasks, tags or timers. It records app names (and site names if you turn on itemized browsing), never document names or window titles, so it cannot tell two reports apart on a day you worked on both. Splitting a line between tasks is your judgment, written down the same evening while you still know. Tracking is free and does not expire, the CSV export works without a license, and the first two receipts are free; printing after that is $9 once.
Keep a guess-versus-actual log
A record of actuals tells you what things cost. A record of guesses next to actuals tells you how wrong you tend to be, which is even more useful, because it applies to tasks you have never done before.
Before you start a task, write your guess. When it is done, write the actual next to it.
| Task | Guess | Actual |
|---|---|---|
| Quarterly report | 4 h | 7 h |
| Onboarding slides | 2 h | 2.5 h |
| Pricing page rewrite | 5 h | 9 h |
After ten or so rows, divide the total of the actuals by the total of the guesses. In the example above that is 18.5 over 11, or about 1.7. That is your own multiplier. The next time your gut says three hours, the honest number is closer to five.
As the log grows the multiplier tends to shrink, because seeing the gap on paper is what recalibrates the gut.
Add what you always forget
When the task is too new to have a history, break it into parts and estimate those, then check the list against the things that never make it into a first estimate:
- Reloading the context each time you come back to it.
- Waiting for a file, an answer or an approval, and the restart after the wait.
- Review, and the changes that follow review.
- Export, upload, sending, filing.
- The message thread about the task, which runs the whole time.
If your receipts show that chat and mail take a steady share of every day, that share comes out of the hours available for the task. Is four hours of real work a day normal looks at how much of a day is usually left for concentrated work, and how to measure your own figure.
Give a range and a date, not a single number
A single number sounds confident and is nearly always wrong. A range is honest and more useful to whoever is planning around you: “seven hours, could run to ten.”
Then convert to calendar time. If your record shows about three concentrated hours on a normal day, seven hours of work is the third day, not tomorrow afternoon.
If you are estimating to quote a price, How to estimate hours for a quote when you never tracked the last job covers that case.
Questions
How many past tasks do I need before this works?
Three of a kind is enough to beat a guess. Ten guess-and-actual pairs of any kind is enough for a multiplier you can lean on.
Should I just pad every estimate?
A hidden pad teaches the people around you to subtract it. A stated range with a reason (“the last three took between six and ten hours”) does not have that problem.
Does Punchcard track time per task?
No. It records which app was in front and for how long, and prints that as a day. There are no tasks, projects or timers. It supplies honest hours per app; matching them to a task is up to you.