Jump to content

Create and Visualize Statistical Control Limits on My Signals

Morgan Bowling

Recommended Posts

  • Seeq Team


This method will provide a simple visualization of externally determined control limits or help you accurately calculate new control limits for a signal. Using these limits we will also create a boundary and find excursions for how many times and for how long a signal deviates from the limits.These created signals can be used in follow-on analysis search for periods of abnormal system behavior. In this example we will be creating average, +3 Std Deviation and -3 Standard Deviation boundaries on a Temperature Signal. 



In the Data tab, select the following:

Asset → Example → Cooling Tower 1 → Area A      Signal → Temperature


Option 1: Manually Define Simple Control Limits

From the Tools tab, navigate to the Formula tool. The Formula can be used to easily plot simple scalar values. If you already have calculated values for the upper and lower limit just enter them in the formula editor with their units as shown in the screenshot below.


Formula - Simple Upper Limit



Formula - Simple Lower Limit



Option 2: Calculate The Control Limits

From the Tools tab, navigate to the Formula tool. In formula we are going to define the time period over which we want to calculate our control limits as well as the math behind those limits. 

Step 1 - Calculate the upper limit



$Series Temperature Signal


$calcPeriod = capsule("2018-01-01T00:00:00-06:00","2018-05-01T00:00:00-06:00")
$tempAve = $Series.average($calcPeriod)
$tempStdDev = $Series.standardDeviation($calcPeriod)
$tempAve + 3*$tempStdDev

Description of Code 

$calcPeriod → This is the time range over which we are going to calculate the average and standard deviation of our signal. The start and end time of our period must be written in ISO8601 format (Year - Month - Day "T" Hour : Minutes : Seconds . Fractional Seconds -/+ Timezone)

$tempAve → Intermediate variable calculating the average of the temperature signal over our calculation period

$tempStdDev → Intermediate variable calculating the standard deviation of the temperature signal over our calculation period

$tempAve + 3*$tempStdDev  →  Example control limit calculation 


Step 2 - Duplicate your formula to calculate the lower limits

Click the info icon in the details pane next to your calculated upper limit signal. From the info panel select duplicate to create a copy of the formula. With this copy simply edit the formula to calculate the lower limit. 

$calcPeriod = capsule("2018-01-01T00:00:00-06:00","2018-05-01T00:00:00-06:00")
$tempAve = $Series.average($calcPeriod)
$tempStdDev = $Series.standardDeviation($calcPeriod)
$tempAve - 3*$tempStdDev

**Alternate method number three -- if you wanted $calcperiod to actually changed based on the previous month or week of operation you could use signal from condition based off a periodic condition to achieve this solution. 

Step 3 - Visualize Limits as a Boundary

Using the Scorecard Metric to connect the process variable and upper and lower limits. Select Temperature as your item to measure.  Add threshold for your upper and lower limits.  Default is to add a fixed value.  By clicking on the scalar icon to the left of the green "x", you can select a signal as your threshold limit.  You can change the colors of the different threshold or color only the area between the threshold as shown below. 


 Once you click execute, you will see a new scorecard metric with the shaded area between the boundaries and the original signal. 


Step 4 - Create Capsules when Outside the Boundary

Using the Value Search tool, create a condition for when the signal is outside the limit signals. Name your new condition, select temperature as the input signal, select <> not between, click on the scalar icon to select a signal as your limit, and use the upper and lower limit signals as your upper and lower limit, respectively.  



Step 5 - Create a Scorecard to Quantify How Often and How Long Boundary Excursions Occur

Create a Scorecard to count how many and how long and what % of total time these excursions are occurring. Create each metric using the Scorecard Metric tool and the Count, Total Duration and Percent Duration statistics.

Use a Condition Based scorecard to get weekly or monthly metrics. 



Step 6 - Plot how these KPIs are Changing Over Time

By creating a signal which plots these KPIs over time we can quantify how our process variable is changing relative to these limits.

To begin, determine how often you would like to calculate the KPI per Hour/Day/Week/Month and create a condition for those time segments using the Periodic Condition tool. In the screenshot below we are creating a weekly condition with capsules every week.


Using the Signal from Condition Tool count the number of Outside Simple Boundary capsules which occur within each weekly capsule. This same methodology can be used to create signals for total duration and % duration just like in the scorecard section above. For each week the tool will create a single sample. The timestamp placement and interpolation method selections will determine how those samples are placed within the week and visualized on the chart. The scorecard metrics that you created above can also be trended over time by switching from Scorecard View to Trend View.


Content Verified DEC2023







Edited by Chris Harp
Updated to reflect scorecard metrics for building boundaries
  • Like 2
Link to comment
Share on other sites

  • Chris Harp changed the title to Create and Visualize Statistical Control Limits on My Signals

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...