BRC Academy · Microsoft Project

Resource levelling

Assign two tasks to one crew in the same week and Microsoft Project will happily schedule 16 hours of work into an 8-hour day. The resource turns red, and the schedule keeps promising dates that one crew cannot deliver. Resource levelling is Project's tool for fixing that: it delays or splits work until each resource fits its availability. For an owner, the more useful result is often the question levelling raises, not the dates it produces.

Learning outcomes

  • Find overallocated resources in Microsoft Project desktop and explain why they occur.
  • Run Level Selection, Level Resource and Level All, and read the result in the Leveling Gantt.
  • Choose Resource Leveling dialog settings for a controlled, repeatable levelling run.
  • Decide when an owner's master schedule should be levelled and when levelling is only a diagnostic.

The lesson

What an overallocation is

A resource is overallocated when the work assigned to it in a period exceeds what it can do in that period. Each work resource has a Max. Units value on the Resource Sheet (100% means one full-time unit, as set up in Lesson 16) and a calendar. Assign the same crew at 100% to two tasks that overlap (Lesson 17), and for the overlap it is booked at 200%. Project does not stop you. It flags the problem: overallocated resources show in red in resource views, and in the Gantt Chart a red person icon appears in the Indicators column [1]. Project also counts work scheduled in a resource's non-working time as overallocation, so a wrong resource calendar can raise a flag with no real clash behind it [1].

To see the problem, open Resource Usage (View tab) with the timescale in weeks or days, or use Next Overallocation in the Resource tab's Level group [1].

What levelling does, and what it does not

Levelling resolves overallocation by delaying tasks or assignments, or by splitting them, until the work fits. It does not change who is assigned, and it can push task and project finish dates out [1]. By default it levels work, generic and committed resources; material, cost and proposed resources are left alone [1]. Levelling never adds a crew, approves overtime or shortens a duration. Those are decisions, and in a contractor's schedule they are the contractor's.

When Project delays a task for levelling, it records the delay in the task's Leveling Delay field, in elapsed duration units such as edays [2]. You can show the field as a column to see exactly which tasks moved and by how much. Assignments have their own Leveling Delay, in ordinary duration units, visible in the Task Usage and Resource Usage views [2].

The three levelling commands

All levelling commands are in the Level group of the Resource tab [1]:

  • Level Selection levels only the tasks you select.
  • Level Resource levels the tasks of the resources you pick, and leaves other assignments on shared tasks where they are.
  • Level All levels every resource on every task.

The same group holds Leveling Options, which opens the Resource Leveling dialog, and Clear Leveling, which removes the delays and splits a previous run created [1][3]. If you run levelling and dislike the result, Undo reverses it right away, provided you have not done anything else since [1].

The Resource Leveling dialog

Every levelling run follows the settings in this dialog, so set them before you click Level All. Figure 1 shows the settings and the choices we use for an owner's diagnostic run.

  • Leveling calculations: Automatic or Manual. Manual, the default, levels only when you click Level All. Automatic relevels as soon as a change creates an overallocation [3]. Automatic means dates move whenever someone edits a task.
  • Look for overallocations on a … basis. Sets the sensitivity, from Minute by Minute to Month by Month [3]. Microsoft's own pages disagree on the default, so check it every time. For site crews on an 8-hour day, Day by Day is a sound choice.
  • Clear leveling values before leveling. Removes earlier levelling delays, including ones typed in by hand, before the next run. It is on by default [3].
  • Leveling range. The entire project, or only a From and To date range, so you can leave a settled stage alone [3].
  • Leveling order. ID Only delays higher-ID tasks first. Standard, the default, weighs predecessor relationships, slack, dates, priorities and constraints. Priority, Standard looks at task priority first [3].
  • Level only within available slack. Stops levelling from delaying the project finish date. It is off by default, and with too little slack Project may not be able to resolve every overallocation [1][3].
  • Leveling can adjust individual assignments on a task and Leveling can create splits in remaining work. Both are on by default [3]. Each can also be set per task, through the Level Assignments and Leveling Can Split fields [3][4].
