CPM & PERT scheduling for project managers
The Critical Path Method (CPM) is one of the most powerful project management techniques ever developed, used by engineers, construction managers, software teams, and operations planners worldwide to identify the minimum possible project duration and pinpoint which activities cannot be delayed without pushing back the finish date. At its core, CPM works by modelling a project as a network of activities and dependencies. Each activity has a fixed duration and a list of predecessor activities that must be completed before it can begin. By running a forward pass through this network, we calculate the Earliest Start (ES) and Earliest Finish (EF) for every activity — the soonest each task can possibly begin and end given its predecessors. A backward pass then determines the Latest Start (LS) and Latest Finish (LF) — the latest each activity can start or finish without delaying the overall project. The difference between an activity's latest and earliest start times is called Total Float (TF). Activities with zero total float are said to be critical — any delay in a critical activity directly delays the whole project by the same amount. The sequence of critical activities from project start to project finish forms the Critical Path, the longest path through the network and the minimum possible project duration. Two other important float measures are Free Float and Independent Float. Free Float (FF) measures how much an activity can slip without delaying its immediate successors — useful for sequencing within a sub-team. Independent Float (IFF) is the float available regardless of how predecessor or successor activities are scheduled and represents the most conservative slack estimate. This calculator supports both standard CPM mode, where each activity has a single deterministic duration, and PERT (Program Evaluation and Review Technique) mode, where each activity has three time estimates: Optimistic (O), Most Likely (M), and Pessimistic (P). In PERT mode the Expected Time is computed as te = (O + 4M + P) / 6, which weights the most likely estimate four times more heavily than the extremes. The Standard Deviation is σ = (P − O) / 6, and the Variance is σ². These values allow you to assess schedule risk: the sum of variances on the critical path gives the overall project variance, and the project standard deviation tells you how reliably you can predict the finish date. The Gantt chart displayed alongside the results gives an immediate visual overview of the project timeline. Each activity is shown as a horizontal bar scaled to the project duration, with critical activities highlighted in the primary color and non-critical activities shown in muted tones. Float is depicted as a lighter dashed extension beyond each bar, so you can instantly see which tasks have scheduling flexibility and which are locked to the critical path. Common uses of CPM include construction project scheduling, software development sprint planning, event planning, manufacturing process optimization, shutdown and turnaround maintenance, and any project where resource constraints and deadlines must be balanced. Whether you are a project manager preparing a baseline schedule, a student learning operations research, or an engineer checking schedule risk, this tool provides the complete CPM analysis you need in seconds.
Understanding the Critical Path Method
What Is the Critical Path?
The critical path is the longest continuous sequence of activities through a project network, from start to finish, where every activity has zero total float. It defines the minimum possible project duration — you cannot complete the project faster than the critical path length without shortening at least one critical activity. There may be more than one critical path if parallel chains share the same total duration and zero float. Identifying the critical path is the first step in schedule optimization and risk management, because these are the activities where delays have the highest impact and where schedule acceleration efforts (crashing) should be focused first.
How Are ES, EF, LS, LF, and Float Calculated?
The CPM algorithm runs in two passes. The Forward Pass computes earliest times: for each activity in topological order, ES = max(EF of all predecessors), or 0 for activities with no predecessors; EF = ES + Duration. The Backward Pass computes latest times in reverse topological order: LF = min(LS of all successors), or project duration for terminal activities; LS = LF − Duration. Total Float = LS − ES (equivalently LF − EF). Free Float = min(ES of immediate successors) − EF, representing how long an activity can slip without affecting any successor. Independent Float = max(0, min(ES of successors) − max(LF of predecessors) − Duration), the slack available under the most conservative scheduling assumptions.
Why Does Critical Path Analysis Matter?
CPM gives project managers a factual, quantitative basis for decisions that would otherwise rely on guesswork. By knowing which activities are critical, managers can prioritize resources, apply overtime strategically, and negotiate timeline changes from an informed position. Float values reveal where scheduling flexibility exists — a two-week float on a non-critical activity means it can be delayed or resource-levelled without affecting the deadline. In risk management, the critical path activities are the highest-priority items for contingency planning, because any disruption to them has a one-for-one impact on the project finish date. In PERT mode, the variance analysis quantifies schedule uncertainty and supports probabilistic completion date estimates.
Limitations of CPM
CPM assumes all activity durations are deterministic (or, in PERT mode, probabilistic but independent). It does not account for resource constraints — two critical activities scheduled in parallel may actually compete for the same team or equipment, making the real minimum duration longer than the CPM prediction. The standard CPM model uses Finish-to-Start dependencies with zero lag; projects with lead/lag relationships or other dependency types (SS, FF, SF) require an extended model. CPM also does not automatically account for calendars, holidays, or shift patterns. Finally, the PERT completion probability calculation assumes the critical path duration is normally distributed, which is an approximation that becomes less accurate when the number of critical activities is small or their distributions are highly skewed.
Critical Path Method Formulas
Forward Pass (Earliest Times)
ES = max(EF of all predecessors); EF = ES + Duration
The forward pass calculates the earliest each activity can start and finish. Activities with no predecessors start at time 0. ES equals the maximum EF of all predecessor activities.
Backward Pass (Latest Times)
LF = min(LS of all successors); LS = LF − Duration
The backward pass works in reverse from the project end. Terminal activities have LF equal to the project duration. LS equals LF minus the activity duration.
Total Float
Total Float = LS − ES = LF − EF
Total float is the maximum time an activity can be delayed without extending the project duration. Activities with zero total float are on the critical path.
PERT Expected Time
te = (O + 4M + P) / 6; σ = (P − O) / 6
PERT uses three time estimates — Optimistic (O), Most Likely (M), and Pessimistic (P) — to calculate expected duration and standard deviation for schedule risk analysis.
CPM Reference Data
CPM Terminology Quick Reference
Key terms and abbreviations used in Critical Path Method scheduling.
| Abbreviation | Full Name | Definition |
|---|---|---|
| ES | Earliest Start | The earliest time an activity can begin, given predecessor completion |
| EF | Earliest Finish | ES + Duration — the earliest an activity can be completed |
| LS | Latest Start | The latest an activity can begin without delaying the project |
| LF | Latest Finish | The latest an activity can finish without delaying the project |
| TF | Total Float | LS − ES — maximum delay without extending project duration |
| FF | Free Float | min(ES of successors) − EF — delay without affecting any successor |
| IFF | Independent Float | Float available regardless of predecessor/successor scheduling |
PERT vs CPM Comparison
When to use deterministic CPM versus probabilistic PERT scheduling.
| 特徴 | CPM | PERT |
|---|---|---|
| Duration Estimates | Single deterministic value | Three estimates (O, M, P) |
| Best For | Construction, engineering | R&D, software, uncertain projects |
| Risk Analysis | No built-in risk model | Variance and probability calculations |
| Output | Critical path + float values | Critical path + completion probability |
| Complexity | Simpler to use | More data entry, richer insights |
| Time Formula | Duration as entered | te = (O + 4M + P) / 6 |
Worked Examples
Find the Critical Path in a 6-Activity Network
Project has 6 activities: A (3 days, no predecessors), B (5 days, no predecessors), C (4 days, predecessor A), D (2 days, predecessor B), E (6 days, predecessors C and D), F (3 days, predecessor E).
Forward pass: A: ES=0, EF=3 | B: ES=0, EF=5 | C: ES=3, EF=7 | D: ES=5, EF=7 | E: ES=max(7,7)=7, EF=13 | F: ES=13, EF=16
Project duration = max(EF) = 16 days
Backward pass: F: LF=16, LS=13 | E: LF=13, LS=7 | D: LF=7, LS=5 | C: LF=7, LS=3 | B: LF=5, LS=0 | A: LF=3, LS=0
Total Float: A=0, B=0, C=0, D=0, E=0, F=0 — all activities are critical
Both paths A→C→E→F and B→D→E→F have the same duration of 16 days. The project has two critical paths, and all 6 activities are critical.
Calculate Float for Non-Critical Activities
Project: A (4 days, none), B (2 days, none), C (3 days, A), D (5 days, A), E (2 days, B and C), F (4 days, D and E). Find float values.
Forward pass: A: ES=0, EF=4 | B: ES=0, EF=2 | C: ES=4, EF=7 | D: ES=4, EF=9 | E: ES=max(7,2)=7, EF=9 | F: ES=max(9,9)=9, EF=13
Backward pass: F: LF=13, LS=9 | E: LF=9, LS=7 | D: LF=9, LS=4 | C: LF=7, LS=4 | B: LF=7, LS=5 | A: LF=4, LS=0
Total Float: A=0, B=5, C=0, D=0, E=0, F=0
Free Float for B: min(ES of successors) − EF = 7 − 2 = 5 days
Critical path: A → D → F (duration 13 days) and A → C → E → F (also 13 days)
Activity B has 5 days of total float and 5 days of free float — it can be delayed up to 5 days without affecting the project or any successor. All other activities are critical.
How to Use the Critical Path Calculator
Enter Your Activities
Type each project activity into the table. Give every activity a unique name and a numeric duration in your chosen time unit (days, weeks, hours, or months). Start with activities that have no predecessors, then add dependent activities. Use the Add Activity button to insert new rows, or click Load Example to see a pre-filled 7-activity software project.
Define Predecessor Relationships
In the Predecessors column, type the names of all activities that must be completed before each activity can begin. Separate multiple predecessors with commas, for example: Design, Test. Activity names must match exactly (the tool is case-sensitive). Activities with no predecessors should have the Predecessors field left blank — these are the project start activities.
Choose CPM or PERT Mode
Select CPM mode if you have a single deterministic duration for each activity. Switch to PERT mode if you want to model schedule uncertainty using three-point estimates: Optimistic (O), Most Likely (M), and Pessimistic (P). In PERT mode the calculator computes the expected time te = (O + 4M + P) / 6, standard deviation σ = (P − O) / 6, and variance V = σ² for each activity, then sums variance along the critical path for project-level risk analysis.
Read the Results
The Critical Path is shown at the top as a chain of activity names (e.g., Requirements → Design → Backend Dev → Integration → Testing → Deployment). The Gantt chart displays all activities on a shared timeline — critical activities appear in the primary color, non-critical in grey, and float is shown as a dashed extension. The schedule table provides ES, EF, LS, LF, Total Float, and Free Float for every activity. Enable Independent Float via the checkbox in the controls panel for the most conservative float estimate.
よくある質問
What does Total Float (TF) mean and how is it different from Free Float (FF)?
Total Float is the maximum amount of time an activity can be delayed without extending the overall project duration. It is calculated as LS − ES (or equivalently LF − EF). Free Float is more restrictive: it is the maximum delay an activity can absorb without delaying any of its immediate successors. An activity can have large total float but zero free float if it shares that float with downstream activities. For scheduling purposes, Free Float is safer to consume because it guarantees no successor is affected, while consuming Total Float requires coordination across the entire path. Critical activities always have TF = 0 and FF = 0.
Can a project have more than one critical path?
Yes, and it is quite common on complex projects. Multiple critical paths exist when two or more parallel chains of activities each have zero total float and the same total duration from project start to finish. When a project has multiple critical paths, every activity on all of those paths must be managed with equal rigor — a delay on any one of them delays the project finish date. Multiple critical paths also increase schedule risk because there are now several chains that could independently cause overruns. Projects with near-critical paths (very small positive float) require close monitoring even if they are not technically critical.
What is the difference between CPM and PERT?
CPM (Critical Path Method) uses a single deterministic duration for each activity and focuses on identifying the critical path and float values. It was developed for construction and engineering projects where durations are well-known from historical data. PERT (Program Evaluation and Review Technique) was developed for research and development projects with high uncertainty, using three time estimates — Optimistic, Most Likely, and Pessimistic — to compute an expected duration and variance. PERT adds a probabilistic dimension: by summing variances on the critical path you can estimate the standard deviation of the project finish date and calculate the probability of meeting a deadline. Both methods use the same CPM scheduling algorithm; PERT simply adds the three-point estimation layer.
What does Independent Float mean and when should I use it?
Independent Float (IFF) is the most conservative float measure. It is the amount of time an activity can slip assuming all predecessors finish as late as possible (at their LF) and all successors start as early as possible (at their ES). Because it uses the worst-case scenario for both ends, IFF is often zero or negative (clamped to zero). It represents the slack that is truly 'owned' by the activity with no dependency on how surrounding activities are scheduled. Independent Float is most useful when activities are managed by different teams or contractors, and you need to guarantee that an activity can be delayed without any coordination with adjacent teams. Enable it via the 'Show Independent Float' checkbox.
What happens if I enter a circular dependency?
A circular dependency occurs when activity A depends on B, B depends on C, and C depends on A — forming a loop. This is logically impossible in a real project because it would mean no activity can ever start. The calculator detects circular dependencies using a topological sort algorithm (Kahn's algorithm). If the topological sort cannot order all activities — because one or more form a cycle — the calculator displays a circular dependency error and does not produce results. To fix this, review your predecessor assignments and break any cycles. Common causes include accidentally typing the wrong activity name as a predecessor or misunderstanding a dependency direction.
How do I use this calculator to speed up (crash) a project?
Project crashing is the process of reducing a project's duration by adding resources to critical activities at increased cost. To crash a project manually using this calculator: first note which activities are on the critical path (TF = 0). For each critical activity, determine how much it can be shortened (crash duration) and at what cost (crash cost minus normal cost divided by days saved = cost slope). Then reduce the duration of the critical activity with the lowest cost slope by one period, re-run the calculator, and check whether the critical path has changed. Repeat until you reach your target duration or all critical activities are fully crashed. The calculator auto-recalculates on every change, so you can iterate quickly by directly editing the duration of each activity.
Related Tools
Sprint Velocity Calculator
Track agile team velocity in story points per sprint and forecast future sprint capacity and release dates.
サイクルタイム計算機
Calculate manufacturing cycle time and compare against takt time to identify production bottlenecks.
Throughput Calculator
Calculate production throughput rate, capacity utilization, and manufacturing lead time using Little's Law.
Takt Time Calculator
Determine the required production pace to match customer demand based on available working time.
OEE Calculator
Calculate Overall Equipment Effectiveness by combining availability, performance, and quality factors.