Please enable JavaScript to view this site.

 

 

If a factory and shift calendar is provided, the process times can be displayed as "net process times" in the front end. With a button, the whole application can be switched from gross to net process times and back.

 

Gross process time is the interval between two timestamps by just calculating their delta while the net process time is the delta between two timestamps expressed in working-hours only. Breaks, holidays, weekends or shift-ends are subtracted. The MPM Template App provides a factory and shift calendar template for easy re-use. The steps are explained below. Of course, the template can be replaced by a custom calendar, provided, that the format of the custom calendar is adapted as explained in step 5.

 

Please note, that every time-related measure is provided as gross and net time if the factory and shift calendar is used, except for the ProcessStepDuration: This time-measure is not converted to net, because times outside of the shifts cannot be calculated. Therefore, if overtime would have worked, it would not be recorded. Instead NetProcessStepDuration is set to ProcessStepDuration and an overtime flag is calculated, which shows whether this process time has been worked outside of the shifts, i.e. in overtime. It is assumed that the process step times are recorded in such a way that the process time counts as net time (i.e. breaks, shift ends are booked out). Should this not be the case, the total net process time may be a bit too high.

 

When using the factory and shift calendar a new PPI AVG/Med Worksdays becomes available. This PPI counts the workdays where the case was open, which gives a more accurate measure on the net work days than the net-days shown by the PPI AVG/Med Lead Time:

 

AVG Workdays PPI

 

To provide a factory and shift calendar, perform the following steps:

 

1.Go to the tab 2B. Factory and Shift Calendar in front of tab 3. Initiate Mining Algorithms.

2.Adjust process step duration settings.

Choose if you like to calculate the net process step duration by setting  mvCalculateNetProcessStepDuration to "1" or not by setting it to "0". The default is "0".. Have in mind that if work was done outside of a shift, the process step duration is reduced, altough work was done. This might give the impression, that work was done faster than it was in reality. Of course, you can always see, if the overtimeflag is "1", thus, you always have an indicator for extra hours - in this case the delta of the netProcessStepDuration and the ProcessStepDuration is the extra time worked.

 

Let mvCalculateNetProcessStepDuration = 0;

 

3.Choose if the event calender is calculated.

Choose if you like to calculate the event calender (1) or not (0). Have in mind: if the calender is calculated, the script performance will be slower. The event Calendar is needed for displaying in which shift an event took place, but this is not the case in most process mining projects. Therefore, the default is 0.

 

Let mvCalculateEventCalender = 0;

 

4.Define the weekends

Set here the days you consider as weekend. Be aware that the abbreviation has to be the same as in the shiftTimes-table below and in the varibale DayNames on the init tab. The default is english.

 

Set mvWeekEndDays = 'Sat','Sun';

 

To change to German do the following  - and of course change the DayNames-variable on the Init-tab:

 

Set mvWeekEndDays = 'Sa','So';

 

5.Adjust holiday settings.

If you like to eliminate holidays from the process times, set the variable mvEliminateHolidays to 1.

 

Let mvEliminateHolidays = 1;

 

If you would like to ingore holidays, set  the variable mvEliminateHolidays to 0.

 

Let mvEliminateHolidays = 0;

 

 

6.Choose a holiday calendar.

a)For German holidays: Decide between the 16 German regions or German national holidays only.

Change the values in the variable mvHolidayCalender to the required region. The following values can be set (multiple values can be used, separated by comma):

Bundesweit, Sachsen, Sachsen-Anhalt, Brandenburg,Thüringen, Rheinland-Pfalz, Saarland, Nordrhein-Westfalen, Niedersachsen, Mecklenburg-Vorpommern, Schleswig-Holstein, Hamburg, Bremen, Bayern, Baden-Württemberg, Berlin

 

Warning

Please do not change the format of the variable mvHolidayCalender. Each value needs to be put between chr(39)&' and '&chr(39), you can list various values comma-separated.

 

 

Let mvHolidayCalender = chr(39) & 'Bundesweit' & chr(39) & 'Baden-Württemberg' & chr(39);

 

 

b)If you would like to use another holiday calender than the template, refer to the calender-file by the variable mvHoldidayCalenderFile.

 

Warning

Please provide the same data-file format with respect to column names and data preparation as you find in the .csv-file "HolidayCalendar_Germany".

 

Let mvHolidayCalenderFile = '$(LangAndMasterItemsConnection)/HolidayCalendar_Germany.csv';

 

 

7.Optional: If you do not use the MPM Template Factory and Shift Calendar, change the calendar-table name.

Provide the calendar as resident-table before calling the mining algorithms in step three.

Change the calendars name in the variable mvFactoryShiftCalender. (Default is 'MPMTemplateAppFactoryAndShiftCalender'.)

 

Let mvFactoryShiftCalender = 'MPMTemplateAppFactoryAndShiftCalender';

 

A calendar to calculate the net process times needs to provide the following information:

 

field 1:

%DateKey

field 4:

holiday (1 to mark holidays and 0 to mark non-holidays)

field 5:

isWorkday (1 to mark workdays and 0 to mark off-workdays; please note: set weekends to 1 if work was done these days)

field 6 to X:

shiftStart_1, ... to shiftStart_n (provide one column for each shift that contains the shift START time in hh:mm-format)

field X to 2X-6:

shiftEnd_1, ... to shiftEnd_n (provide one column for each shift that contains the shift END time in hh:mm-format)

 

8.If the MPM Template App Factory and Shift Calendar is used, define the shifts. If you use a custom factory and shift calender then go to step 5.

Several shifts per day can be created by copying the line with the weekday from the inline table and increasing the shift ID in the column "shift".

 

Warning

Attention: Start and end times may not overlap for shifts on one day.

 

Examples:

If you work around the clock, enter shift "1" and enter "00:00" to "23:59" in startTime. See Tuesday in the table below.

If, for example, two shifts are worked, startTime and endTime are maintained for one line with shift = 1 and one line with shift = 2 for each weekday. There may be breaks between shifts. See Wednesday or Thursday in the example below.

If a shift extends beyond midnight, the shift must be split into two shifts: Day 1 from shift start to midnight and day 2 from midnight to shift end. See Friday second shift to Saturyday first shift.

 

ShiftTimes:

load * inline [weekday_Event, shift, startTime, endTime

Mon,

1,

08:30,

14:30

Tue,

1,

00:00,

23:59

Wed,

1,

08:30

13:30

Wed,

2,

14:30,

18:30

Thu,

1,

08:30,

13:30

Thu,

2,

14:30,

18:30

Fri,

1,

08:30,

13:30

Fri,

2,

14:30,

23:59

Sat,

1,

00:00,

02:30

];

 

 

 

 

 

Warning

Please be aware that the abbreviations depend on the app settings in the 0.Init tab. Therefore, the days in the factory and shift calendar must be changed if you change the shortcuts of the "DayNames" in the 0.Init tab to another language than English (i.e. mon., tue. will be replaced with mo., di. in German). Otherwise, the calendar will not work.

 

 

Tutorial

 

Start the video below to see a short tutorial about how to use the sheet.

 

© by MEHRWERK GmbH