SPC Chart PRO
SPC Chart PRO extends SPC Chart with attribute control charts, automatic Nelson run rule detection, point exclusion, staged control limits, selectable control limit estimation (sigma method, unbiasing constant, historical parameters), time-weighted CUSUM and EWMA charts for early small-shift detection, I-MR-R/S between/within charts, and short-run DNOM and Z-MR charts — the tools needed to run a complete control-charting workflow inside Grafana.

Table of Contents
- Built on SPC Chart
- Features
- Requirements
- Getting Started
- Nelson Run Rules
- Attribute Charts
- Per-chart pages: p · np · c · u · Laney p′ · Laney u′
- Chart Types
- Sample Size
- Variable Control Limits
- Control Limit Formulas
- Choosing the Right Chart
- Control Limit Estimation
- Point Exclusion
- Staged Control Limits
- CUSUM Chart
- EWMA Chart
- I-MR-R/S Chart
- DNOM Chart
- Z-MR Chart
- Notes and Assumptions
- Part of the KensoBI SPC Suite
- Getting Help
- License
Built on SPC Chart
SPC Chart PRO is a superset of the free SPC Chart panel. Chart types, control lines, the statistics table, CSV export, annotations, and graph styling all work exactly as documented there. This page covers only what PRO adds.
If you are new to control charts, start with the SPC Chart documentation.
Features
| Feature | Description |
|---|---|
| Nelson run rules 1–8 | Automatic detection of the eight standard out-of-control patterns |
| Violation markers | Rings the points that fired a rule, colored by severity |
| Attribute charts | p, np, c, u, and Laney p′/u′ charts for count-based data |
| Variable control limits | Stepped limits that follow the subgroup sample size |
| CUSUM chart | Cumulative-sum chart with upper and lower sums for catching small, sustained shifts early |
| EWMA chart | Exponentially weighted moving average for catching small, sustained shifts early |
| I-MR-R/S chart | Between/within control charts for subgrouped data with batch-to-batch variation |
| DNOM chart | Short-run chart that plots many parts on one chart as deviations from nominal |
| Z-MR chart | Short-run chart that standardizes each part, for parts with unequal variation |
| Point exclusion | Omit individual points from calculations while keeping them on the chart |
| Staged control limits | Split the chart at process changes and recompute limits per stage |
| Sigma estimation methods | Rbar, Sbar, pooled standard deviation, average and median moving range |
| Historical parameters | Enter a known process mean µ and standard deviation σ instead of estimating them |
| Tooltip enrichment | Hovering a flagged point lists every rule it violated |
| Violation CSV export | A Run Rule Violations section in the panel's CSV export |
Requirements
- Grafana 11.6.10 or later
- A valid SPC Chart PRO commercial license
Getting Started
- Install SPC Chart PRO and add a panel using it as the visualization type.
- Configure a data source query and select a Chart Type in the SPC section.
- Open the Run rules section of the panel editor and enable the rules you want to monitor.
- Optionally open Control limits to choose how the limits are estimated, or to enter a known process mean and σ.
Run rules, point exclusion, stages, and the estimation options all require control limits, so they are only active when the Chart Type is set to something other than None.
Nelson Run Rules
The Nelson rules are eight standard tests for detecting non-random (special-cause) patterns in a control chart. Each rule looks for a specific pattern relative to the center line and the sigma zones. When a pattern completes, the point that completes it is flagged as a violation.
Rule Reference
| # | Rule | Indicates | Severity | Default |
|---|---|---|---|---|
| 1 | One point beyond 3σ from the center line | A point outside the control limits | Critical | On |
| 2 | Nine points in a row on the same side of the center line | A sustained shift | Warning | On |
| 3 | Six points in a row steadily increasing or decreasing | A trend | Warning | Off |
| 4 | Fourteen points in a row alternating up and down | Systematic oscillation | Info | Off |
| 5 | Two of three points in a row beyond 2σ, same side | An early sign of a shift | Warning | Off |
| 6 | Four of five points in a row beyond 1σ, same side | A smaller sustained shift | Warning | Off |
| 7 | Fifteen points in a row within 1σ of the center line | Unusually low variation | Info | Off |
| 8 | Eight points in a row beyond 1σ, none within 1σ | Two mixed distributions | Info | Off |
Rules 1 and 2 are on by default. Enable the others as they become relevant to your process.
Rules are evaluated independently for each control-charted series. Sigma is derived from the chart's own control limits (σ = (UCL − Mean) / 3), so the rules stay consistent with whichever chart type computed those limits.
On charts with variable control limits (attribute charts) each point is tested against its own limits, and on staged charts the rules restart at each stage boundary — a run in progress does not carry across a process change.
Panel Options
All run-rule options are in the Run rules section of the panel editor.

