The Internet of Things on AWS – Official Blog

Industrial Overall Equipment Effectiveness (OEE) guide with AWS IoT SiteWise


Overall equipment effectiveness (OEE) is the standard for measuring manufacturing productivity. It encompasses three factors: quality, performance, and availability. Therefore, a score of 100% OEE would mean a manufacturing system is producing only good parts, as fast as possible and with no stop time; in other words, a perfectly utilized production line.

OEE provides important insights about how to improve the manufacturing process by identifying losses, enhancing efficiency, and identifying equipment issues through performance and benchmarking. In this blog post, we look at a Baggage Handling System (BHS), which is a system commonly found at airports, that at first glance is not the traditional manufacturing example for using OEE. However, by correctly identifying the elements that contribute to quality, performance, and availability, we can use OEE to monitor the operations of the BHS. We use AWS IoT SiteWise to collect, store, transform, and display OEE calculations as an end-to-end solution.

Use case

In this blog post, we will explore a BHS located at a major airport in the middle east region. The customer needed to monitor the system proactively, by integrating the existing equipment on-site with a solution that could provide the data required for this analysis, as well as the capabilities to stream the data to the cloud for further processing.  It is important to highlight that this project needed a prompt execution, as the success of this implementation dictated multiple deployments on other customer sites.

