Home Pricing Downloads Articles Blog FAQ Contact
Back to Blog

How to Run the Schedule Analyzer

How to Run the Schedule Analyzer

The Schedule Analyzer runs 19 checks against an open schedule and reports each one as a pass or a fail against a configurable limit. It is on the Tools tab, under Schedule Analyzer.

Tools tab of the XER Reader ribbon showing Querying, Settings, Column Setting, Manage Baseline and Schedule Analyzer
Schedule Analyzer sits on the Tools tab alongside Querying, Settings, Column Setting and Manage Baseline.

The analysis starts on its own

Clicking Schedule Analyzer opens a full window view titled Schedule Health Assessment and immediately runs the analysis against every project in the file. There is no separate step to start it the first time.

Schedule Health Assessment view in XER Reader showing an overall score of 58 percent, project meta panel and the first eleven metric cards
The result. Overall Score on the left, one card per check on the right.

Reading the left panel

EntryMeaning
Overall ScoreThe percentage of checks that passed. Green at 90 and above, amber from 70, red below 70
ProjectThe project name the figures relate to
Data DateThe project data date the checks are measured against
ActivitiesTotal activity count
CompletedActivities already finished
PassedChecks passed out of checks run

Overall Score is a count, not a weighting. It is passed checks divided by checks run. A schedule failing four minor checks scores the same as one failing four severe checks, so read the cards rather than stopping at the number.

Reading a metric card

Every check draws the same card: a numbered badge, the check name, what it looks for, the measured value, the count it came from, the limit, and a pass or fail badge on the right.

ElementMeaning
ValueThe measured result, as a percentage or as a ratio
Count / totalThe offending items over the population the check divided by
limitThe configured threshold the value is compared against
minUsed instead of limit on the ratio checks, where the value must reach the figure rather than stay under it
Green tickPass
Red crossFail

Relationship Types is the check that reads backwards. It is higher is better: the card shows the percentage of Finish to Start relationships and a limit of 95 percent, and it fails when the value is below that figure. Every other percentage check fails when the value is above its limit. CPLI and BEI work the same way and are labelled min rather than limit.

The 19 checks

#CheckWhat it counts
1Missing LogicIncomplete activities missing a predecessor or successor, excluding the project start
2LeadsFinish to Start links with negative lag
3LagsRelationships with positive lag
4Long LagsRelationships with lag above the configured day count
5Relationship TypesFinish to Start relationships, as a share of all of them. Higher is better
6Hard ConstraintsActivities with Must Start On, Must Finish On, Mandatory Start or Mandatory Finish
7Soft ConstraintsActivities with a constraint that limits dates without fixing them
8High FloatIncomplete activities with total float above the configured day count
9Negative FloatIncomplete activities with total float below zero
10High DurationIncomplete non milestone activities with remaining duration above the configured day count
11Invalid Progress BeforeIncomplete activities whose remaining work starts before the data date
12Invalid Progress AfterActivities with actual dates after the data date
13ResourcesNon milestone activities with no resource assignment
14Late ActivitiesActive activities whose early finish is later than baseline finish
15CPLICritical Path Length Index, a ratio. Higher is better
16BEIBaseline Execution Index, a ratio. Higher is better
17Dangling Start ActivitiesActivities with predecessors but no FS or SS link driving their start
18Dangling Finish ActivitiesActivities with successors but no FS or FF link driven by their finish
19Out of SequenceActivities progressed before the predecessor reached the state its relationship requires

Checks 6 to 10 exclude Level of Effort and WBS summary rows, and 10 and 13 also exclude milestones. That is why the count / total denominator differs between cards on the same schedule. A denominator that looks wrong is usually one of these exclusions rather than a fault.

What the checks measure against

DenominatorUsed by
Incomplete relationshipsLeads, Lags, Long Lags, Relationship Types
Incomplete activitiesMissing Logic, Hard and Soft Constraints, High Float, Negative Float
Incomplete non milestone activitiesHigh Duration, Late Activities
All non milestone activitiesResources
All activitiesDangling Start, Dangling Finish, Out of Sequence

BEI divides completed non milestone activities by the activities the assigned Project Baseline says should have finished by the data date. With no baseline assigned the denominator becomes all non milestone activities, which makes the figure look far worse than the schedule deserves.

BEI and Late Activities both need a baseline. Assign one under Manage Baseline on the same Tools tab before reading either. Without one, BEI is measured against every non milestone activity in the project.

