Lonnie Bowling

UC Hackathon 2017 - Team PI in the Sky

Blog Post created by Lonnie Bowling Champion on Mar 21, 2017

Team Members:

Rhys Kirk - TGG

Rob Raesemann - Raesemann Enterprises

Yevgeni Nogin - Aperio

Lonnie Bowling - Independent developer

Initial Brainstorming

Use cases:

Air – Fuel – Heat cycle: combustion engine performance

X-Y Plot Air vs. RPM (how much air is used for each revolution) this will create a performance curve

Plot Fuel vs. RPM (how much fuel is used for each revolution) same as air

Plot air/fuel curves for each truck over time to find outliers

Opportunity: this will show overall truck performance and identify what trucks have issues. Ideally we want a truck to operate along this curve always. This is the overall power performance metric

Effective utilization

Look at or create tuck states, such as stopped, running, loading, idle, etc. Perform a calculation for when the truck to being used but not actually traveling, all time that a truck is not moving it is not be fully utilized. This could be waiting in a line, driver taking a break, etc

Distribution of fuel level

Look at fuel level to identify when a truck is being refueled, capture the tank level before refueling. Show all trucks over time for when they are refueled, we want to see a 25% tank level at all times, anything other than that is an opportunity to save money.

Bar Code a truck

When a truck is scanned, we should show all the daily aggerates for most values.

Event Frames for Real time monitoring

Using the new features of Coresight 2017, a person monitors events for all trucks. These events are acknowledged with a note. The person does a root cause analysis and records what action is taken. For example, this could be “took truck out of service for emergency repairs”


Implementation of ideas


Effective Utilization

We implemented Analysis Services Functions to create Boolean PI tags for each truck indicating if truck is running, idle, loaded, loading, unloading, and in maintenance. Geo-fencing of Lat and Long data indicated if truck is in maintenance depot.

Hours per day in each status are calculated:


30 Day rolling average for each truck was also calculated. Additionally Rollup calculations for all trucks provide a fleet-wide trend for comparing individual trucks against. The fleet-wide trends also provide insight into trends in truck usage. Coresight displays provide initial visualization. These analyses would also be useful in a cross-tab report in Excel.



Event Frames for Real-Time Maintenance Monitoring

The initial concept was to use provided maintenance metrics implemented in Analysis Services to trigger Event Frames for each time that data indicated a problem.

The first attempt to implement a metric was to measure the exhaust gas temperature during high engine load and look at the range of values over a 14 day period. If spread was larger than 20degC then maintenance should be scheduled. If spread is over 50, truck should be stopped and inspected immediately.

We initially implemented equations to try to capture this data, however the range of exhaust temperatures was much larger than the metric would require. It would seem that we needed to average the temperature reading during each event where engine load is greater than 95%.

We implemented Event Frames to capture each time that the engine load was greater than 95%. We then average the exhaust gas readings. Again, the measured range of values was larger than we expected, so the data does not appear to be useful for implementing this metric.


Real time portal based on Angular 2 and D3 with Material Design

Can access on any device from a browser. See a live demo at:


  Show’s summary KPIs for current day:


Dashboard also features a trend control that shows fuel scores, this is an overall indication of truck health and performance.



Each truck can be viewed on a detailed KPI dashboard:


Mapping the location of the trucks

We can detect when the trucks are in maintenance, by extracting the location history.


Revolutions Per Liter (RPL) - metric for Engine Performance

Here we plot the relationship of the fuel inflow in liter/hour vs RPM:

We have also made a dashboard scatter plot to detect anomalies in this RPL metric:

By plotting the mean truck value, we can detect deviations from normality:


Finding Patterns

Integrated with Falkonry Pattern Recognition

Native PI Connector to stream millions of events into Falkonry

Ran an unsupervised model

Added Facts based on known patterns

Ran supervised model revisions