In MS Project, is there a way to show the improvement in duration of a repeated task using a variable duration? The project I am working on has multiple tasks that happen over and over again. Over time, we expect the task to be completed faster and faster as the team gets better at preforming the task. Is there a way to do this in MS Project? (Example: task 2 duration = 0.9*task 1 duration)

  • 1
    Do you know the exact number of times this task will repeat or is it in indefinite number based on demand for that work? Does it repeat in sequence or can tasks overlap? – David Espina Mar 1 at 20:06
  • We know the exact number of times it will repeat (each task will repeat 60 times) and the task repeat in sequence yes so they wont ever overlap. – engineer112233 Mar 1 at 21:34

I would load a single work package for that task that would span the duration assuming a duration savings after so many times that action is done. For example, if your planning assumption is a savings of 10% after 10 times that action is done, and you perform four sets of that action, your duration might be 34 days instead of 40 days with no efficiency.

enter image description here

This chart shows an example of this repeating task with efficiency and without. I used the example of a task repeating five times with a ten day duration (no efficiency) and with a 39 day duration (with efficiency). I assumed a 10% savings after the completion of each task.

Doing it this way, I do not need to lead a decreasing duration with multiple work packages. Instead, it is a single work package that spans the entire duration and I simply calculated the efficiency across time based on the efficiency planning assumption.

I hope this helps.


Yes, with some limitations. You can use a custom numeric field with a formula. Create a "Numeric" custom field with the following formula:

IIf([% complete]<100, 0, [Baseline Duration]/[Actual Duration])

The formula will divide baseline (planned) duration by actual duration. If the task's actual duration is the same than its baseline duration, the custom field will have a value of "1.0". Tasks with actual duration longer than expected will get a value less than 1.0, while tasks with shorter actual duration will get a value higher than 1.0. As you can see, this calculated value is equivalent to a performance indicator.

The first validation of the formula (IIf) gives the custom field a zero value if the task is not complete. This, for two reasons:

  • To avoid a "Divide by zero error" if the actual duration of a task is zero.
  • To avoid calculation when the task is not complete, because this could give misleading results.

Then, you can copy-paste these values into Excel, where you can chart them and even compare to an expected performance increase (for example, expecting a result of 1.0 in the first task, 1.05 in the second, and so on). This should be done in Excel because Project cannot do that.

Note also that formulas only work inside the task itself. You can use them for calculations using data within the same task, so it's not possible to use formulas, for example, to compare a task duration with another task duration. If you need to do that, you'll have to use macros (which require programming).

Hope this helps.

Edit: I forgot to add that, in order to get the correct result from the formula, you need to set the project baseline. Whitout a baseline, the formula result will always be zero.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.