The charts

Below the cards, seven charts break the same data down by distribution rather than by pass and fail.

Charts section of the Schedule Health Assessment in XER Reader showing Relationship Types, Activity Status, Criticality, Open Ends, Total Float, Remaining Duration and Schedule Density
The charts sit at the bottom of the metric list and cover the same population as the cards above them.
ChartBreakdown
Relationship TypesFS, SS, FF and SF counts, with the FS share in the centre
Activity StatusNot Started, In Progress and Complete
CriticalityCritical, Near critical and Non critical
Open EndsOpen Start, Open Finish and Linked
Total FloatNeg, 0, 1 to 5d, 6 to 20d, 21 to 44d and above 44d
Remaining Duration0 to 5d, 6 to 20d, 21 to 44d, 45 to 90d and above 90d
Schedule DensityActivity count per month, annotated with the peak

Total Float is the chart to read alongside the High Float card. The card gives one percentage; the chart shows whether the float is spread across the schedule or piled into a single bucket above 44 days, which points at a specific missing link rather than a general logic problem.

What each check means and how it is worked out

The KPI Info button in the title bar opens a reference covering every check, each with a What it tells line and a How calculated line stating the exact numerator and denominator.

KPI Info dialog in XER Reader listing each schedule check with What it tells and How calculated explanations
KPI Info states the calculation behind every check, which is what to quote when a result is challenged.

The title bar buttons

ButtonEffect
RunRe runs the analysis. Disabled while a run is in progress
Export PDFWrites the full assessment report. Disabled until an analysis has completed
ParametersOpens the threshold settings
KPI InfoOpens the reference described above
CloseReturns to the activity view

The buttons carry no captions. Hover one to see its name.

Changing the thresholds

Parameters opens Maximum % Allowed (lower = stricter), one row per check.

Parameters dialog in XER Reader showing the maximum percentage allowed for each schedule check with Reset Defaults, Close and Save
Every check has its own limit. Long Lags, High Float and High Duration take a day count as well as a percentage.
Row typeFields
SingleOne percentage limit
Long Lags, High Float, High DurationA day count and a percentage. The day count defines what counts as long, high or excessive; the percentage is how many of those the schedule may contain
11/12Invalid Progress Before and Invalid Progress After share one limit
CPLI, BEIA minimum rather than a maximum
DefaultValue
Most percentage limits5%
Negative Float, Invalid Progress, Late Activities, Dangling Start, Dangling Finish0%
Out of Sequence2%
Long lag, high float and high duration day counts44 days
CPLI and BEI minimum0.95

Saving parameters does not re run the analysis. The cards keep showing the result from the previous run against the previous limits. Press Run after Save or the score you are reading is not the one your new thresholds produce.

Reset Defaults restores the supplied thresholds. Close leaves without saving.

Analysing one project out of several

When the file holds more than one project, a project selector appears in the title bar to the left of Run. It is a checklist, not a single choice: tick the projects to include and the button label reports the selection as All Projects, a project name, or a count.

On a file with a single project the selector is hidden, because there is nothing to choose. Every project is ticked when the view opens, so the first run always covers the whole file.

Unticking the last remaining project is refused. The analyzer keeps at least one project selected, so you cannot arrive at an empty run.

The PDF report holds more than the screen

Export PDF writes a report named ScheduleAssessment.pdf by default, in these sections.

SectionContent
Executive SummaryScore and headline figures
Schedule Logic QualityThe logic checks grouped together
Detailed MetricsEvery check with its value, limit and status
ChartsThe same seven charts
RecommendationsThe failing checks only, ordered by severity, each with the corrective action
Check MethodologyThe calculation behind each check
Analysis ParametersThe thresholds the run used
Activity DetailsThe activities that failed each check, listed by ID

Activity Details is the reason to export. The on screen cards give you a count; the report names the activities behind it, plus separate tables for out of sequence progress and external cross project links. Each table stops at 200 rows, and a heading ending in a plus sign means the check found more than were printed.

Recommendation severity is worked out from how far the value sits from its limit: at or beyond twice the limit, or below 80 percent of the minimum on the higher is better checks, a failure is ranked above the rest and printed first.

Requirements

Requires an open schedule with data and a signed in account. Clicking Schedule Analyzer while signed out opens the sign in dialog instead.