I'm just beginning, and despite my search, I cannot find any simple formula that would return a number between 0 and 100%
Let's look at the meaning of the numbers first, because I would instinctively not expect a 0-100% range to be the most valuable metric here.
What you're interested in is accuracy, i.e. how far you were off target. The important thing to note here is that overestimation vs underestimation is irrelevant in terms of accuracy.
- If you end up with 125% (overestimation), that's 25% over.
- If you end up with 75% (underestimation), that's 25% under.
Whether over or under, what matters is that you were off 25%.
As you already found,
Estimation Effort / Actual Effort gives you the 125%/75% value. To reduce this to the 25% value, you need to subtract the formula is:
| (Estimation Effort / Actual Effort) - 100% |
Note that you could also use
| 100% - (Estimation Effort / Actual Effort) | since the absolute values are equal. It yields the same result.
This tells you how far you were off, where 0% is the best result, and there is no upper bound on how wrong you were. This is important to remember!
The formula you posted:
Actual Effort - |Estimation Delta| / Actual Effort
can algebraically be reduced to
Actual Effort * ( 1 - |Estimation Delta|)
This is very close to the formula I just mentioned, but it seems like you've either made an algebraic mistake somewhere or are taking a roundabout way to come to a similar conclusion.
Expecting a 0%-100% range
any simple formula that would return a number between 0 and 100%
While 100% makes sense (perfect estimation), 0% does not. Where is the lower boundary of 0%? If I estimate 1 day of work:
- and it actually takes 1.5 days, you might say that is an estimation accuracy of 50% since I was 50% off.
- and it actually takes 2 days, you might say that is an estimation accuracy of 0% since I was 100% off.
- and it actually takes 366 days, what percentage would you say I was off?
Since I was 36,500% off, any formula that would net you the first two values would now net you a result of -36,400%.
If you were to cap this to 0%, that would mean that based on your metric, you would be unable to differentiate between any actual effort that is more than double of the estimated effort. Especially when talking about small tasks, the likelihood of this happening increases dramatically. For a very short task, any bug or obstacle is likely to take a large chunk (percentage-wise) of the planned work time. That same bug would take a smaller chunk (percentage-wise) of the planned work time of a large task.
There is no upper boundary on accuracy. That is to say that when you overestimate, there is an upper boundary (since actual effort cannot be below 0, you invariably can never be off by more than 100%). But when you underestimate, it's possible in extreme cases that you were off by several orders of magnitude.
The number system you are proposing obfuscates those cases and makes out as if the last two examples I mentioned (taking 1 extra day or taking 366 extra days) are equally wrong, which they most definitely are not.