Plugins 〉SPC Pareto


Developer

Kenso software

Sign up to receive occasional product news and updates:



Panel
community

SPC Pareto

  • Overview
  • Installation
  • Change log
  • Related content

SPC Pareto

Dynamic JSON Badge Grafana

The SPC Pareto panel helps you identify the most significant factors contributing to defects, downtime, or any categorical issue — so you can focus improvement efforts where they matter most.

SPC Pareto panel overview

Why SPC Pareto?

The Pareto principle (80/20 rule) states that roughly 80% of effects come from 20% of causes. This plugin makes that insight instantly visible:

  • Bars sorted by impact — categories are automatically ranked from highest to lowest frequency, making the biggest contributors immediately obvious
  • Cumulative percentage line — a running total overlay shows how quickly contributions accumulate toward 100%
  • 80/20 threshold line — a configurable threshold line highlights where the "vital few" end and the "trivial many" begin

Pareto chart with threshold

Built for Grafana

SPC Pareto is built using Grafana's native visualization components. This means it inherits the look, feel, and behavior you already know:

  • Native theming — automatically adapts to light and dark mode
  • Standard panel options — legend placement, tooltip behavior, and field overrides work just like any other Grafana panel
  • Resizable statistics table — drag the splitter to balance chart and table space, just like Grafana's built-in panels
  • Works with any data source — use it with SQL databases, Prometheus, InfluxDB, CSV files, or any other Grafana data source

Features

FeatureDescription
Raw data supportAccepts ungrouped observations and counts occurrences automatically
Automatic sortingCategories are ranked by frequency — no manual ordering needed
Dual y-axesLeft axis shows frequency counts, right axis shows cumulative percentage (0–100%)
Threshold lineConfigurable threshold (default 80%) with horizontal and vertical reference lines
Vital few highlightBars beyond the threshold crossing point are visually muted, making the vital few stand out
Cumulative lineCustomizable color, width, and point markers
Top N / Other groupingCollapse low-frequency categories into an "Other" bucket to reduce noise
Value labelsOptional count, percentage, or both displayed above each bar
Statistics tableTable with category, frequency, % of total, cumulative count, and cumulative % — always in Pareto order
Standard optionsUnit, decimals, and display name apply to frequency values across the axis, labels, tooltip, legend, and table
Resizable layoutDrag the splitter between chart and table to adjust the view

Statistics table

Use Cases

  • Manufacturing quality — identify top defect types across production lines
  • IT operations — rank incident categories to prioritize root cause analysis
  • Customer support — surface the most common complaint categories
  • Software development — analyze bug categories, test failure reasons, or build errors
  • Supply chain — rank supplier issues or shipment delay causes

Requirements

  • Grafana 11 or later

Getting Started

  1. Install the plugin from the Grafana Plugin Catalog
  2. Add a new panel and select SPC Pareto as the visualization
  3. Configure a query that returns either:
    • A string field + a number field (pre-aggregated categories and counts), or
    • A string field only (raw observations — the plugin counts occurrences automatically)
  4. The chart automatically sorts, calculates cumulative percentages, and renders the Pareto view

Panel configuration

Example Query (SQL — pre-aggregated)

SELECT defect_type AS category, COUNT(*) AS count
FROM inspections
WHERE $__timeFilter(inspection_time)
GROUP BY defect_type

Example Query (SQL — raw observations)

SELECT defect_type
FROM inspections
WHERE $__timeFilter(inspection_time)

The plugin counts occurrences of each unique defect_type value automatically.

Data handling rules

  • The first string field in each query result is used as the category, and the first number field (if present) as the value. If a query returns multiple number fields, reorder or remove columns so the intended value comes first.
  • Query results with both a string and a number field are treated as pre-aggregated; results with only a string field are counted as raw observations. Multiple queries can be combined.
  • Rows with a missing category or missing value (null, NaN) are excluded from the analysis. When rows are excluded, a note appears below the statistics table.
  • Negative values are not valid for Pareto analysis. If the data contains a negative value, the panel shows an error instead of a misleading chart.

Example Query (TestData)

For a quick demo, use the TestData data source with the CSV Content scenario:

category,count
Scratch,45
Dent,38
Contamination,29
Misalignment,22
Color Defect,15
Crack,12
Burr,8
Warping,6
Porosity,4

