Omniscope Custom Views › decomptree

Decomposition Tree

Ask "where does this number come from?" and answer it in clicks: split any total by any field, in any order, and let the view find the split that matters most.

Network visokio-agents

Open the demo in Omniscope Download demo.ioz Sample data: orders.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

Ask "where does this number come from?" and answer it in clicks: split any total by any field, in any order, and let the view find the split that matters most.

Live: 12,000 illustrative orders. Press + on any bar to split it by another field, or let the view pick the split with the highest value. Click a bar to select those orders.

The problem it solves

Every management meeting asks the same follow-up questions. Revenue is up: which regions, which channels, which products? Deliveries are late: which warehouse, which carrier, which day? Answering them usually means a stack of pre-built charts, one per field and combination, or a request to an analyst and a wait.

The Decomposition Tree turns the follow-up into an interaction. The total sits on the left. Press + on it and choose a field; the bars show how it splits. Press + on any bar and split that slice by another field, then another. Change your mind at any level and the deeper levels recalculate for the new branch. Or let the view choose: the automatic split tries every remaining field and picks the one with the highest (or lowest) category, which is often the fastest way to the cause.

Each level is a live query against the data, so it scales to large tables; only the bars on screen are fetched. And because it is an Omniscope view, clicking a bar selects exactly that slice, so the table of orders, the map and the trend chart on the same page show the records behind it.

Live: average delivery days. Two automatic 'highest value' splits find the slow warehouse and then the carrier responsible.

In the example above (illustrative data), two automatic "highest value" splits on average delivery days go straight from the overall average to the Leeds warehouse and then to one carrier, QuickShip, whose deliveries from Leeds take more than twice as long as the rest.

Where it earns its place

The examples below are illustrative.

Industry Measure Explain by Typical finding
Retail and e-commerce Revenue, margin, returns Region, store, channel, category, customer type Which combination drives growth or a margin drop
Logistics and fulfilment Average delivery days, late orders Warehouse, carrier, service level, region, day of week The site and partner behind late deliveries
Healthcare Waiting time, length of stay Trust or site, specialty, referral source, age band Where waits concentrate, and for whom
Financial services Arrears, claims cost Product, branch, broker, risk band Which book of business explains a loss ratio
Manufacturing Scrap rate, downtime minutes Plant, line, shift, product, supplier The line and shift with the worst rate

How to use it in Omniscope

  1. Connect row-level data to a Report block (one row per order, claim, patient episode or batch).
  2. Add a view and choose Decomposition Tree.
  3. Set Analyse to the measure (for example the sum of Revenue or the mean of Delivery days) and add the fields people may split by to Explain by.
  4. In the view, press + on the total and pick a field, or choose Auto: highest value. Keep drilling; click any bar to select that slice for the rest of the report.
  5. Save the report. The tree the author built is remembered when the report is reopened in the same browser, and viewers can explore their own way.

Why do this in Omniscope

Data and options

Row-level data: one numeric field to analyse and any number of fields to explain it by.

Option What it does
Analyse The measure: sum, count, mean, median, min or max
Explain by Fields available for splitting, in any order
Bars per level Categories shown per level (default 8); the rest become Other for sums and counts
Sort Highest or lowest first
Offer automatic splits Adds Auto: highest value and Auto: lowest value
Show share of parent Percentage of the parent bar (sums and counts)

Tested with 120,000 rows and a 60-value field.

Tested

Clicking a bar selects that slice for the whole report
Clicking a bar selects that slice for the whole report
Running on the Omniscope server
Running on the Omniscope server

Reference

Fields it reads

NameTypeWhat it does
AnalyseMEASUREThe value to break down, e.g. sum of Revenue, count of Defects, mean of Delivery days
Explain byFIELDFields the viewer can split by, in any order: Region, Product, Channel, Customer type...

Options

NameTypeWhat it does
Bars per levelNUMBERHow many categories to show in each level; the rest are summarised as Other for additive measures
SortCHOICEOrder of bars within each level
Offer automatic splitsTOGGLEAdd 'Highest value' and 'Lowest value' to the split menu: the view tries every remaining field and picks the one with the most extreme category
Show share of parentTOGGLEShow each bar's share of its parent (sum and count measures only)