← All case studies
Product Analytics, Growth & Experimentation·See our approach →
Blinkit · Gurugram, India

Campaign LTV Modeling and Spend Recovery

Discovered that 30% of spend was going to campaigns that never paid back their acquisition cost.

AttributionLTV Modeling
30%
of spend redirected from loss-making campaigns
500K+
daily orders platform
CAC → LTV
full lifecycle model
01 // The Situation

Blinkit is a hyperlocal quick commerce platform processing 500,000+ daily orders. Marketing spend was significant and growing, but the company lacked the ability to evaluate campaigns on anything beyond acquisition cost. There was no visibility into whether the users a campaign brought in were actually worth what was paid to acquire them.

02 // The Problem

Build a system that could connect acquisition data to long-run user behaviour, enabling the marketing team to evaluate campaigns not just on CAC but on whether the lifetime value of acquired users ever exceeded what was spent to acquire them.

03 // The Approach

The attribution problem at Blinkit was more complex than a standard LTV model because ad spend fell into two distinct categories: acquisition campaigns targeting new users (CAC) and retention campaigns targeting existing users to drive repeat orders (CRC). A sale could not simply be attributed to the campaign that acquired the user — users were continuously exposed to ads throughout their lifecycle, and each individual sale needed to be attributed to the last campaign the user had engaged with in the seven days prior to that order.

This meant the total advertising cost attributable to a user accumulated over time as both CAC and ongoing CRC. The measure of profitability was whether cumulative lifetime revenue exceeded cumulative (CAC + CRC) — a substantially harder bar to clear than CAC alone. The data foundation was raw ad engagement data from AppsFlyer, joined to the order database using a last-touch seven-day attribution window and rebuilt into cohort-level models tracking running cost-of-revenue over time.

04 // The Process
  1. 01Imported raw ad engagement data from AppsFlyer; audited and resolved campaign-to-user identity linkage issues between AppsFlyer and the order database.
  2. 02Designed the attribution model: last-touch within a seven-day window prior to each sale, applied consistently across both acquisition and retention campaign types.
  3. 03Built the order-level attribution models — each sale attributed to its last-touch campaign, with CAC and CRC accumulated per user across their full order history.
  4. 04Designed the LTV calculation: cumulative net revenue per user compared against cumulative (CAC + CRC), time-windowed at 30, 60, 90, and 180 days post-acquisition with explicit break-even visibility at each horizon.
  5. 05Validated model outputs against known campaign outcomes and manually verified cohorts before surfacing results to the marketing team.
  6. 06Built the reporting layer: campaign-level ROAS showing cumulative attributable spend vs attributed revenue over time, enabling identification of campaigns where total ad spend never produced a positive return.
05 // The Outcome
  • Identified that approximately 30% of total marketing spend was going to campaigns where LTV never exceeded cumulative (CAC + CRC) across the customer lifecycle
  • Spend on those campaigns was shut down
  • Marketing team shifted to a retention-weighted acquisition model
  • Campaign-level ROAS reporting gave the marketing team ongoing visibility into true return on ad spend — not just at acquisition, but across the full customer lifetime
// Contact

Start a conversation.

Every engagement begins with a focused discussion of your current data environment and priorities. To schedule an initial consultation, reach out directly.

Get in touch