Panel Options

Threshold

OptionDescriptionDefault
Show threshold lineDisplay the 80/20 reference linesOn
Threshold valueCumulative percentage threshold80%
Highlight vital fewVisually mute bars beyond the threshold crossing pointOff
Trivial bar opacityOpacity for the muted "trivial many" bars (10–100%)40%

Cumulative line

OptionDescriptionDefault
Line colorColor of the cumulative percentage lineOrange
Line widthStroke width of the cumulative line2
Show pointsShow point markers on the cumulative lineOn
Point sizeSize of point markers5

Top N / Other

OptionDescriptionDefault
Limit categoriesGroup low-frequency categories into an "Other" bucketOff
Show top N categoriesNumber of categories to show before grouping the rest10

Bar

OptionDescriptionDefault
Bar colorColor of the frequency barsBlue
Fill opacityBar fill opacity (0–100%)80%
Line widthBar border width1
Gradient modeNone, Opacity, or HueNone
Show value labelsDisplay labels above each barOff
Label contentCount, % of Total, or BothCount

Statistics table

OptionDescriptionDefault
Show statistics tableDisplay the statistics table below the chartOn

Standard options

OptionDescription
UnitUnit applied to frequency values (y-axis, bar labels, tooltip, table)
DecimalsNumber of decimal places for frequency values; when set explicitly, it also applies to the computed percentage columns (default: 1 decimal)
Display nameRenames the value series in the legend, tooltip, and table column header (default "Frequency")

Documentation

For detailed documentation, configuration guides, and examples, see the full documentation.

Part of the KensoBI SPC Suite

SPC Pareto is part of a growing family of Statistical Process Control plugins for Grafana by Kenso Software:

SPC Chart Panel — Control charts for monitoring process stability over time. Supports Xbar-R, Xbar-S, and XmR charts with automatic calculation of control limits. If you're tracking whether a process is staying in control, this is your starting point.

SPC Histogram Panel — Distribution analysis with histograms, bell curves, and a built-in statistics table showing Cp, Cpk, Pp, and Ppk. Use it to understand process capability: is your process producing results within specification limits?

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.

License

This software is distributed under the AGPL-3.0-only license — see LICENSE for details.

Support

If you have any questions or feedback, you can:

Install on Grafana Cloud

Plugins can be installed directly from within your Grafana instance or automated using the Cloud API or Terraform.

Learn more about plugin installation

For more information, visit the docs on plugin installation.

Changelog

1.1.0

Added

  • Standard options support: Unit, Decimals, and Display name can now be configured in the panel editor. They are applied to frequency values on the y-axis, bar labels, tooltip, legend, and the statistics table's value columns. An explicitly set Decimals value also governs the computed percentage columns (which otherwise default to 1 decimal place). Standard options that have no effect on a Pareto chart (color, thresholds, min/max, value mappings, links, no-value text) are hidden

Changed

  • Rows with a missing category or missing value (null, NaN) are now excluded from the Pareto analysis instead of corrupting the totals; a note below the statistics table reports how many rows were excluded
  • Negative values now produce a clear panel error, since Pareto analysis requires non-negative frequencies
  • Queries mixing pre-aggregated frames and raw-observation frames are now combined instead of silently ignoring the raw frames
  • The cumulative percentage is now guaranteed to end at exactly 100%, and the threshold crossing point tolerates floating-point rounding (relevant for fractional values with Top N grouping and a 100% threshold)
  • The statistics table is now fixed in Pareto (descending frequency) order — cumulative statistics are only meaningful in that order
  • Frequency values in the statistics table, bar labels, and tooltip no longer show floating-point summation noise (e.g. "7.000000000000001" is now displayed as "7")

Security

  • Cleared all HIGH/CRITICAL advisories reported by the OSV scan.

Removed

  • Removed the unused internal VitalHighlight overlay component (the vital few highlight is rendered via split bar series)

1.0.2

  • Updated to Grafana 12.4.0
  • Security improvements - updated dependencies to address known vulnerabilities

1.0.1

  • Removed the "Values" setting from the Legend editor
  • Chart elements (bar labels, threshold line, vital highlight) now correctly follow the active Grafana theme when the theme is switched

1.0.0

Initial release.