The Partial Day Effect

Finding and eliminating “Partial Days” is an important part of a Scheduler’s QA/QC routine.

A deeper look into the Partial Day Effect

Since most CPM scheduling performed in the construction industry measures time to the nearest day, calculating overall project durations by summing tasks containing units of measure less than a whole day should be strictly avoided. Keep in mind that schedulers are not timekeepers and they should resist the temptation to calculate the overall project time using durations more precise that a whole day. Furthermore, since schedulers typically record actual dates to the nearest day, it doesn’t make sense to calculate future dates to anything more precise than whole days.

The “Partial Day” (or Fractional Day) Effect is defined as:

  1. Tasks that do not start at the beginning of the day.
  2. Tasks that do not finish at the end of the day.
  3. Tasks that have non-integer day value for their Original or Remaining Duration.
  4. Tasks that have non-integer day value for their Total Float or Free Float.
  5. Lags that have non-integer day values.

The Partial Day Effect manifests itself when upon browsing the calculated dates in a CPM schedule; you or someone else notice activities are starting on the same day as its predecessor’s finish date. This can cause confusion especially with experienced CPM users who are accustomed to seeing predecessor finish dates completing on the day before (or just before) the successor’s start date.

In Figure 1 below, the User Preferences Time option is set to “Do not show time”. Note that the Early Finish date for Activity “A1040 – Activity C1” is 09-Jun-16 which is the same date for the Early Start of its successor, Activity “A1050 – Activity F”. In addition, Activity “A1060 – Activity C2” has the same Original and Remaining Duration as Activity C1 yet is not on the Critical Path. Furthermore, the layout is grouped by Total Float; however there are 2 separate groups for the same Total Float value of 0. How can this be?

Figure 1

In Figure 2 below, the User Preferences Time option is now set to “24 hour (13:30)” Under these settings, the Partial Day Effect is revealed by observing the Datetime format of Start and Finish dates.

Figure 2

The Partial Day Effect in this situation was caused due to how each activity was statused.

  1. A1020 was updated by assigning a Duration Percent Complete of 35%.
  2. A1060 was updated by assigning a Remaining Duration (RD) of 16 days.

P6 calculates the RD for A1020 as 25*(1-.35) or 16.25 Days. The .25 remainder (or 2 hours) is reflected in the Finish date as 09-Jun-16 10:00 (10AM). Meanwhile, A1060 displays the same RD as A1020; however, the Finish date is reflected as 08-Jun-16 at 17:00 (5PM). Furthermore, A1060 is not on the Critical Path even though the Total Float (TF) value is displayed as 0 (the Duration Format Decimal value for the Day Unit of Time is set to 0).

The Partial Day Effect is also caused by how P6 stores dates and durations. In the typical P6 Duration fields such as Original Duration and Remaining Duration the default entry mode is to display durations in days. However, the actual duration value stored in the P6 database is in Hours. In the Figure 3 below, the activities in Figures 1 and 2 are shown with their native field names and values for their Original Duration (Target_drtn_hr_cnt); Remaining Duration (Remain_drtn_hr_cnt); Total Float (Total_float_hr_cnt);  and Free Float (Free_flt_drtn_hr_cnt).

Figure 3

The conversion occurs as a result of the Calendar setting value entered under the Hours/Day textbox in the Hours per Time Period window as shown in Figure 4 below.

Figure 4

Since the Work-Hours per day entry is “8” in Hours/Day, P6 automatically performs the “on-the-fly” mathematical conversion as values are entered. Therefore, for Activity 1020, the Original Duration entry of 40 is natively stored as 40*8 or 320 in the Task table’s “Target_drtn_hr_cnt” field. Similarly, the Remaining Duration, calculated as 35% Complete, is stored as 25*(1-.35)*8 or 130 in the Task table’s “Remain_drtn_hr_cnt” field.

Storing data in hours, instead of days often causes the Partial Day Effect when “mixed” calendars are used.

Mixing Calendars in a CPM Network

Typically, schedulers define their calendars to model whole days consistent with typical construction work environments in their area. For example, a typical calendar structure consists of a work-day that starts at 8:00AM, breaks for lunch from 12 Noon to 1:00PM and ends at 5:00PM for a total work-day of 8 Hours/Day. Based on these parameters, a typical P6 5-Day Work-Week Global or Project Calendar would have the following configuration in Figure 5 below.

Figure 5

6-Day Work-Week and 7-Day Work-Week would follow the same configuration but with the added additional Nonwork days accordingly.

Often, this convention above is violated when for example; a 24 Hour Calendar is used for concrete curing activities or some other type of “round-the-clock” activity. For this reason, I strongly discourage the use of 24-Hour calendar under any circumstance. For these types of activities, a 7-Day Work Week Calendar based on an 8 Hour per day and no holidays is the best option and works just as well. Many articles “for instructional purposes” use a 24-Hour Calendar that is assigned to a concrete curing activity or other “round-the-clock” activity. This option should be avoided in real-time construction activities since it is problematic and is often the root cause of Partial Days.

In the Figure 6 below, two “7-Day Cure” activities are used between a concrete pour activity and a concrete form activity. Activity ST8420 is assigned to a 7-Day Calendar using an 8 Hour per day format. Activity ST78430 is assigned to a 7-Day Calendar using a 24 Hour per day format. Activity ST68920 and ST68180 are both assigned to a 5-Day “Field” Work-Day Calendar using an 8 Hour per day format. The activities below are grouped by Total Float value. Upon calculating the schedule, both Cure activities finish on the same day, however, they both calculate a different Total Float value.

The activity on the 7-Day/8Hr calendar correctly calculates the starting and finish date while the activity on the 7-Day/24Hr calendar starts on the same day as the Pour Footing activity (18-Oct-19). Also, the overall duration is shown as 7 Days but based on the displayed Start and Finish date equates to 8 Days.

In addition, there is an apparent discrepancy in the Free Float values. Since 25-Oct-19 falls on a Friday, the Cure activity on the 7-Day/8Hr Calendar correctly calculates the Free Float as 2 Days since the successor, Activity ST6810 start on Monday, 28-Oct-19. The Free Float on the 7-Day/24Hr Calendar incorrectly calculates the Free Float as 3 Days as shown below in Figure 6.

Figure 6

When the Time option is set to 24 Hours, the following values appear in Figure 7 below.

Figure 7

Note that the 24 Hour time setting reveals additional information to clear up the confusion. Note that the start time for Activity ST84730 is 17:00 (5:00PM). Since this activity is on a 24 Hour calendar, it starts immediately after its predecessor’s finish date. Activity ST78420 and ST87430 both correctly finish at the same time.

When the Duration value option is changed to 2 decimal places, the Original Duration, Remaining Duration, Total Float and Free Float reveal the actual calculated Duration values in Figure 8 below.

Figure 8

Note that the Total Float and Free Float values for Activity ST78430 are displayed as 2.63. This calculation is derived from the difference between the Late Finish and Early Finish.  Since the Late Finish is 28-Oct-19 at 08:00 and the Early Finish is 25-Oct-19 at 17:00, the difference is 63 Hours/24 Hours per Day or 2.63 Days (rounded to the nearest hundredth) as a direct result of using a 7-Day/24Hr Calendar.

Since calculating Project durations to the nearest whole day is preferred, the use of a 7-Day/24Hr Calendar is a root cause of the Partial Day Effect and therefore should be avoided. The Duration values compound when successor activities are later in the CPM network. This is because Total Float values are calculated based on the activity’s assigned Calendar.

Generating Partial Day Durations

There are many ways to generate Partial Day durations. Of these include:

  1. Entering a Percent Complete value for an activity assigned with “Duration Percent Complete”. For example, if an activity has an Original Duration of 3 days and a Duration Percent Complete is assigned 50%, then the activity will start at 8:00AM then having 1.5 Days remaining will complete at Noon on the second Day.
  2. Not assigning a whole Day value to a Remaining Duration. For example, if 1.5 Days is assigned as the Remaining Duration, then the Finish Date will complete at Noon.
  3. An activity has a Calendar assignment that is not consistent with a typical hour per day format.
  4. Assigning non-standard Calendars then using lags between activities with mixed format calendars.

However Partial Days are generated, they usually have a cascading effect through the CPM network that can make resolving this issue a difficult and painful task. Suppose for example, the first activity of a long CPM network path completes at 2:00PM. Then its next driving successor activity will start at 2:00PM on the same day and end at 2:00PM on its last day. This behavior will continue to cascade throughout the CPM network until there are no driving successors.