Resource Leveling dialog: the owner's settings for a diagnostic run Eight cards, one per setting in the Resource Leveling dialog, each with the owner's choice and the reason. Leveling calculations: Manual, so you decide when dates move. Look for overallocations on a Day by Day basis, to match an 8-hour crew day. Clear leveling values before leveling: on, so each run starts from clean logic. Leveling range: level entire project, or From and To for one stage. Leveling order: Standard, or Priority, Standard if priorities are set. Level only within available slack: on for the first pass, to show what fits without a slip. Leveling can adjust individual assignments: off for crews, to keep a crew together. Leveling can create splits in remaining work: off for crews, to avoid stop-start work. Leveling calculationsManualYou decide when dates move Look for overallocations on aDay by Day basisMatches an 8 h crew day Clear leveling values before levelingOnEach run starts from clean logic Leveling rangeLevel entire projectOr From/To for one stage Leveling orderStandardPriority, Standard if you set priorities Level only within available slackOn for the first passShows what fits without a slip Leveling can adjust individual assignmentsOff for crewsKeeps a crew together on a task Leveling can create splits in remaining workOff for crewsAvoids stop-start site work
Figure 1. Resource Leveling dialog settings and the owner's choices for a diagnostic run. These are BRC's recommendations, not Project defaults. Source: BRC, based on Microsoft Support, Resource Leveling dialog box and Distribute project work evenly [1][3].

Priorities: telling Project what not to move

Each task has a Priority from 0 to 1000, set on the General tab of Task Information, with 500 as the default. Lower-priority tasks are delayed or split before higher ones, and a task at 1000 is never levelled [1][3]. Priority only drives the order when you choose Priority, Standard, but a 1000 protects a task under any order. Use 1000 sparingly, for owner-controlled events rather than ordinary construction tasks.

Reading the result

The Leveling Gantt view shows what changed. Open it from the View tab with Other Views, More Views, Leveling Gantt [1]. It draws each task's pre-levelling position next to its levelled bar, with the delay as a thin line in front of the task [1][5]. Add the Leveling Delay column and sort or filter on it to list every task that moved.

Screenshot to come
Screenshot to come: Project Professional 2024 (desktop), NDC_OwnerMaster_2027-01-11.mpp, Resource Usage view with the timescale in weeks, Concrete crew row expanded to show its assignments on 3.2 Slab-on-grade and 4.1 Tilt-up panel casting, weeks of May 3 and May 10, 2027 shown in red at 200%

Northgate worked example

Northgate Distribution Centre (fictional) is a 12,000 m² tilt-up warehouse in Vaughan, Ontario, built by Halvorsen Builders Ltd. (fictional) under CCDC 2-2020 for Northgate Logistics Inc. (fictional). The owner keeps its master schedule, NDC_OwnerMaster_2027-01-11.mpp, in Microsoft Project desktop on a Monday-to-Friday, 8-hour calendar with Ontario statutory holidays off (see the Northgate fact sheet). The owner's file carries a simplified version of Halvorsen's critical work so the owner can test what the contractor tells it.

The set-up

In the owner's file, the owner's scheduler has loaded two generic resources on the foundations and structure stages (all values are illustrative, built for this lesson):

  • Concrete crew, Max. Units 100%, on 3.2 Slab-on-grade (Mon Apr 12 to Fri May 14, 2027, 25 days) and 4.1 Tilt-up panel casting (15 days, linked start-to-start with a 15-day lag from the slab, so it starts Mon May 3).
  • Tilt-up crew, on 4.2 Panel erection and bracing (15 days, finish-to-start with a 5-day curing lag after casting).

Unlevelled, casting finishes Fri May 21 and erection runs Tue Jun 1 to Mon Jun 21. The contract date for M5, panels erected, is Fri Jun 25, 2027, entered as a deadline on the milestone (Lesson 12). Four working days of slack. Looks fine, until you open Resource Usage: for the weeks of May 3 and May 10 the Concrete crew is booked at 200% (Figure 2, top).

Concrete crew units by week, before and after levelling Two column charts of the Concrete crew's weekly assigned units against a maximum of 100 per cent, weeks of April 12 to June 7, 2027. Before levelling: 100 per cent for the weeks of April 12, 19 and 26; 200 per cent for the weeks of May 3 and May 10, when slab-on-grade and panel casting overlap; 100 per cent for the week of May 17; nothing after. After Level All: 100 per cent every week from April 12 to May 31 and 20 per cent in the week of June 7, so the work fits one crew but runs about three weeks longer. Within max unitsOverallocated (above 100%) Before levelling: two tasks share one crew 0%100%200%Max units Apr 12Apr 19Apr 26May 3May 10May 17May 24May 31Jun 7 After Level All: casting waits for the slab 0%100%200%Max units Apr 12Apr 19Apr 26May 3May 10May 17May 24May 31Jun 7 Week of (2027). Illustrative owner's master; one Concrete crew, max units 100%.
Figure 2. Weekly units for the Concrete crew in the owner's master, before and after Level All (illustrative). Source: BRC, based on the Northgate fact sheet and Microsoft Support, Distribute project work evenly [1].
View the data
Week of (2027)Before levellingAfter Level All
Apr 12100%100%
Apr 19100%100%
Apr 26100%100%
May 3200%100%
May 10200%100%
May 17100%100%
May 24 (Victoria Day Mon)0%100% (4 working days)
May 310%100%
Jun 70%20% (1 day)

