The problem The doubt strikes at the moment of commitment, and nothing answers it.
Why it happens Hesitation is rational: bids lock to a specific service, wrong-train and wrong-date mistakes are a major support driver, and the basic mechanics (per person or per booking, charged on a loss or not, what the minimum bid means) go unanswered at the point of bidding.
The behaviour we are driving They finish the bid or the purchase they started. Failing that, they set a route alert or grant push permission in the session, so a recovery message can reach them at all.
The job to be done “I hesitated: remove my doubt, don't punish it. Tell me what a bid commits me to, whether it covers everyone, and what happens if I lose, at the step where I am deciding.”
Q4 marketing model, Business Case tab, exported 29 Sep 2026: volumes checked by Analytics 8 Sep 2026; organic and target rates measured against holdout and confirmed by Analytics; a buyer's month valued at £30 an upgrade, 1.29 upgrades in a first-purchase month and 1.67 after; net is gross at the 23% take rate.
| Model row | Worked volume a month | Rate | Value per active month | Gross a year | Net a year | Q4, driven | Q4, in quarter |
|---|---|---|---|---|---|---|---|
| Engaged prospects with no bid (Active 0 to 60 days) ACTIVATE | 9,999 72,000 measured funnel drops a month, times the 63% who hold a contact channel, divided by an assumed two drops per person = 22,680 (red cell). Replacing the assumed two-drops-per-person with the measured unique reachable count is item 22. | 5.24% vs 4.03% organic | £30 an active month (one upgrade) × 1 months × 12 a year | £34,845 | £8,014 | £681 | £668 |
Q4 2026: £681 net on the driven basis (Oct £0, Nov £0, Dec £681); £668 landing inside the quarter. Driven: months active credited to Q4, pro rata by days live from the launch, the basis the Q4 V2MOM carries. In quarter: only the months that fall in October to December (Tony, 10 Sep 2026: the forecast Marketing submits). Net is gross at the 23% take rate. Launch 1 December 2026.
Success metric Share of never-transacted users active in the last 60 days with no bid who make a first purchase within 30 days of being worked.
Still to confirm The 2,000 opt-ins a month is illustrative: replace with a measured opt-in forecast (Analytics). Rates are holdout-measured but rough (item 6). The availability event is Q1 2027; the dead-end search trigger is audience-only
Ladders to Drive the First Win: new user to first purchase 20.4%; existing user to first purchase 4.8%. Metric moved Trip→Bid %. Evidence B, benchmark.
The planned case, a 30% lift in conversion, as presented to the board on 23 Sep 2026 (the Sizing tab behind the model's Business Case tab): volumes checked by Analytics (Ivi, 8 Sep 2026); organic and target rates measured against holdout and confirmed by Analytics; a buyer's month valued at £30 an upgrade, 1.29 upgrades in a first-purchase month and 1.67 in later months (the 20 Sep change; the earlier £172k counted one upgrade a month); net is gross at the 23% take rate (agreed 8 Sep 2026). Source: Q4 2026 Marketing Model, Business Case (output) and Sizing tabs, exported 2026-09-29 (the live model). Every figure is incremental of the customers who would have returned anyway: worked volume × (target rate − organic rate) × months active × times a year × value per active month.
Each engineering-row chip is coloured by the ask: APP AND JOURNEY OWNED COMPUTED TRAIT · ANALYTICS EXISTS · PIPE TO BRAZE NEW EVENT · ENGINEERING BUILDS READY · NOTHING TO BRIEF
| The moment | Phase 1, ships now | Phase 2, waits on engineering | Who builds it |
|---|---|---|---|
on the map: 1 · The value answer on landing The results banner | Nothing ships in Phase 1 | tooltip card at the price, braze in-app message The results banner stops saying one thing to everyone. | App engineering · new eventBraze · Braze buildAnalytics · computed traitDesign · copy and creative |
on the map: 1 · The value answer on landing The cabin coachmark, priced | Nothing ships in Phase 1 | native screen or modal The coachmark names the two cabins with their prices instead of naming the choice without them. Engineering rows D11 | App engineering · native screen copyDesign · copy only |
on the map: 2 · The price comparison on the auction screen The price comparison on the auction screen | Nothing ships in Phase 1 | native screen or modal A silent exit becomes an in-session answer at the moment of doubt: the walk-up comparison restated against this auction, in the flow, before the customer leaves. | App engineering · new event, computed traitAnalyticsDesign · copy only |
on the map: 3 · The enter-amount stall The enter-amount stall | native card, braze copy The bid screen answers the three stalling questions in the flow before any hesitation is measurable: the bid is per seat and the group wins together… | Nothing waits | Analytics · computed traitDesign · copy only |
on the map: 4 · The last-step check The last-step check | PAUSED 5 OCT 2026 braze push, email Nothing owns this abandon today and no event records it. | PAUSED 5 OCT 2026 native screen or modal The confirm screen makes the commitment checkable before it locks: the exact train, date and party size restated, the edit-or-withdraw window named, and the nothing-charged-on-a-loss line… Engineering rows D2 | App engineering · new eventBraze · Braze buildAnalytics |
on the map: 1 · The value answer on landing The dead-end answer | Nothing ships in Phase 1 | native screen or modal The dead end gets an honest reason, a redirect to covered routes, and a permission-split capture card: push-armed customers get the one-tap watch, everyone else is… | App engineering · logic changeDesign · copy only |
on the map: 5 · The recovery message The watched route opens | braze push, email The alert fires when the thing they asked about happens, not the morning after: at match time, on supply. Engineering rows D10 | Nothing waits | Braze · Braze buildDesign · copy and creative |
on the map: 5 · The recovery message The abandoned search | braze push, email A search that never opened an auction gets one recovery that names the upgrade they were looking at, the route, the date and the price they… | Nothing waits | App engineering · new event, computed traitBraze · Braze buildAnalyticsDesign · copy and creative |
on the map: 5 · The recovery message The recovery message | braze push, email The minutes-later generic chase becomes one next-day message per episode that answers the abandoner’s exact objection, timed after the strong unaided recovery window instead of on… | Nothing waits | Braze · Braze buildAnalytics · new eventDesign · copy and creative |
on the map: 5 · The recovery message The second touch | braze push, email A second touch exists only as a delivery repair, never an escalation: the same answer on the other channel where both are held, or again on… | Nothing waits | Braze · Braze buildDesign · copy and creative |
| The legacy chase stands down | The pair’s never-bid slice is replaced by the day-after recovery, after an audit of who the pushes actually reach. Engineering rows D3 | Nothing waits | Braze · Braze buildAnalytics |
on the map: 4 · The last-step check Permission at peak intent | braze in-app message Carried as the signed shared mechanic: permission asked at peak intent and peak trust, with the permission-split card at the dead end (row 6) as this… | Nothing waits | Braze · Braze buildDesign · copy and creative |
| Power users | Their dwell is comparison, not confusion: three trains held open on a route is a power user comparing, and a hesitation nudge at that moment reads… | Nothing waits | Analytics |
on the map: 5 · The recovery message The silent price exit | Today’s silence continues, now by design rather than by gap: a message that just says come back re-presents the same unanswered doubt. | Nothing waits | Marketing · copy only |
| Route not covered | No cold chase ever: a message cannot conjure a route. | Nothing waits | Marketing · copy only |
The words are on the journey map above. A D number opens that row of the Engineering brief; the engineering board uses the same numbers. Live sends not named here continue unchanged.
| The question | Owner |
|---|---|
| Ratify the recovery owner: this journey authors and owns the shared funnel-abandon recovery spine, deepest step wins, two touches then silence, day-7 hand-back. | Blocks launch Sheran, at Gate 1 |
| Ratify day-one timing for the first recovery touch, superseding the earlier one-hour working assumption. | Blocks launch Sheran, at Gate 1 |
| The legacy pair’s entry criteria and actual reach: one console audit of who the abandoned-auction pushes chase today, then the bid-placed boundary ruling. | Blocks launch Lisa, and the Braze developer |
| Reconcile the 90-day and six-month step definitions and name which event marks entering the bid flow, before the headline test is sized. | Blocks launch Analytics: Ivi and Ben |
| Size the recovery holdout and the headline test: baseline, minimum detectable effect, significance and runtime, stated up front. | Blocks launch Analytics: Ivi and Ben |
| Define the per-screen dwell thresholds that separate hesitation from reading, before Engineering builds the events. | Analytics: Ivi and Ben |
| Measure the alert capture card’s opt-in rate, and the alert’s own conversion. | Analytics: Ivi and Ben |
| Spec the dead-end reason split (not covered, too early, Avanti cabin miss) with Engineering, so the honest dead-end copy can fire on the right case. | Analytics: Ivi and Ben |
| # | The ask | Hand back | Start here |
|---|---|---|---|
| 1 | Reconcile the two funnel step definitions and name which event marks entering the bid flow. The 90-day read puts the biggest leak at the amount box (57% never enter an amount); the six-month read puts it one screen earlier at 48%. Gates the headline test: the fix follows the location. | The ruled step definition and the corrected step volumes. | The measurement position on the Campaign brief. |
| 2 | Define the per-screen dwell thresholds separating hesitation from reading, before Engineering builds the events. | A threshold per screen, with the definition of a hesitation. | Rows 2 and 3 on the Decisioning matrix. |
| 3 | Size the recovery holdout and the headline test: baseline, minimum detectable effect, significance and runtime, stated up front. The high unaided recovery (31% after the first hour) flatters every attributed read. | The sized holdout and the test design. | The measurement position on the Campaign brief. |
| 4 | Verify the assumed step split behind the 72,000 monthly drops (about 27,500 at results, 34,100 at the amount box, 10,300 at confirm) against the warehouse. | Confirmed or corrected step volumes. | The hero figures on the Campaign brief. |
| 5 | Measure the capture card’s opt-in rate and the alert’s own conversion: today’s only real dead-end recovery is unmeasured, and three proposed moments ride the mechanic. | The opt-in and conversion reads. | The dead-end band on the TO-BE map. |
| 6 | Build the two selection traits: the never-bid against bid-before flag, and the true figures (route walk-up, from-bid, winning-bid band; the saved amount waits on the saved-bid store), nightly computed on the standing pattern, into the daily sync payload. | The traits live in the sender, coverage stated. | The Engineering brief’s traits band. |
| 7 | PAUSED 5 OCT 2026 No longer a requirement for now: Journey 3’s confirm screen is paused. Design the confirm-abandon diagnostic: price hesitation against payment friction, once the event exists; payment friction routes to Product. | The diagnostic design and its read. | Row 5 on the Decisioning matrix. |
The do-nothing baseline is already measured and non-trivial: the funnel converts 13.6% (iOS) and 18.2% (Android) over 7 days on its own. Any read that does not subtract it will flatter the send.