Case Studies /When Blooms Arrive Late
A florist rider races the clock through the city with a fresh bouquet
A florist rider races the clock through the city with a fresh bouquet.Illustration · Data Stories Lab
Fulfillment operations

When Blooms Arrive Late

How late deliveries drain a florist's margin

Live model on 2,409 real orders. Every view recomputes.
What happened
orders on time vs standard
refunded in the window
of refund money on late orders
on time on busiest days (>50/day)
On-time delivery holds, then dips in peak season
Weekly on-time rate against the delivery standard
Source: 2,409 orders, Jan–Jun 2026. Illustrative dataset.
Refund cost spikes with the peak months
Refund money (RM) by month
Source: order-level refund records. Illustrative.
Same-day is the fragile promise
On-time rate by delivery service
Source: on-time flag vs zone standard. Illustrative.
Most orders run through Klang Valley
Order share by delivery zone
Source: order counts by zone. Illustrative.
When it slips, it slips by hours not days
Orders by lateness severity
Source: lateness vs requested slot. Illustrative.
Why it happened · ours or the courier's
late orders in view
of delay hours are our handling
avg courier transit hours
avg dispatch slack (hrs)
In the city the delay is ours; outstation it is transit
Share of late-order delay by zone: our handling vs courier
Source: internal vs courier delay hours. Illustrative.
The outstation carriers own their delay
Share of late-order delay by courier: our handling vs transit
Source: internal vs courier delay hours. Illustrative.
In-house riders lead on reliability
On-time rate by courier
Source: on-time flag by courier. Illustrative.
Outstation lanes run later than the city
On-time rate by delivery zone
Source: on-time flag by zone. Illustrative.
Where we cut our own timing too fine
Orders by dispatch slack: time budget left when the order left the shop
Negative slack means dispatched after the slot was already at risk. Illustrative.
How it happened · the throughput ceiling
on time up to 35 orders/day
on time above 35 orders/day
busiest day volume
of orders fall on peak days (>35)
On-time delivery falls off a cliff past ~35 orders a day
Each dot is a daily volume level; on-time holds up to ~35 orders a day, then collapses
Source: on-time rate grouped by daily order volume. Illustrative.
The breakpoint in four bands
On-time rate by daily volume band
Source: on-time flag by volume band. Illustrative.
Volume climbs into the seasonal peaks
Average daily order volume by month
Source: daily order volume by month. Illustrative.
Same-day breaks first under load
On-time rate by volume band, same-day vs scheduled
Source: on-time flag by service and volume band. Illustrative.
What to do · stop the leak
refund cases in view
refund money at stake
refund money on outstation lanes
biggest single fix (RM)
Past six hours late, refunds jump
Refund rate by how late the order was
Source: refund flag by lateness bucket. Illustrative.
Outstation carriers are the refund engine
Delay-driven refund rate by courier
Source: delay-driven refunds by courier. Illustrative.
The occasion decides how badly a delay hurts
Refund rate on orders more than 6 hours late, by occasion
Source: refund flag among orders 6h+ late. Illustrative.
A few conditions carry most of the loss
Share of orders vs share of refund money
Source: order and refund shares. Illustrative.
Refund-leak fix list
Every refund assigned to one lever, ranked by money at stake
#Lever to fixCasesRefund RM
Work it top down; stop when capacity runs out. Illustrative.