Run 1: within available slack

The scheduler saves a copy of the file, opens Leveling Options, sets Manual, Day by Day, Standard order, and turns on Level only within available slack. Then Level All. Casting would need to wait ten working days for the slab, and it has four days of slack to give. Project cannot clear the overallocation inside that limit, which is the answer the owner wanted: this plan does not work with one concrete crew without moving M5.

Run 2: unrestricted

With the slack box cleared, Level All delays 4.1 until the slab is done. Under the Standard order, the casting task is the natural one to move because it has slack and the slab does not. Figure 3 shows the result. Casting gets a Leveling Delay of 14 edays and now runs Mon May 17 to Mon Jun 7, losing a day to Victoria Day on May 24. Erection follows its curing lag and finishes Tue Jul 6, after Canada Day. M5 is now six working days past its Jun 25 deadline, and Project shows the missed-deadline indicator.

What Level All does to the panel tasks A Gantt chart from April 12 to July 9, 2027. Slab-on-grade, April 12 to May 14, does not move. Panel casting before levelling runs May 3 to May 21; after levelling it runs May 17 to Monday June 7, with a leveling delay of 14 elapsed days drawn as a thin line from May 3. Panel erection before levelling runs June 1 to Monday June 21, four working days inside the M5 deadline of Friday June 25; after levelling it runs June 15 to Tuesday July 6, six working days past the deadline. Not movedBefore levellingAfter Level All Apr 12May 1Jun 1Jul 1 M5 deadline Fri Jun 25 3.2 Slab-on-grade · to Fri May 14 4.1 Panel casting, before · to Fri May 21 4.1 Panel casting, levelled · to Mon Jun 7Leveling delay 14 edays 4.2 Panel erection, before · to Mon Jun 21 4.2 Panel erection, levelled · to Tue Jul 6
Figure 3. Panel casting and erection before and after Level All in the owner's master (illustrative dates on the Northgate calendar). Source: BRC, based on the Northgate fact sheet and Microsoft Support, Leveling Delay fields [1][2].
View the data
TaskBefore levellingAfter Level AllLeveling Delay
3.2 Slab-on-grade (Concrete crew)Mon Apr 12 to Fri May 14Not moved0 edays
4.1 Tilt-up panel casting (Concrete crew)Mon May 3 to Fri May 21Mon May 17 to Mon Jun 714 edays
4.2 Panel erection and bracing (Tilt-up crew)Tue Jun 1 to Mon Jun 21Tue Jun 15 to Tue Jul 60 (moved by logic)
M5 Tilt-up panels erected, deadline Fri Jun 254 working days of slack6 working days lateNone

What the owner does with it

The owner does not adopt the levelled dates. The owner's file is a simplified model, and the assumption that one concrete crew does both slab and casting is the owner's assumption, not Halvorsen's plan. What the run gives the owner is a precise question for the next schedule meeting: your schedule overlaps slab-on-grade and panel casting for two weeks; how many concrete crews are you carrying, and where are they in your resource loading? If Halvorsen shows two crews, the owner adds a second crew to its file and clears levelling. If not, M5 is at risk, and the owner knows months early.

Screenshot to come
Screenshot to come: Project Professional 2024 (desktop), Resource tab, Level group, Resource Leveling dialog open with Manual, Day by Day, Clear leveling values before leveling on, Level entire project, Leveling order Standard, and Level only within available slack selected
Screenshot to come
Screenshot to come: Project Professional 2024 (desktop), a copy of NDC_OwnerMaster_2027-01-11.mpp, Leveling Gantt view after Level All with the Leveling Delay column inserted after Task Name, rows 3.2, 4.1 and 4.2 and milestone M5 visible, 4.1 selected showing 14 edays

