Building a Recurring Buy feature people keep using

The first release barely converted and few plans stayed active. I led the research and V2 redesign that improved sustained usage, then used the same evidence to explore how recurring plans could support more advanced strategies.

Role
Lead Product Designer
Company
OKX
Scope
Research, product strategy, end-to-end design
Platform
iOS · Android
Team
Partnered with 2 PMs and 3 engineers across iOS, Android, and backend
Regions
US · EU · SG
V3 price-range buying — the current face of Recurring Buy

Results after V2

ACH order success

Plans set up

More active plans

We launched it, but almost nobody kept using it

Recurring Buy let people buy on a schedule instead of placing every trade. In the first release, about 23% of people who entered setup created a plan, and about 5% kept using it.

The numbers told us the experience was not working. They did not tell us why.

V1 setup flow — choosing one-time order, recurring buy, or limit order, then a plan details screen showing the next order date, payment method, and pause and cancel controlsV1 setup flow — choosing one-time order, recurring buy, or limit order, then a plan details screen showing the next order date, payment method, and pause and cancel controls

Was the problem discovery, understanding, or the product itself?

A low conversion rate can point to very different problems. I designed and ran the study myself, framing three hypotheses and matching each to the evidence that could test it.

  • Could people find it?

    I added entry points before and after the instant buy flow to test whether stronger discovery moved more people into setup.

  • Did they understand it?

    I reviewed where people dropped out and whether setup explained the value and the commitment.

  • Did the product fit their needs?

    I surveyed users about payment methods, plan visibility, performance detail, and trust after setup.

Funnel diagram — 100% opened the flow, 23% created the plan, 5% kept using it

Before redesigning, I tested what was holding Recurring Buy back

I used A/B tests and product behavior to see which hypotheses held up, then surveyed users when the data could not explain why.

ExplorationEntry-point and frequency explorations for recurring buy
Five entry-point explorations for recurring buy: showing the entry point upfront, reducing clicks to change frequency, providing a coach mark upon entering the screen, adding education about recurring buy, and surfacing the entry point on the instant buy success pageFive entry-point explorations for recurring buy: showing the entry point upfront, reducing clicks to change frequency, providing a coach mark upon entering the screen, adding education about recurring buy, and surfacing the entry point on the instant buy success page

Interest was there. The bigger problem started after users committed.

Discovery experiments increased entry into the flow, but not sustained use. The product was asking people to delegate future purchases without supporting them afterward.

40%

Order failed due to funding issue

36%

Couldn’t see what the plan is doing

52%

Wanted more control over the recurring buy

The redesign needed to support the plan after creation, not just help users finish setup.

V2 — Make it easier to start, fund, and understand

V2 addressed the full plan lifecycle, not just the setup flow.

Frequency picker — one time, daily, weekly, every two weeks, or monthly
Easier to start
Recurring buy plan detail — amount, frequency, next order, payment method, and performance
Easier to understand
Payment method picker — USD balance, Chase checking, PayPal, and Visa
More ways to pay
1

Make it easier to start

Recurring Buy moved into the familiar buy flow, where users chose to buy once or buy on a schedule in context.

2

Support how people already fund purchases

ACH and stablecoin funding shipped with V2. The constraint was the missing payment options, not the copy explaining them.

3

Make plans easier to find and understand

Recurring plans surfaced in Portfolio, Activity, and Transaction History. The plan view added average purchase price, current price, total invested, performance, and order history.

ExplorationExploring plan detail information architecture
Plan detail explorations across five screens: the recurring buy list, a plan detail view with an expandable plan details section, a BTC weekly plan overview, a combined plan details and performance view with a return chart, and an editable plan settings viewPlan detail explorations across five screens: the recurring buy list, a plan detail view with an expandable plan details section, a BTC weekly plan overview, a combined plan details and performance view with a return chart, and an editable plan settings view
4

When users delegate an action, the product has to keep them informed

Repeated low-balance failures pause the plan and explain what happened. Removing a payment method shows which recurring plans it affects before the user confirms.

Five plan states — updated confirmation, payment method issue, price change, low balance, and a plan paused after three failed ordersFive plan states — updated confirmation, payment method issue, price change, low balance, and a plan paused after three failed orders
ShippedLow-balance notifications across push, in-app, and email
A low-balance push notification, the in-app warning on the plan with a deposit action, and the follow-up email with the plan details and a deposit buttonA low-balance push notification, the in-app warning on the plan with a deposit action, and the follow-up email with the plan details and a deposit button
5

Give users full control over an active plan

People could edit the amount, frequency, and payment method on a running plan, or pause and cancel it without contacting support.

ShippedPlan detail page and its editing controls
Plan detail page and its editing controls — choosing a frequency with a start date, the plan at rest with recent orders, editing the amount, choosing when the plan starts, and choosing a payment methodPlan detail page and its editing controls — choosing a frequency with a start date, the plan at rest with recent orders, editing the amount, choosing when the plan starts, and choosing a payment method

The product changes showed up in sustained usage

After V2 launched, Recurring Buy became more reliable and more people kept their plans active.

~99.6%

ACH order success

5×

Plans set up

+22%

More active plans

The redesign did more than improve setup conversion. It supported the plan after the user had delegated it.

I saw a way Recurring Buy could be useful to more people

As a trader, I liked automation but not buying at any price. I treated that as a hypothesis rather than a requirement, and tested whether other users felt it too.

The research showed the need was bigger than my own behavior.

47%

wanted more control over timing

52%

stopped when market conditions changed

Users understood the value of automation. A fixed schedule just could not respond to their view of the market.

Design direction

Buy on a schedule, only within your price range

The first direction added one condition to the schedule. Users set the range where they were comfortable buying, and the plan placed the scheduled order only when price was inside it.

The plan captures the intent. Strategy changes how it executes.

Dip multiplier — same schedule, the amount grows while price trades below the triggerDip multiplier — same schedule, the amount grows while price trades below the trigger
Same schedule — the amount grows while price trades below the trigger
Price-range buying — the plan itself starts and stops based on the price rulePrice-range buying — the plan itself starts and stops based on the price rule
The plan itself starts and stops based on the price rule

Keep the amount page simple. Let strategies grow separately.

A price range added decisions to a setup page that had to stay easy for first-time users. So I separated the recurring plan from the strategy applied to it.

A recurring plan stays the foundation. Strategies become optional layers on top.

One model that can grow beyond Price Range

The amount page stays focused on creating a standard plan. Users who want more control add a strategy afterward from Plan Details.

  • The base plan holds the amount, asset, payment method, and schedule.
  • Price Range becomes an optional strategy that changes when the plan executes.
  • The same structure can support future strategies.
V3 plan customization — base plan with a conditional price-range rule added on top

Design principle

Simple does not mean basic

A simple default protects the main job. A scalable structure gives experienced users more control without making everyone learn the complexity upfront.