GPM® Methodology

Rapid, collaborative, and informed
project planning.

A revolutionary scheduling algorithm

Seeing is Planning®

The Graphical Path Method™ is an alternative to CPM that promotes rapid, collaborative, and informed project planning. GPM® allows schedules to be created more intuitively and introduces innovative concepts that improve schedule optimization and analysis.

What makes GPM unique?

Image: a network being updated as an activity is moved.

Highlighted in blue: durations, link gaps, and total floats.

Real-time Calculations

When an activity is moved within a network, its relational logic is subject to breaking down. GPM® heals these relationships by propagating the change throughout the network in real-time. This automatic correction is known as ‘self-healing’ and the result is dynamic preservation of logic. And since GPM®doesn’t rely on a database-driven scheduling engine – dates, durations, float attributes, the critical path, and resource profiles all continuously refresh as the network is modified. These real-time calculations provide invaluable information as schedules are built.


GPM® omits the early start bias inherent with CPM, permitting activities to be placed anywhere within their total float range, without constraining float. This is achieved with the introduction of Drift: the number of time units an activity can gain before advancing the start of the project. In a GPM® network, Drift plus GPM® Float is equivalent to CPM total float. With the ability to draw and stretch activities in either direction, planned dates allow projects to be planned forward or backward, allowing schedules to be built more naturally and with more flexibility than CPM.

Image: Ext. Mason Walls shown in between early dates and late dates

without a constraint. Highlighted in blue: link gaps, total floats, & drift and float.

Image: Joists & Desk completed with 1 day of forensic float.

Highlighted in blue: link gaps, total floats, & forensic total float.

Forensic Float

In CPM, the ability to calculate floats is lost when actual dates are entered. Not only does GPM® retain this ability, but it’s inherent to the GPM® algorithm. Once activities are actually completed, the meaning of float is interpreted as hypothetical: how much could an activity have been delayed? In GPM®, this value is referred to as forensic float, and it continues to refresh even as schedule progress updates to the right of the data date. This can be particularly useful when analyzing a schedule for delays after the project has started or finished.

Compare Scheduling Methods

  • -
    • $ 100 Monthly
      • Diagramming Method
      • Activity Placement
      • Link Leeway Calculation
      • Activity Early Dates
      • Activity Late Dates
      • Activity Free Float
      • Can Activity Float Forward?
      • Can Activity Float Back?
      • Floating by Delaying Start
      • Float Governing Technique
      • Total Floats Left of Data Date
      • Software Data Structure
      • Scheduling Algorithm
      • Software User Interface

  • Critical Path Method
    • $ 100 Monthly
      • Precedence Diagramming Method
      • CPM Early Dates
      • None
      • Calculated from Forward Pass
      • Calculated from Backward Pass
      • CPM Free Float
      • If Activity Total Float is > Zero
      • No, Activity Drift Does Not Exist
      • Reduces Total Float
      • Through Mandatory Constraints
      • Cannot be Determined (Always = Zero)
      • Database
      • CPM Block Scheduling Algorithm
      • Batch (Multiple Engines)

  • Graphical Path Method™
    • $ 100 Monthly
      • Logic Diagramming Method
      • Early, Late, or Planned Dates
      • Gap
      • Current Dates Less Drift
      • Current Dates Plus Float
      • GPM® Buffer and Drift-Buffer
      • If Activity Float is > Zero
      • If Activity Drift is > Zero
      • Does Not Reduce Total Float
      • Benchmarks as Fixed Events
      • Recalculated if Schedule Changes
      • Objectbase
      • Step-wise Algorithm
      • Interactive, Real-time

This comparison table is an excerpt from CPM to GPM: Easing the Transition

[CDATA[ var anchors = document.getElementsByTagName("a"); for (var i=0; i
[CDATA[ var anchors = document.getElementsByTagName("a"); for (var i=0; i<anchors.length; i++) { var anchor = anchors[i]