| Option | Description | Default |
|---|---|---|
| Violation markers | Highlight points that violate an enabled rule. | On |
| Rule 1–Rule 8 | Enable or disable each rule. | Rules 1–2 on |
| Critical color | Marker color for rule 1. | Red |
| Warning color | Marker color for rules 2, 3, 5, 6. | Orange |
| Info color | Marker color for rules 4, 7, 8. | Blue |

Colors use Grafana's standard named-color palette and adapt to light and dark mode.
Violation Markers
Points that violate an enabled rule are ringed in the severity color. The ring matches Grafana's point rendering and hover highlight, so a flagged point stays readable while you inspect it. When a point trips several rules at once, the ring uses the color of the most severe rule.
The ±1σ and ±2σ zone boundaries the rules test against are available as regular control lines in the Add control line dropdown, with the full color, width, and fill editor — see Sigma Zone Lines in the base panel documentation.
Tooltip
Hovering a flagged point appends a Rule violations section to the tooltip, listing every rule the point violated with its severity color — not just the rule used for the marker.

Violations in the CSV Export
When enabled rules produce violations, the panel's CSV export gains a Run Rule Violations section with one row per violation:
| Column | Description |
|---|---|
| Series | The series name |
| Rule | The rule id (e.g. nelson-1) |
| Description | The rule description |
| Point Index | Index of the flagged point within the series |
| X | The point's X-axis value |
| Value | The flagged point's value |
| Severity | critical, warning, or info |
The export is triggered the same way as in the base panel: the statistics table's download icon or the panel's right-click menu.
Attribute Charts
Variables charts (XmR, Xbar-R, Xbar-S) monitor measured values. Attribute charts monitor counts: defective units, defects per unit, or defects in a fixed inspection area. SPC Chart PRO adds six attribute chart types to the standard Chart Type dropdown.

This page is the overview and comparison. Each chart type has its own page with setup, formulas, and worked guidance:
- p chart — proportion defective, varying sample size
- np chart — count defective, constant sample size
- c chart — defect count, fixed inspection area
- u chart — defects per unit, varying inspection area
- Laney p′ and Laney u′ — overdispersion-corrected p and u for large subgroups
Chart Types
| Chart | Plots | Distribution | Sample size |
|---|---|---|---|
| p | Proportion defective per subgroup | Binomial | Required, may vary |
| np | Count defective per subgroup | Binomial | Required, should be constant |
| c | Defect count per unit | Poisson | Not used (constant inspection area) |
| u | Defects per unit | Poisson | Required, may vary |
| Laney p′ | Proportion defective | Binomial, corrected | Required, may vary |
| Laney u′ | Defects per unit | Poisson, corrected | Required, may vary |
Your query supplies the counts as the value field. Rows with a missing count or a non-positive sample size are treated as gaps: they are not plotted and do not contribute to the limits.
Sample Size
Charts that need a sample size (all except c) read it from one of two sources, configured in the SPC section:
| Option | Description |
|---|---|
| Sample size field | A numeric field in your query holding the number inspected per subgroup. The field is hidden from the plot automatically. |
| Fixed sample size | A constant number inspected per subgroup, used when no field is selected. |
Variable Control Limits
When the sample size varies, the control limits vary with it: larger subgroups give tighter limits. The panel draws these as stepped lines that follow each subgroup's own limit.
The scalar LCL/UCL values shown in labels, the statistics table, and fill regions are representative values computed from the average sample size. Run rules always test each point against its own per-point limits.
Control Limit Formulas
| Chart | Center line | Limits |
|---|---|---|
| p | p̄ = Σ defective / Σ inspected | p̄ ± 3·√( p̄(1−p̄) / nᵢ ), clamped to [0, 1] |
| np | n̄·p̄ | nᵢ·p̄ ± 3·√( nᵢ·p̄(1−p̄) ), floored at 0 |
| c | c̄ = mean defect count | c̄ ± 3·√c̄, floored at 0 |
| u | ū = Σ defects / Σ units | ū ± 3·√( ū / nᵢ ), floored at 0 |
| Laney p′ | p̄ | p chart limits widened by σz |
| Laney u′ | ū | u chart limits widened by σz |
Where nᵢ is the subgroup's sample size and σz is the short-term variation of the standardized values (mean moving range / 1.128).
Choosing the Right Chart
| Scenario | Chart |
|---|---|
| Pass/fail inspection, sample size varies | p |
| Pass/fail inspection, constant sample size | np |
| Counting defects in a fixed inspection area | c |
| Counting defects, number of units varies | u |
| p or u chart with large subgroups and limits that look too tight | Laney p′ / u′ |
Classic p and u limits assume the binomial or Poisson distribution holds exactly. With very large subgroups, real processes usually show more variation than the distribution predicts (overdispersion), and nearly every point falls outside the limits. The Laney charts correct for this.
Control Limit Estimation
Every set of control limits rests on an estimate of the process standard deviation, and which estimator is appropriate depends on the data rather than on the chart. Rbar loses precision above subgroup size 8. A handful of extreme moving ranges inflates the average moving range but not the median. When the process is in control, the pooled standard deviation is the most precise of the three.
The free panel fixes one estimator per chart type. SPC Chart PRO makes it selectable, in a Control limits section directly below SPC in the panel editor.
The section shows a single row until you need more. Calculation is set to Automatic by default, and the line beneath it names the estimator in force:

Switching Calculation to Custom… reveals the rest:

Panel Options
| Option | Description | Default |
|---|---|---|
| Calculation | Automatic uses the chart's own estimator and ignores every setting below, so you can return to it without clearing them. Custom… reveals the rest. | Automatic |
| Sigma method | Estimator for the process standard deviation the control limits are built from. Only the methods the selected chart accepts are offered. | The chart's own estimator |
| Unbiasing constant | Divide the estimate by c₄ to remove small-sample bias. Shown only for the methods where it is optional. | On |
| Historical mean | Known process mean µ. When empty, the mean is estimated from the data. | Empty |
| Historical σ | Known process standard deviation σ. When empty, it is estimated with the method above. | Empty |
Sigma Methods
| Method | Estimate | Available on | Use when |
|---|---|---|---|
| Rbar | R̄ / d₂ | Xbar-R, Xbar-S | Subgroups of 2 to 8. The default for Xbar-R. |
| Sbar | S̄ / c₄ | Xbar-R, Xbar-S | Subgroups larger than 8, where R̄ wastes information. The default for Xbar-S. |
| Pooled standard deviation | √( Σ(nᵢ−1)sᵢ² / Σ(nᵢ−1) ) / c₄(d+1) | Xbar-R, Xbar-S | The process is in control and the most precise estimate is wanted. d is the pooled degrees of freedom. |
| Average moving range | M̄R / d₂(2) = M̄R / 1.128 | XmR (X and mR) | The standard estimator for individuals. The default for XmR. |
| Median moving range | M̃R / d₄(2) = M̃R / 0.954 | XmR (X and mR) | A few extreme moving ranges are inflating the average and widening the limits. |
Only complete subgroups contribute to a subgroup estimate, since the constants assume exactly the configured subgroup size; a partial trailing subgroup is plotted but does not affect the limits. When a method cannot be computed from the available data, the chart is drawn without limits.
Changing the sigma method changes the limits, never the plotted points. The X chart still plots subgroup means, the R chart still plots ranges; only the bounds around them move.
Unbiasing Constant
The switch appears only for Sbar and pooled standard deviation — the two methods where Minitab treats the constant as optional, because company and industry standards differ on whether to apply it. Turning it off makes the estimate smaller and the limits tighter.
The other methods have no switch: Rbar divides by d₂ and the moving-range methods by d₂(2) or d₄(2) unconditionally. That division is the estimator, not a bias correction, so there is nothing to switch off.
Historical Parameters
When a process has an established baseline — an approved limit set, a validated characteristic — you can enter it directly instead of estimating it from the data in the current time range.
Historical mean (µ) moves the center line. The spread still comes from the data, so the limits keep their estimated width and simply recenter.
Historical σ replaces the estimate entirely, and the chart switches to the σ-based limit formulas:
| Chart | Center line | Control limits |
|---|---|---|
| X chart (Xbar-R, Xbar-S) | µ or X̿ | ± 3σ / √n |
| R chart | d₂σ | (d₂ + 3d₃)σ and (d₂ − 3d₃)σ, floored at 0 |
| S chart | c₄σ | (c₄ ± 3√(1 − c₄²))σ, floored at 0 |
| X chart (XmR) | µ or X̄ | ± 3σ |
| mR chart | 1.128σ | (1.128 + 3d₃(2))σ, floored at 0 |
The R, S, and mR charts plot spread rather than location, so a historical mean does not move them — only a historical σ does.
Historical parameters are the way to keep limits stable on a dashboard with a moving time range. Estimated limits recompute as points scroll out of the window; limits built from a historical mean and σ do not move. See Exclusions and stages are anchored to the X value.
Where It Applies
The Control limits section appears for the variables charts — X and mR (XmR), X and R (Xbar-R), X and S (Xbar-S).
It is hidden for chart types whose sigma comes from the chart's own model rather than from a choice of estimator: attribute charts (binomial or Poisson), I-MR-R/S (between and within components), and the short-run DNOM chart.
Two chart families keep their own equivalents in the SPC section instead: the CUSUM and EWMA charts have Historical mean and Historical σ inputs, and the Z-MR short-run charts have a Sigma estimation option offering Minitab's four pooling methods. Both are documented on their own pages.
Capability follows the chart. Cp and Cpk are computed from the same estimator as the control limits, so the statistics table and the chart always describe the same process sigma. Pp and Ppk are unaffected — they are based on the overall standard deviation.
Point Exclusion
A known assignable cause — a measurement error, a startup transient — can distort the control limits for the whole chart. Point exclusion removes such a point from the calculations while keeping it visible.
To exclude a point:
- Right-click the point on the chart.
- Select Exclude from calculations.

The point stays on the chart as a hollow marker, and everything is recomputed without it:
- Control limits and the center line
- Run rules — an excluded point never fires a rule, and it breaks a run in progress
- The statistics table, including capability indices

To restore a point, right-click it and select Include in calculations, or manage the full list in the Excluded points editor in the SPC section — each entry has a remove button, and Clear all restores everything. The list editor is also the way to remove an exclusion that has scrolled out of the visible time range.
On subgrouped charts (Xbar-R, Xbar-S), excluding a plotted point excludes the entire subgroup. Exclusions are saved with the dashboard.
Staged Control Limits
When a process deliberately changes — a new material, a machine overhaul, a recalibration — the old control limits no longer describe it. Stages split the chart at each process change and compute a separate center line and control limits for every stage, the same way Minitab handles historical stages.
To start a stage:
- Right-click the first point that belongs to the new stage.
- Select Start new stage here.
The panel draws a dashed vertical divider at the boundary with the stage label above it, and the center line, control limits, and sigma-zone lines step to each stage's own values:

Stages are managed in the Stages editor in the SPC section. Each stage has an editable label (shown at its divider), a remove button, and there is a Clear all. To remove a boundary from the chart, right-click its first point and select Remove stage start.
Once at least one stage exists, a Divider style editor appears in the SPC section for styling the dashed boundary lines:
| Option | Description | Default |
|---|---|---|
| Color | Color of the divider lines (Grafana named colors supported). | Purple |
| Line style | Solid, dashed, or dotted. | Dashed |
| Line width | Thickness of the divider lines, 1–10 px. | 2 |
The style applies to every stage divider on the chart and is saved with the dashboard.
How staged values are used:
- Every line steps at the boundary; each stage's limits are computed from that stage's data only.
- Run rules evaluate each stage independently and restart at every boundary.
- Labels and the statistics table's LCL/UCL columns show the most recent stage's limits — the current process.
- Point exclusion works within stages: an excluded point drops out of its own stage's calculation.
A stage needs enough points to compute limits (at least two for XmR). A stage that is too short is drawn without limits until it accumulates enough data. Stages are saved with the dashboard.
Notes and Assumptions
A few behaviors are worth knowing before you rely on the panel for analysis. Where an established convention exists, the panel follows Minitab.
Point exclusion is "omit from estimation"
Excluding a point does not remove it from the chart — it stays visible as a hollow marker and is only left out of the calculations: the center line, control limits, run rules, and capability. Control limits are drawn continuously through an excluded point; the limit line never breaks at one.
What "left out of the calculations" means depends on the chart:
- On variables charts (I-MR, Xbar-R, Xbar-S) the point is simply dropped from the limit estimate.
- On attribute charts the point drops from the center-line estimate but keeps its own limit, computed from its sample size — so the stepped limit stays continuous at its own level.
Time-weighted charts recompute a little differently — see Point exclusion on a CUSUM chart or on an EWMA chart.
This mirrors Minitab's omit from estimation. (Minitab's other mode — excluding a point as a missing value, which leaves a gap — is not what this feature does.)
Exclusions and stages are anchored to the X value
Both are stored against a point's X value — a timestamp, or the numeric X in numeric X-axis mode — not a row number, so they survive requeries and reordering. Two things follow from this:
- On a subgrouped chart (Xbar-R, Xbar-S), excluding a plotted point excludes its whole subgroup, since the plotted point is the subgroup's aggregate.
- With a moving time range, a point that scrolls out of the visible window no longer affects the calculations — limits recompute over what is shown. For a stable, historical baseline, use a fixed time range or set historical parameters.
Estimation settings render the same in the free panel
The estimation calculations live in the free SPC Chart panel; SPC Chart PRO adds the editors that write them. A dashboard built here therefore draws identical control limits for a viewer who only has the free panel, where the same Calculation row appears read-only, naming the estimator in force, with the Custom… option marked as a PRO feature.
The split is deliberate: the alternative would be a dashboard whose control limits depend on which plugin the viewer has installed.
Automatic reproduces the classic constants exactly
On Automatic, every chart uses the tabulated Shewhart constants it always has — A₂R̄ for Xbar-R, A₃S̄ for Xbar-S, E₂M̄R for the individuals chart, D₃/D₄ and B₃/B₄ for the range and standard-deviation charts. Adding the estimation options changed no existing dashboard.
The σ-based formulas used for the other methods are algebraically the same 3-sigma bounds and agree with the tabulated ones to within the rounding of the published constants (about 0.05%). The classic constants are kept for the default path so that upgrading never shifts a limit line, however slightly.
Run rules follow the chart type
Sigma for the run rules is derived from each chart's own control limits, so the rules stay consistent with whichever chart computed them, and on variable-limit charts every point is tested against its own limits. Some chart types restrict which rules apply — see the chart's own page.
Capability is computed on the raw observations
Cp/Cpk and Pp/Ppk describe the individual measurements, not the plotted subgroup aggregates, and require specification limits (added as control lines). They are hidden for chart types where they are not meaningful.
Data shape
Attribute charts expect a flat table — one row per subgroup — with the sample-size column alongside the counts, rather than one series per category. Companion columns (sample size) are read as inputs and hidden from the plot automatically.
Part of the KensoBI SPC Suite
SPC Chart PRO is part of a growing family of Statistical Process Control plugins for Grafana by Kenso Software:
SPC Chart — The free foundation this panel is built on: XmR, Xbar-R, and Xbar-S control charts, custom control lines, capability statistics, and a statistics table.
SPC Characteristic Datasource — The datasource that powers the SPC CAD panel. Connects to your measurement database (PostgreSQL or MSSQL), lets you select features and characteristics through a point-and-click interface, and returns SPC statistics, time series measurements, and forecast data — no SQL required.
SPC CAD Panel — Brings 3D geometry into the picture, letting you bind the data from control charts and histograms to physical features on your parts.
SPC Histogram Panel — Distribution analysis with histograms, bell curves, and a built-in statistics table showing Cp, Cpk, Pp, and Ppk.
SPC Box Plot Panel — Box-and-whisker plots with built-in SPC, automatically grouping measurements into subgroups and overlaying Xf-Rf control limits.
SPC Bullet Panel — Compact bullet charts and progress bars with optional SPC metrics for dense KPI dashboards.
SPC Pareto Panel — Identify the most significant factors contributing to defects, downtime, or any categorical issue.
Getting Help
- Contact support at https://kensobi.com/contact
- Join the KensoBI Discord for questions and discussion.
License
This software is distributed under the Kenso Software Commercial License. Use requires a valid commercial license.