Indranil Ghoshal
All prototypes
CheckoutA/B TestingConversionLast MilePUDO

Checkout Delivery-Option Selector — A/B testing pickup-point defaults

Testing whether defaulting checkout to a nearby pickup point — instead of home delivery — lowers delivery cost without hurting conversion.

1. What to build

A checkout delivery step that pre-selects the nearest pickup point instead of home delivery, used by an online shopper completing an order, with the single job of measuring whether the default changes what they pick.

2. User & entry point

The customer — landing on the delivery step of checkout after adding items to the basket. Sessions are randomised into one of two buckets on arrival; a product manager can also force a bucket from the demo screen to inspect each experience.

3. Screens / steps

  1. Screen 1: Bucket assignment — Control or Variant
  2. Screen 2: Delivery step with a pre-selected option and basket summary
  3. Screen 3: Pickup-point list (distance, ready-by time, opening hours, saving)
  4. Screen 4: Order confirmation — records the completed session
  5. Screen 5: Results dashboard comparing the two buckets

4. Logic & rules

  • Control: home delivery pre-selected, pickup points listed below with no incentive copy.
  • Variant: nearest pickup point pre-selected plus "Save €1.50 · Ready tomorrow" — default bias with an explicit reason.
  • Home delivery stays one click away in every bucket. The test measures default behaviour, never restriction of choice.
  • Nearest point = smallest distance from the mocked geolocation. If no point is within 2 km, all buckets fall back to home delivery.
  • Checkout completion rate is a hard guardrail: a cost win that drops completion below the control band is a failed test, not a win.

5. Data / inputs needed

All sample/mock data, stated explicitly: a mocked geolocation (Nørrebro, Copenhagen), three nearby pickup points with distance, ready-by time, opening hours and saving; one saved home address with an ETA and a €3.50 delivery fee; a fixed €74.90 basket. Session results are stored in the browser only.

6. States to handle

  • Empty — no sessions recorded yet on the results page
  • Loading — placing the order (simulated latency)
  • Error — pickup-point lookup fails, checkout falls back to home delivery
  • Abandon — the session is recorded as not completed
  • Success — order confirmed and the result written to the results store

7. Visual style

Matches this portfolio: light, high-contrast surfaces, rounded cards on a neutral palette, restrained accent colour, no illustration-heavy checkout chrome.

8. What NOT to build

No auth, no payment processing, no real carrier or geolocation APIs, no backend persistence, no basket editing or address book management, no statistical significance engine — the results page reports observed rates only.

Outcome (hypothesised — not a live test)

Default-to-pickup increases pickup-point adoption and lowers average delivery cost per order, while checkout completion holds within guardrail. Primary metric: delivery cost per order. Secondary: pickup-point adoption rate and time-to-checkout-complete. Randomised at session/customer level.

The two buckets

  • ControlHome delivery default

    Home delivery is pre-selected. Pickup points are listed below it with no incentive copy — today's live behaviour.

  • VariantPickup point default

    Nearest pickup point is pre-selected and framed with "Save €1.50 · Ready tomorrow". Home delivery stays one click away.

Built with Lovable from a structured prototype brief (screens, default-logic rules, mock data, explicit states) — the same brief format I use to scope any AI-assisted build.