Owner's move

  • Level a copy, not the master. Save the file under a new name, level, read the result, and discard it. Your master schedule should move only for reasons you can explain.
  • Use levelling as a test of the contractor's resourcing. If the owner's simplified file cannot be levelled without moving a contract milestone, ask the contractor what resources make its dates work.
  • Do not level contractor work in the owner's schedule and call it a forecast. Under a stipulated price contract the means and methods, crews included, are the contractor's. A levelled owner forecast that the contractor never agreed to helps nobody.
  • Level owner-controlled resources for real. The owner's own people, such as the owner's representative or the commissioning agent, are yours to schedule. Levelling their review and inspection tasks is a genuine planning step.
  • Ask for the levelling settings. If a contractor's schedule is levelled, ask which settings were used and whether every update is levelled the same way. Inconsistent levelling produces date swings that look like delay.

Common mistakes

  1. Leaving levelling on Automatic. Every edit relevels the file, so dates move while you type and no two reviews see the same schedule.
  2. Levelling with wrong resource calendars. Work booked on a non-working day counts as an overallocation [1], and levelling will "fix" a problem that is really a calendar error.
  3. Treating Leveling Delay as logic. A delay from levelling is not a relationship. Clear Leveling removes it, and the task snaps back to its early date. If the sequence is real, link it.
  4. Setting every important task to priority 1000. If everything is protected, levelling has nothing it may move and the overallocation stays.
  5. Allowing splits on crew work. Stop-start crew work is rarely how a site runs. Turn splitting off unless the split is a real plan.

Quick quiz

  1. What does resource levelling change to resolve an overallocation?

    1. It reassigns work to a less busy resource
    2. It delays or splits tasks and assignments
    3. It raises the resource's Max. Units
    4. It shortens task durations
  2. Which resources does Project level by default?

    1. Work, material and cost resources
    2. Only material resources
    3. Work, generic and committed resources
    4. Proposed resources only
  3. What does "Level only within available slack" prevent?

    1. Any task from moving
    2. The project finish date from being delayed
    3. Splits in remaining work
    4. Levelling of manually scheduled tasks
  4. A task has a Priority of 1000. During levelling, Project will:

    1. Delay it first
    2. Not level it
    3. Split it into daily pieces
    4. Change its task type
  5. In the Northgate example, why does the owner not adopt the levelled dates?

    1. Levelling cannot run on an owner's file
    2. The one-crew assumption is the owner's, and crews are the contractor's call
    3. Leveling Delay is measured in edays
    4. M5 has no deadline
Show answers and explanations
  1. B. Levelling delays or splits work; it does not change who is assigned [1].
  2. C. Work, generic and committed resources are levelled; material, cost and proposed resources are not, by default [1].
  3. B. The option stops levelling from moving the project finish date, and may leave overallocations unresolved [3].
  4. B. A priority of 1000 means the task is not levelled [3].
  5. B. The run shows a resourcing question for Halvorsen; the levelled dates rest on an assumption only the contractor can confirm.

Key terms

Overallocation
More work assigned to a resource in a period than its Max. Units and calendar allow.
Resource levelling
Delaying or splitting tasks and assignments so each resource's work fits its availability.
Leveling Delay
The amount a task or assignment has been pushed back from its early start by levelling; task delays are in elapsed units.
Leveling order
The rule Project uses to choose which tasks to delay first: ID Only, Standard or Priority, Standard.
Priority
A task value from 0 to 1000 (default 500) that steers levelling; 1000 means do not level.
Leveling Gantt
A view that shows each task's pre-levelling and levelled position, with the delay drawn in front of the bar.

References

  1. Microsoft. Distribute project work evenly (level resource assignments). Microsoft Support, Project desktop.
  2. Microsoft. Leveling Delay fields. Microsoft Support, Project desktop.
  3. Microsoft. Resource Leveling dialog box. Microsoft Support, Project desktop.
  4. Microsoft. Level Assignments (task field). Microsoft Support, Project desktop.
  5. Microsoft Project team. The many Gantt chart views. Microsoft Learn archive (Project blog).

Verified on November 6, 2026.

Next lesson in this trackCosts: rates, fixed costs, accrual

PMI, PMP and PMBOK are registered marks of the Project Management Institute, Inc. Oracle and Primavera are trademarks of Oracle. Microsoft Project is a trademark of Microsoft. BRC Academy is not affiliated with or endorsed by these organizations.

← All BRC Academy lessons

Have a program that's slipping, or about to start?

Book a 30-minute call. We'll tell you where your schedule and budget are exposed, and what an owner's rep would change, before you commit to anything.