The company and program
| Client | A seed-stage New York grocery delivery app. |
| Stage | Seed |
| Industry | New York consumer app: grocery delivery |
| Timeline | One 90-day growth sprint, July 6 – October 4, 2026. 30-day windows read through November 3 |
| Channels | iOS and Android app, push, SMS, email |
| Team | A dedicated Kiko growth lead plus agents for event audits, cohort reports, experiment write-ups and first drafts of push copy. Client side: one mobile engineer, one backend engineer and the ops lead |
The approach
We kept 10% of new customers on the old experience for the whole sprint, so every result is read against a holdout from the same weeks.
| Test | Hypothesis | Comparison | Decision rule |
|---|---|---|---|
| First-order accuracy | A missing item or a substitution nobody approved is the main reason a first-time customer doesn't come back | Substitutes pre-approved at checkout plus automatic refunds for missing items, vs. the old flow | Ship if bad first orders fall below 10% without adding more than 5% to picking time |
| Opt-in moment | Customers say yes to notifications when the message is about their driver, not a promotion | Opt-in ask on the order-tracking screen ("Text me when my driver is 5 minutes away") vs. at signup | Keep the arm with higher opt-in if unsubscribes within 30 days stay under 5% |
| Reorder and timing | A one-tap "reorder your last basket" sent when the household is due to restock beats a day-3 promo | Reorder push on days 5 and 9 vs. a "we miss you" promo push on day 3, 50/50 | Keep if second order within 30 days rises at least 3 points on a 2-week read |
| Second-order offer | Waiving the $3.99 delivery fee moves as many people as a discount, for less money | Free delivery on a second order within 14 days vs. $10 off a second order, 50/50 | Keep the offer with the lower credit cost per incremental second order against the holdout |
What we changed
- Weeks 1–2: audit and baseline. One metric: second order within 30 days. 18% of first orders had a missing item or an unapproved substitution, and those customers came back 21% of the time against 42% after a clean order.
- Week 3: fix the first order. Pre-approved substitutes at checkout and automatic refunds for missing items went live for the treated group.
- Week 5: move the opt-in ask. The push and SMS prompt moved from signup to the order-tracking screen.
- Week 6: one-tap reorder. A "reorder your last basket" button on the home screen, plus pushes on days 5 and 9 that open straight into it.
- Weeks 7–8: offer test. Free delivery beat $10 off on cost per incremental second order and shipped to every treated customer from week 8.
- Weeks 9–13: hold and measure. No new changes. Weekly cohorts read at 7, 14 and 30 days; sprint review at day 90.
The results
Before: 6,410 first-time customers from May–June 2026. After: 3,708 treated first-time customers from sprint weeks 9–13 (August 31 – October 4). The holdout over the same weeks ordered again 39.1% of the time, so about 18 of the 19 points are incremental. Delivery-fee credits cost $10.46 per incremental second order.
| Metric | Before | After | Change |
|---|---|---|---|
| Second order within 30 days | 38% | 57% | +19 pts |
| Second order within 14 days | 25% | 47% | +22 pts |
| First orders with a missing item or unapproved substitution | 18% | 7% | −11 pts |
| Push or SMS opt-in among first-time customers | 41% | 68% | +27 pts |
| Median days from first to second order | 12 | 8 | −4 days |
What didn't work
- $10 off a second order. It lifted the 30-day rate about 1 point more than free delivery, but cost about 2.5 times as much per incremental second order, and those customers placed fewer third orders. We dropped it.
- A weekly basket subscription at first checkout. 2% took it, and it slowed checkout. We removed it in week 7.
- Two Queens neighborhoods. Delivery windows there kept slipping, and their second-order rate stayed at 44%. That is an ops problem, and no product change fixed it.
What we learned
- Fix the first order before marketing the second one. The cleanest lift came from customers who got everything they paid for.
- Ask for notification permission when the message helps the customer, then use it for the reorder.
- Keep a holdout for the whole sprint, so the result is a number the board can trust.
Frequently asked questions
How much does a 90-day retention sprint like this cost?
There was no paid media. The only spend beyond the sprint was client-funded delivery-fee credits, at $10.46 per incremental second order against the holdout. Kiko's 90-day sprints start at $10,000 a month.
How long before the second-order rate moved?
The first-order fix shipped in week 3 and the winning offer in week 8. Weeks 9–13 ran with no changes so the 30-day windows could close, and the full read came at day 90.
Would this work for a Series A meal-kit or restaurant delivery app?
The first-order accuracy fix and the restock-timed reorder transfer to any repeat-basket product. The free-delivery offer only works with a small fee; at $3.99 it cost $10.46 per incremental order. Slipping delivery windows need an ops fix.
Related case studies and guides
Same industry, other angles: