Pivot Example: By Events

In this example, we're going to use a pivot analytic to see how our different shifts and crews are performing.

This will help point out any shifts that are struggling to meet targets.

Available Information

AssetPropertyDesc
FacilityProduction RateThe current rate of production
Event TypesDescription
Outage ScheduleScheduled and unscheduled outage time-frames
Shifts and CrewsIncludes the start time, end time and name of the shift from the roster

Initial Layout

To begin with, we have one Pivot node named Pivot On, and one Pivot Output node named MinMaxAvg

These are both fed by ARDI Point nodes, bringing data in from ARDI asset properties.

Step 1: Choose the Pivot

Our first step is to choose what we are going to pivot on.

In this case, we don't want an ARDI property data - we want an event.

Replace the Point

Step 2: Add Rates

Because we are dealing with people, we need to consider how we can report fairly.

Since our shift lengths can vary, we want to capture totals, but we want to show rates over time. This way, Shift A can be directly compared to Shift B.

Since we're dealing with a rate, we'll need to get rid of our existing MinMaxAvg node, and replace it with something specifically made for dealing with measurements over time.

Remove the Min/Max/Avg

Connect and Scale

Next, we need to connect our rate to our sensors, and set up the time scaling. In this case, the sensor returns a value in tonnes per minute, while the Rate node expects a value in seconds.

Although you could use math nodes to do the work of bringing the value down to seconds, we've provided a shortcut - the Rate node has a seconds option you can set to the the number of seconds the input is scaled in.

Step 3: Ignoring Scheduled Outages

As mentioned before, it's important to be fair when comparing the output of different staff members or groups.

Part of that is not penalising them for things out of their control.

One easy way to do this is to make the analytic ignore any scheduled downtime your system might experience.

Luckily, we have a calendar of scheduled events being read into ARDI. So we can use the In Event node to let us know if there's a scheduled outage.

Add An Ignore Node
Ignore When In An Event

Analytic Complete

And this has given us quick and easy shift and crew reporting, combining your sensor and machine data with your staff and maintenance schedules.

Refining

One way to possibly refine this would be to ignore down-times that aren't the fault of the crews.

Although we've removed scheduled down-time, there's still the chance of outages caused by people other than our crews (for example, there might be a blackout or problem with conveyors).

We can introduce extra logic (along with some AND nodes) to our Ignore to make sure that our crews are only considered responsible for the time they potentially could have been producing.