Aanubhuti.design

✦ Flipkart · 2021 · Behavioural Design

Where UX
quietly pays the bills.

Re-thinking how Flipkart intercepts a cancellation, turning a one-tap exit into a contextual decision moment, and proving that great UX is good business.

Role
Lead Product Designer
Team
Vaishali Yadav · Ronak Poddar
Year
2021, v2 launch
Surface
Cancellation funnel · App + Web

✦ Impact at a glance

+65 Bps

Cancellation goodness

+29 Bps

RTO goodness

+82 Bps

Delivered goodness

12.7%

of all orders addressable

Test vs. control across the cancellation A/B. Goodness measured in basis points (Bps), the unit Flipkart uses to talk about post-purchase impact at scale.

01, The context

Nudges had been live for a year.

In September 2020, Flipkart launched Cancellation Nudges, contextual interventions designed to retain orders by solving the customer's actual issue, recovering intent through value propositions, and rebuilding trust through clear messaging.

A year later, the data told a sobering story. Nudges had decent reach. They just weren't moving the needle. We were being shown, and ignored.

The cancellation experience as it shipped in 2020, bottom-sheet of reasons, generic copy.
Before · the customer flow as it shipped in 2020
Funnel and goodness data, adoption was 1.5% vs 10% planned.
Funnel · adoption 1.5% vs 10% planned

02, What was broken

Three failures, one pattern.

01

Adoption was painfully low

Across all nudges, only 1.5% of users actually accepted the offer. The very mechanism designed to retain them was being ignored.

02

Coverage gaps left money on the table

Several cancellation journeys (like 'change slot') had no nudge at all. We were silent in the moments where intent could be reshaped.

03

Even when accepted, the customer still left

RTO at the doorstep was significantly higher in test vs. control. The nudge converted intent, but failed to retain it through fulfilment.

03, Voice of the customer

We called 42 users.

The qualitative work mattered more than the dashboards. Three patterns surfaced, and they reframed the problem entirely.

The user picked the wrong reason

Voice-of-customer interviews showed users were hitting the closest-sounding subreason just to escape, leaving us solving the wrong problem.

The nudge didn't get read

'I don't remember seeing the nudge' and 'I read it but didn't understand' were the two most common responses. The design wasn't earning attention.

Cancellation had become a habit

Users had been trained to cancel as the universal fix. The nudge was fighting muscle memory, not a fresh decision.

Wrong reason · 21 users
Wrong reason · 21 users
Didn't read / didn't land · 16 users
Didn't read / didn't land · 16 users
Tech failure on attribute change · 10 users
Tech failure on attribute change · 10 users
Action map derived from the VOCs, what to fix, in priority order.
Action map · what we'd fix, in priority order

04, Design principles

We anchored the redesign in behavioural science.

🎯

Reason-agnostic first

Show the doubt nudge upfront, before reason selection, so it works even when the user picks the wrong reason.

🪜

Goal-gradient theory

Intercept earlier in the funnel. Motivation to cancel grows with each step; the earlier we intervene, the easier it is to reframe.

🧠

Fogg's B = MAT

Behaviour = Motivation × Ability × Trigger. Each nudge variant was designed against one of those three levers, not all at once.

Fogg's B = MAT framework with three trigger types, Facilitator, Spark, Signal.
Fogg's B = MAT · the three trigger types we designed against
Hypothesis sketch, intent to cancel grows after each step, so intervene earlier.
Goal-gradient hypothesis · intervene before momentum builds

05, The single biggest change

Move the nudge before the reason, not after.

The old flow waited for the user to pick a reason before firing a nudge, by which point intent had already calcified. The proposed flow intercepts the moment the user taps Cancel, with a reason-agnostic doubt nudge. One reordering, three downstream wins.

Before

Nudge fires after reason selection.

The current nudge flow, fires only after reason selection.
Current flow · 4 steps to the nudge

After

Nudge fires before reason selection.

Proposed flow, agnostic doubt nudge fires upfront, before reasons.
Proposed flow · agnostic nudge upfront
“The earliest you can intervene in a goal-gradient curve is the cheapest place to change a mind.”
, Design rationale, slide 25 of the proposal

06, A framework, not a one-off

Three nudge buckets, each tied to a different mechanism.

Rather than designing screens, we designed a system. Every nudge in the redesign maps to one of three behavioural patterns, drawn from Caraban et al's 23 Ways to Nudge (CHI '19), the canonical taxonomy of technology-mediated nudging in HCI.

Mechanism tags: Signal (just-in-time prompt) · Spark (multiple viewpoints, throttling)

🚦Signal

Agnostic Nudges

Shown upfront, irrespective of reason, a just-in-time prompt and subliminal priming. Surfaces value the user is about to walk away from before they have a chance to rationalise it.

  • , You saved ₹X on this order!
  • , Last few units left
  • , Price has now gone up
⚡️Spark

Changeable Order Attributes

Triggered by the specific reason selected. Surfaces a fix-action (change address, phone, payment) as the primary CTA, increasing the user's ability to solve the actual problem.

  • , Change Address
  • , Change Phone no.
  • , Change Payment mode
⚡️Spark

Reminding Valuable Offers

Throttles a mindless action by surfacing the value or scarcity associated with the order at the last moment, prompting reflection rather than reflex.

  • , XYZ customers love this product
  • , Save ₹X on this order
  • , Limited stock item
The three buckets framework, slide 27 of the proposal.
Buckets · the slide that anchored the team conversation
Mapping each bucket to a nudge mechanism, slide 28.
Mechanism mapping · each bucket to a 23-nudge type

07, Benchmarking

Studied six patterns. Borrowed from three.

