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].
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.
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).
View the data
| Week of (2027) | Before levelling | After Level All |
|---|---|---|
| Apr 12 | 100% | 100% |
| Apr 19 | 100% | 100% |
| Apr 26 | 100% | 100% |
| May 3 | 200% | 100% |
| May 10 | 200% | 100% |
| May 17 | 100% | 100% |
| May 24 (Victoria Day Mon) | 0% | 100% (4 working days) |
| May 31 | 0% | 100% |
| Jun 7 | 0% | 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.
View the data
| Task | Before levelling | After Level All | Leveling Delay |
|---|---|---|---|
| 3.2 Slab-on-grade (Concrete crew) | Mon Apr 12 to Fri May 14 | Not moved | 0 edays |
| 4.1 Tilt-up panel casting (Concrete crew) | Mon May 3 to Fri May 21 | Mon May 17 to Mon Jun 7 | 14 edays |
| 4.2 Panel erection and bracing (Tilt-up crew) | Tue Jun 1 to Mon Jun 21 | Tue Jun 15 to Tue Jul 6 | 0 (moved by logic) |
| M5 Tilt-up panels erected, deadline Fri Jun 25 | 4 working days of slack | 6 working days late | None |
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.
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
- Leaving levelling on Automatic. Every edit relevels the file, so dates move while you type and no two reviews see the same schedule.
- 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.
- 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.
- Setting every important task to priority 1000. If everything is protected, levelling has nothing it may move and the overallocation stays.
- 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
What does resource levelling change to resolve an overallocation?
- It reassigns work to a less busy resource
- It delays or splits tasks and assignments
- It raises the resource's Max. Units
- It shortens task durations
Which resources does Project level by default?
- Work, material and cost resources
- Only material resources
- Work, generic and committed resources
- Proposed resources only
What does "Level only within available slack" prevent?
- Any task from moving
- The project finish date from being delayed
- Splits in remaining work
- Levelling of manually scheduled tasks
A task has a Priority of 1000. During levelling, Project will:
- Delay it first
- Not level it
- Split it into daily pieces
- Change its task type
In the Northgate example, why does the owner not adopt the levelled dates?
- Levelling cannot run on an owner's file
- The one-crew assumption is the owner's, and crews are the contractor's call
- Leveling Delay is measured in edays
- M5 has no deadline
Show answers and explanations
- B. Levelling delays or splits work; it does not change who is assigned [1].
- C. Work, generic and committed resources are levelled; material, cost and proposed resources are not, by default [1].
- B. The option stops levelling from moving the project finish date, and may leave overallocations unresolved [3].
- B. A priority of 1000 means the task is not levelled [3].
- 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
- Microsoft. Distribute project work evenly (level resource assignments). Microsoft Support, Project desktop.
- Microsoft. Leveling Delay fields. Microsoft Support, Project desktop.
- Microsoft. Resource Leveling dialog box. Microsoft Support, Project desktop.
- Microsoft. Level Assignments (task field). Microsoft Support, Project desktop.
- 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, accrualPMI, 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.