The customer worked with partner integrator Northbay Solutions (under, and for machine connectivity worked with AWS Partner CloudRail to simplify deployment and accelerate data acquisition, as well as facilitating data ingestion with AWS IoT services.

CloudRail's standard architecture enabling standardized OT/IT connectivity

CloudRail’s standard architecture enabling standardized OT/IT connectivity

Architecture and connectivity

To get the necessary data points for an OEE calculation, Northbay Solutions added additional sensors to the BHS. Similar to industrial environments, the installed hardware at the carousel is required to withstand harsh conditions like dust, water, and physical shocks. As a result, Northbay Solutions utilizes professional industrial grade sensors by IFM Electronics with the respective protection classes (IP67/69K).

The local airport maintenance team mounted the four sensors: two vibration sensors for motor monitoring, one speed sensor for conveyor surveillance, and one photo electric sensor counting the baggage throughput. After the physical hardware was installed, the CloudRail.DMC (Device Management Cloud) was used to provision the sensors and configure the communication to AWS IoT SiteWise on the customer’s AWS account. For more than 12,000 industrial-grade sensors, the solution automatically identifies the respective datapoints and normalizes them automatically to a JSON-format. This easy provisioning and the clear data structure makes it easy for IT personnel to connect industrial assets to AWS IoT. The data then can then be used in services like reporting, condition monitoring, AI/ML, and 3D digital twins.

In addition to the fast connectivity that saves time and money in IoT projects, CloudRail’s fleet management provides feature updates for long-term compatibility and security patches to thousands of gateways.

The BHS solution’s architecture looks as follows:

Architecture Diagram

Sensor data is collected and formatted by CloudRail, which in turn makes it available to AWS IoT SiteWise by using AWS API calls. This integration is simplified by CloudRail and it is configurable through the CloudRail.DMC (Device Management Cloud)  directly (Model and Asset Model for the Carousel need to be created first in AWS IoT SiteWise as we will see in the next section of this blog).  The architecture includes additional components for making the sensor data available to other AWS services through an S3 bucket that stores the raw data for integration with Amazon Lookout for Equipment to perform predictive maintenance, however, it is out of the scope of this blog post. For more information on how to integrate a predictive maintenance solution for a BHS please visit this link.

We will discuss how by having the BHS sensor data in AWS IoT SiteWise, we can define a model, create an asset from it, and monitor all the sensor data arriving to the cloud. Having this data available in AWS IoT SiteWise will allow us to define metrics and data transformation (transforms) that can measure the OEE components: Availability, Performance, and Quality. Finally, we will use AWS IoT SiteWise to create a dashboard showing the productivity of the BHS. This dashboard can provide real time insight on all aspects of our BHS and give useful information for further optimization.

Data model definition

Before sending data to AWS IoT SiteWise, you must create a model and define its properties.  As mentioned earlier, we have four sensors that will be grouped into one model, with the following measurements (data streams from equipment):

Model Properties

In addition to the measurements, we will add a few attributes (static data) to the asset model. The attributes represent different values that we need in the OEE calculations, like maximum temperature of the vibration sensors and accepted values for the speed of the BHS.

Asset Attributes

Calculating OEE

The standard OEE formula is:




Run_time/(Run_time + Down_time)


((Successes + Failures) / Run_Time) / Ideal_Run_Rate


Successes / (Successes + Failures)


Availability * Quality * Performance


  • Run_time (seconds): machine total time running without issues over a specified time interval.
  • Down_time (seconds): machine total stop time, which is the sum of the machine not running due to a planned activity, a fault and/or being idle over a specified time interval.
  • Success: The number of successfully filled units over the specified time interval.
  • Failures: The number of unsuccessfully filled units over the specified time interval.
  • Ideal_Run_Rate: The machine’s performance over the specified time interval as a percentage out of the ideal run rate (in seconds). In our case the ideal run rate is 300 bags/hour. This value depends on the system and should be obtained from the manufacturer or based on field observation performance.

Having these parameters defined, the next step is to identify the elements that construct the OEE formula from the sensor data arriving to AWS IoT SiteWise.


Availability = Run_time/(Run_time + Down_time)

To calculate Run_time and Down_time, you must define machine states and the variables that dictate the current state. In AWS IoT SiteWise, we have transforms, which are mathematical expressions that map a property’s data points from one form to another. Given we have 4 sensors on the BHS, we need to define what measurements (temperature, vibration, etc.) from the sensors we want to include in the calculation, which can become very complex and include 10s or 100s of variables. However, we are defining that the main indicators for a correct operation of the carousel are the temperature and vibration severity coming from the two vibration sensors (in Celsius and m/s^2 respectively) and the speed of the carousel coming from the speed sensor (m/s).

To define what values are acceptable for correct operation we will use attributes from the previously defined Asset Model. Attributes act as a constant that makes the formula easier to read and also allows us to change the values at the asset model level without going to each individual asset to make multiple changes.

Finally, to calculate the availability parameters over a period of time, we add metrics, which allow us to aggregate data from properties of the model.


Quality = Successes / (Successes + Failures)

For OEE Quality we need to define what constitutes a success and a failure. In our case our unit of production is a counted bag, so how do we define when a bag is counted successfully and when not? There can be multiple ways to enhance this quality process with the use of external systems like image recognition just to name one, but to keep things simple let’s use only the measurements and data that are available from the 4 sensors. First, let’s state that the bags are counted by looking at the distance the photo electric sensor is providing. When an object is passing the band, the distance measured is lower than the base distance and hence an object detected. This is a very simple way to calculate the bags passing, but at the same time is prone to multiple conditions that can impact the accuracy of the measurement.

Successes = sum(Bag_Count) – sum(Dubious_Bag_Count)

Failures = sum(Dubious_Bag_Count)

Quality = Successes / (Successes + Failures)

Remember to use the same metric interval across all calculations.


Performance = ((Successes + Failures) / Run_Time) / Ideal_Run_Rate

We already have Successes and Failures from our Quality calculation, as well as Run_Time from Availability. Therefore, we just need to define the Ideal_Run_Rate. As mentioned earlier our system performs ideally at 300 bags/hour, which is equivalent to 0.0833333 bags/second.

To capture this value, we use the attribute Ideal_Run_Rate defined at the asset model level. 

OEE Value:

Having Availability, Quality, and Performance we proceed to define our last metric for OEE.

OEE = Availability * Quality * Performance

Visualizing OEE in AWS IoT SiteWise

Once we have the OEE data incorporated into AWS IoT SiteWise, we can create dashboards via AWS IoT SiteWise portals to provide consistent views of the data, as well as to define the necessary access  for users. Please refer to the AWS documentation for more details.

OEE Dashboard

OEE Dashboard AWS IoT SiteWise


In this blog post, we explored how we can use sensor data from a BHS to extract insightful information from our system, and use this data to get a holistic view of our physical system using the help of the Overall Equipment Effectiveness (OEE) calculation.

Using the CloudRail connectivity solution, we were able to integrate sensors mounted on the BHS within minutes to AWS services like AWS IoT SiteWise. Having this integration in place allows us to store, transform, and visualize the data coming from the sensors of the system and produce dashboards that deliver real time information about the system’s Performance, Availability and Quality.

To learn more about AWS IoT services and Partner solutions please visit this link.

About the Authors

Juan Aristizabal

Juan Aristizabal

Juan Aristizabal is a Solutions Architect at Amazon Web Services. He supports Canada West greenfield customers on their journey to the cloud. He has more than 10 years of experience working with IT transformations for companies, ranging from Data Center technologies, virtualization and cloud.  On his spare time, he enjoys traveling with his family and playing with synthesizers and modular systems.

Syed Rehan

Syed Rehan

Syed Rehan  is a Sr. Global IoT Cybersecurity Specialist at Amazon Web Services (AWS) working within AWS IoT Service team and is based out of London. He is covering global span of customers working with security specialists, developers and decision makers to drive the adoption of AWS IoT services. Syed has in-depth knowledge of cybersecurity, IoT and cloud and works in this role with global customers ranging from start-up to enterprises to enable them to build IoT solutions with the AWS Eco system.