Cancellations
Every figure here is the gap between two columns on fct_orders: net_amount_eur, the order as
placed, and realised_net_amount_eur, which is zero when the order was cancelled. Neither is a
filter somebody has to remember to apply, which is the point — see
dbt/models/marts/_marts__models.yml.
Cancellation rate
Cancelled orders
Revenue lost
Share of booked revenue
The order rate and the revenue share are close but not identical, and the difference is the useful part: when they diverge, cancellations are landing on orders that are bigger or smaller than average.
Over time
The rate is roughly flat while the lost amount tracks the revenue trend — cancellations scale with volume here rather than clustering in a bad month. That is a property of how the synthetic data is generated, and it is worth knowing: real data rarely looks this even, so a dashboard built only against this stack has not been tested on a spike.
Where they happen
Which products
Read this one carefully: a product high on this list is not necessarily a problem product. Lost revenue is mostly a function of how much the product sells, so the list largely re-ranks the best sellers. The column worth acting on would be lost revenue as a share of that product's own booked total — which this synthetic data has no signal in, because cancellation is generated independently of which product is on the order.