Before drawing a single screen, we mapped how other category leaders handled the same moment. The patterns we kept (Amazon's upfront warning, Ajio's instant doubt nudge, Swiggy's destructive confirm) all share a common move: confront intent earlier in the funnel.

Amazon cancellation pattern

Amazon

Reason-agnostic warning shown upfront

Ajio cancellation pattern

Ajio

Doubt nudge fires the instant Cancel is tapped

Walmart cancellation pattern

Walmart

Pre-order nudge against future regret

Nyka cancellation pattern

Nyka

Scarcity nudge at the end of the flow

Swiggy cancellation pattern

Swiggy

Destructive-action confirmation pattern

Myntra cancellation pattern

Myntra

Radio-button reason selection, all upfront

08, The redesign

Five moves, in order of when the user feels them.

01

Agnostic Doubt Nudge

Triggered the moment the user taps Cancel, before the reason sheet. Shows up to two value propositions (refund speed, voucher, alternate slot) with subtle motion to draw the eye, then pauses.

Inspired by Amazon's upfront cancellation warning and Ajio's doubt-nudge pattern.

Agnostic doubt nudge, fires before reason selection.● Live mockup

02

Problem-solving Inline Nudge, change phone

When the reason maps to a fixable problem (wrong address, wrong phone, payment switch), the nudge becomes a one-tap path to actually solve it, ending in a thank-you that returns the user to their order.

Designed against Fogg's Facilitator trigger, increase ability, not just motivation.

Inline problem nudge · change-phone use case.● Live mockup

03

Problem-solving Inline Nudge, delivery delay

Same pattern, different reason. For 'delivery delayed' the nudge surfaces an updated promise + voucher rather than a fix-action, same Facilitator principle, different lever.

Inline nudge contextual to the reason; CTA is non-sticky to keep escape easy.

Inline problem nudge · delivery-delay use case.● Live mockup

04

Reason selection, redesigned

Moved subreasons from a scrollable bottom-sheet to upfront radio buttons capped at seven options, contextual to category. Cuts interaction cost and removes top-reason selection bias.

Benchmarked against Myntra's radio-button pattern; validated against FK's own cancellation taxonomy.

Reasons, all upfront, capped at seven, contextual to category.
Reasons, all upfront, capped at seven, contextual to category.

05

Confirmation as decision moment

Renamed 'Submit Request' to 'Confirm cancellation'. Small copy move; large psychological one, frames cancellation as a destructive choice, not an admin step.

Borrowed from Swiggy's destructive-confirmation pattern.

Submit Request → Confirm cancellation.
Submit Request → Confirm cancellation.

09, Experiments

What we tested before we shipped.

Most of the redesign was framed as hypotheses, not certainties. Two main experiments anchored the proposal, a last-chance reminder timed against the regret-aversion bias, and a gain-vs-loss copy split tied to construal-level theory (Trope & Liberman, 2010) and the 23-nudges paper.

Reminder nudge · 4 prototype variants

A last-chance buffer, only when it matters.

Triggered when the user taps Confirm cancellation, instilling doubt one last time by surfacing the value they're walking away from. The four variants test message density, copy framing, and timer duration against the same UI scaffold.

Variant 1
Variant 2
Variant 3
Variant 4

Last-chance buffer · Option A vs B

Two prototypes for the timer-backed last-chance reminder. One pauses the cancel CTA briefly; the other shifts the value proposition to the foreground for the same window. Both built against the regret-aversion bias, converting a reflex into a reflective choice.

Two timer-buffer prototypes, Option A and Option B.
Two timer-buffer prototypes, Option A and Option B.

Why a timer at all?

Confront-nudge framework: in a mindless or rushed act, even a small pause in the presence of value can reverse the action. Cancellation had become an automatic response, the timer reframes it as a deliberate one.

The behavioural rationale behind the timer mechanism.
The behavioural rationale behind the timer mechanism.

Gain vs loss framing, 'I changed my mind'

Research shows gain-frames work better for women, loss-frames for men. The 'changed my mind' nudge tested both copy variants against the same UI scaffold to see which moved the lever for which audience.

Gain vs loss copy A/B for the 'changed my mind' reason.
Gain vs loss copy A/B for the 'changed my mind' reason.

Gain vs loss framing, 'Delivery delayed'

Same psychological lever, applied to the most common reason in the data. Loss-framing ("don't lose your slot") vs gain-framing ("keep tomorrow's delivery") tested side-by-side.

Gain vs loss copy A/B for the 'delivery delayed' reason.
Gain vs loss copy A/B for the 'delivery delayed' reason.

10, The other half · attribute-change use case

When the reason has a fix, fix it inline.

For wrong address, wrong phone, wrong payment mode, the nudge becomes a pop-up that surfaces the change action as the primary CTA (a Facilitator nudge: making the right choice the easy choice). Vernac strings, recognition-over-recall iconography, and a one-tap path back to the order.

Pop-up nudge, Change Address as the default CTA, vernac copy.
Pop-up nudge · vernac, primary CTA = the fix
Change address user flow, pop-up routes the user back into a successful flow.
Change-address flow · ends back on the order

11, What I learned

Behavioural design is a revenue lever.

Behavioural design is the cheapest revenue lever

No new features. No backend changes. Just rethinking the order of three screens unlocked retention worth millions of orders annually.

Coverage matters before conversion

Before optimising the nudge itself, we found nudges weren't even firing in 20% of journeys. Plumbing the funnel beat polishing the pitch.

Frameworks travel

The reason-agnostic + reason-aware split became a pattern other Flipkart teams adopted for their own cancellation/refund flows. UX systems compound when they're named.

✦ Next

Want to see the rest?

All work →