Omniscope Custom Views › ridgeline

Ridgeline

Averages hide the story. See the whole distribution for every group at once: where most values fall, how long the tail is, and which groups behave differently.

Line and scatter visokio-agents

Open the demo in Omniscope Download demo.ioz Sample data: calls.csv Source on GitHub

Items tagged visokio-agents are community examples built by Visokio's agents, to extend Omniscope's core blocks and views with popular, specialist and more unusual use cases, and to show what anyone, people or agents, can build on Omniscope. They are tested by automated tests and were run on a real Omniscope server. They were not reviewed by Omniscope's core team, so they are not on a par with the core blocks and views, which have years of manual, functional and unit tests behind them. About

Averages hide the story. See the whole distribution for every group at once: where most values fall, how long the tail is, and which groups behave differently.

Live: 15,000 illustrative calls, wait time by hour of day. Hover to read counts; click an hour or drag across the axis to select calls.

The problem it solves

"Average wait time is 90 seconds" sounds fine until you learn that one caller in sixteen waits more than four minutes, and almost all of them call at lunchtime or in the early evening. Service levels, delivery promises, prices and risk all live in the shape of a distribution, not in its mean. Box plots help but hide shape; one histogram per group needs a page of small charts.

The Ridgeline view stacks one smoothed distribution per group, slightly overlapping, with the median marked. In the illustrative contact-centre data above, waits at 08:00 are short and tight; from 12:00 and again at 17:00 the median roughly doubles and the tail stretches past five minutes. That points to a staffing question that an average would not raise. The same view by team, each ridge scaled to its own peak, shows that Technical support has both the longest median and the longest tail:

Live: the same calls by team, each ridge scaled to its own peak and sorted by median wait.

Where it earns its place

The examples below are illustrative.

Industry Rows Distribution of Question
Contact centres and service Hour, team, channel Wait time, handling time When and where do long waits happen?
Logistics Carrier, depot, service Delivery time Which carrier's promises are least reliable?
Retail and e-commerce Channel, region, category Order value, discount Do online customers spend differently, or just more often?
Healthcare Site, specialty, month Time to treatment, length of stay Which specialties have the longest tails?
Manufacturing and IoT Machine, shift, batch Temperature, cycle time, defect size Which machine is drifting or two-peaked?

How to use it in Omniscope

  1. Connect row-level data (calls, deliveries, orders, readings) to a Report block.
  2. Add a view and choose Ridgeline.
  3. Set Rows (for example Hour or Team) and Distribution of (for example Wait seconds).
  4. Adjust Detail, Smoothing and Overlap; sort rows by median to rank groups; switch on Same height for every row to compare shapes.
  5. Drag across the chart to select a value range, for example every call that waited more than two minutes, and see who, when and why in the rest of the report.

Why do this in Omniscope

Data and options

Row-level data: a category and a numeric value per row.

Option What it does
Rows, Distribution of The groups and the numeric field
Detail, Smoothing, Overlap Bin count, smoothing and ridge height
Order rows by, Maximum rows Row order and limit
Same height for every row Compare shapes across groups of different size
Show medians, Trim extreme values Medians and an outlier-resistant range

Tested with 200,000 rows in 40 groups.

Tested

Dragging across the axis selects every call in that wait range
Dragging across the axis selects every call in that wait range
Running on the Omniscope server
Running on the Omniscope server

Reference

Fields it reads

NameTypeWhat it does
RowsFIELDOne distribution per value of this field, e.g. Hour of day, Carrier, Product or Region
Distribution ofFIELDNumeric field whose distribution is drawn, e.g. Wait seconds, Delivery hours, Price

Options

NameTypeWhat it does
DetailNUMBERNumber of bins across the range before smoothing (default 60)
SmoothingNUMBERGaussian smoothing in bins (0 = raw histogram, default 1.5)
OverlapNUMBERHow far each ridge rises into the row above (default 1.8)
Order rows byCHOICERow order
Maximum rowsNUMBERLargest number of rows to draw (most records first when limited; default 25)
Same height for every rowTOGGLEScale each ridge to its own peak, so shapes compare even when counts differ
Show mediansTOGGLEMark each row's median and write it at the right
Trim extreme valuesTOGGLESet the range from the quartiles (up to three interquartile ranges beyond them) so a few outliers do not squash the chart

Third-party libraries