Determining if your CPM network contains Partial Days is easy! Simply;

  1. Go to the User Settings and select the option to turn on time as shown in Figure 9 below.
  2. Then, set Durations to display values to either 1 or 2 Decimal places shown in Figure 10 above.
Figure 9
Figure 10

Once this is done, you can browse the activities Start and Finish Dates to detect activities not starting at 8:00AM or not ending at 17:00PM.

Zümmer Analysis Reports

Zümmer contains the following reports to help resolve Partial Days (See also Figure 11 below):

  1. Analysis Report #26 – “Activities with Partial Day Durations”
  2. Analysis Report #27 – “Relationships with Partial  Lag”
  3. Analysis Report – “Not Completed Tasks with Partial Original or Remaining Durations”
  4. Analysis Report – “In-Progress Tasks with Partial Remaining Duration”
Figure 11

Zümmer Analysis Report #26 – “Activities with Partial Day Durations” (Figure 12 below) is a comprehensive report listing any activity containing a Partial duration in the Original Duration, Remaining Duration, Free Float or Total Float values. The report sorts by Activity ID and lists the Activity Status, Activity ID, Activity Name, Partial Original Duration, Partial Remaining Duration, Partial Total Float and Partial Free Float values.

Figure 12

Zümmer Analysis Report #27 – “Relationships with Partial Lag” (Figure 13 below) is a comprehensive report listing any Partial Lags.

Partial lags have a most insidious impact towards generating Partial Days. Changing the predecessor or successor activity to a standard Calendar does not necessarily guarantee that the lag will change in kind. Even in a moderately sized CPM network, finding these offending lags are very difficult using P6 alone.

Figure 13

Zümmer Analysis Report – “Not Completed Tasks with Partial Original or Remaining Durations” (Figure 14 below) is a subset of Analysis Report #26 displayed above.

Figure 14

Not Completed Tasks with partial Original or Remaining durations have a higher priority with regards to resolving Partial Days because they tend to produce a cascading effect to successor activities starting or ending in the middle of the day. Once these activities are normalized, i.e. adjusted to containing whole day values, successor activities in general will ‘fall in line’ starting at the beginning of the day and ending at the end of the day.

Zümmer Analysis Report – “In Progress Activities with Partial Durations” (Figure 15 below) is a subset of Analysis Report #26 displayed above.

Figure 15

In-progress tasks with partial Remaining Durations also have a higher priority with regards to resolving because they tend to produce a cascading effect to successor activities starting or ending in the middle of the day. Once these activities are normalized, i.e. adjusted to containing whole day values, successor activities in general will ‘fall in line’ starting at the beginning of the day and ending at the end of the day.

Conclusion

A few tips to avoid Partial Days in the first place:

  1. When performing a schedule update, turn on time to ensure calculated results start at 8:00AM and end at 5:00PM (or at your typical Start and Finish times).
  2. When performing a schedule update, set the Duration decimal to 1 (or 2) to view duration values in tenths.
  3. When declaring the Data Date, always set time on and set the Data Date time to include your typical Start time.
  4. When assigning start constraints, turn on time and set the constraint to include your typical Start time.
  5. When assigning finish constraints, turn on time and set the constraint to include your typical Finish time.
  6. When setting “Must Finish By” constraints for the Project, turn on time and set the date to include your typical Finish time.
  7. Use consistent “Hours per Day” configured Calendars especially when a lag value is assigned.
  8. Update in-progress activities based on Remaining Duration in whole days or;
  9. Update in-progress activities based on a completion date to include your typical Finish time.
  10. For consistency, when actualizing start dates, save Actual Start dates to include your typical Start time.
  11. For consistency, when actualizing finish dates, save Actual Finish dates to include your typical Finish time.
  12. If someone asks you to do an analysis or ‘What-if’ the work is accelerated from an 8 Hour day to a 10 Hour day, suggest doing the analysis on a 6 Day Work-Week instead of a 5 Day Work-Week. The difference in calculations is between a 50 Hour week and a 48 Hour week which for scheduling purposed should be acceptable.

Keeping a neat, tidy and “wholesome” CPM network with no Partial Days is an important part of a Scheduler’s QA/QC routine.

Copyright ©2019 FoxQuest Systems, Inc. – All Rights Reserved