meal-kit-analytics

A dbt project modeling a weekly plant-based meal delivery business end to end, from raw landing tables through to marts a BI tool can point at. 477,000 boxes, 86,000 skipped weeks, 20,000 customers, 24 months.

20models
183tests
476kboxes modeled
86kweeks skipped

What the project answers

The first box loses money

Shipping is free on every plan and the acquisition offer takes 40% off the first order, which leaves the opening box at minus $6.70 of contribution. A customer is not worth anything until their second delivery, and 95.2% of them get there. See the payback curve →

A quarter of customers carry more than half the business

The longest-tenured 19.7% of customers produce 50.9% of all contribution. The two shortest bands are 38.0% of customers and 6.3% of it. See the distribution →

Free shipping costs a fifth of gross margin

$3,152,165 absorbed across every box, with nothing collected against it, against $15,307,489 of margin earned on the food. It is not the heavy users who make it expensive: shipping runs 254% of margin on the lightest band and 20.5% on the heaviest. See the cost →

Going quiet is a weak signal, and worth saying so

A three-week skip streak raises the chance of cancelling in the next 28 days by 1.27x against a normal delivered week. Real, and smaller than the intuition that a quiet customer is a lost one. See the streaks →

Only two support categories predict cancellation

A meal-quality complaint moves the cancel rate +19.2 points and a delivery complaint +17.4. A billing question moves it +2.1 points. See the comparison →

What is being modeled

A weekly plant-based meal delivery business. A box ships each week unless the customer skips, skips are free, cancellation happens at any time, and shipping is free on every plan. There is no membership tier and no delivery fee, so the unit of engagement is the week and the largest uncapped cost is the shipping the business absorbs on every box it sends.