CS-04 · Measuring Design Impact

Case study ·

CS-04

·

Recurly

Design impact as a time series: task efficiency from 49% to 100%

Recurly’s first repeatable usability benchmark: six revenue tasks, one script, every release. Design quality became a time series, and the practice outlived me.

Cancel subscription

49→100%

Run 1

49%

Run 2

100%

Add subscription

29→91%

Run 1

29%

Run 2

91%

Issue refund

20→87%

Run 1

20%

Run 2

87%

fig. 1

Time-weighted task efficiency after two runs: same six tasks, same script, four months apart. Three of the six shown; Add Charge Invoice still lagged, and it stays on the chart on purpose.

Benchmark · runs 1–2

Org

Recurly

Years

2018–19

Type

Team practice

Status

Adopted as a release ritual

Org

Recurly

Years

2018–19

Type

Team practice

Status

Adopted as a release ritual

Org

Recurly

Years

2018–19

Type

Team practice

Status

Adopted as a release ritual

My role

Design lead · Recurly product design

Scope

The benchmark, the test scripts, and the measurement practice

Team

1 engineer

Leadership

Stood up the org’s first usability-measurement practice and ran it every release

Shared or outside my scope

Engineering built the fixes; product owned release scope

My role

Design lead · Recurly product design

Scope

The benchmark, the test scripts, and the measurement practice

Team

1 engineer

Leadership

Stood up the org’s first usability-measurement practice and ran it every release

Shared or outside my scope

Engineering built the fixes; product owned release scope

My role

Design lead · Recurly product design

Scope

The benchmark, the test scripts, and the measurement practice

Team

1 engineer

Leadership

Stood up the org’s first usability-measurement practice and ran it every release

Shared or outside my scope

Engineering built the fixes; product owned release scope

CS-04

TL;DR — the case in one card

Problem

Recurly’s platform shipped on merchant trust and had never once been usability-tested. Design quality was invisible, and value you can’t measure is easy to cut.

What I did

Built the org’s first repeatable measurement practice: six revenue-critical tasks, one script, run as a benchmark every release, with fixes shipped between runs.

49→100%

Cancel-subscription task efficiency

runs 1→2 of a six-task benchmark

20→87%

Issue-refund efficiency

runs 1→2 of a six-task benchmark

2

Benchmark runs, a third scoped

Baseline · fixes · rework planned

Timeline

2 months to stand up

Status

Adopted as a release ritual

Org

Recurly · 2017–19

CS-04

TL;DR — the case in one card

Problem

Recurly’s platform shipped on merchant trust and had never once been usability-tested. Design quality was invisible, and value you can’t measure is easy to cut.

What I did

Built the org’s first repeatable measurement practice: six revenue-critical tasks, one script, run as a benchmark every release, with fixes shipped between runs.

49→100%

Cancel-subscription task efficiency

runs 1→2 of a six-task benchmark

20→87%

Issue-refund efficiency

runs 1→2 of a six-task benchmark

2

Benchmark runs, a third scoped

Baseline · fixes · rework planned

Timeline

2 months to stand up

Status

Adopted as a release ritual

Org

Recurly · 2017–19

01

A platform thousands trusted, never once tested

Recurly is a B2B2C subscription billing platform: the system merchants trust to charge their customers correctly. That trust cut both ways. Every rough edge shipped at scale, on tasks with real money in them, and in the platform’s history nobody had ever run a usability test on it. Quality was invisible; releases shipped on faith.

The invisibility was a design problem of its own. Value you can’t measure is easy to cut, and design at Recurly was spending its credibility on opinion. I wanted a different currency.

The thesis case

This is the practice behind the receipts. The habit of attaching a number to design work starts in projects like this one.

02

Don’t argue for design. Measure it.

The bet was simple: stop making the case for design in meetings and let the product make it. I picked six revenue-critical tasks (canceling a subscription, adding one, and issuing a refund among them), wrote one test script with an engineer, and made those tasks the yardstick we’d run every release.

One scorecard, every release: the same tasks and the same script, so every delta is directly comparable to what shipped in between.

Field note

A measurement practice doesn’t need a research org. It needs a script, a calendar, and some stubbornness.

Design impact stops being an opinion and becomes a time series.

Design impact stops being an opinion and becomes a time series.

Benchmark constants — held every run

The tasks

Six revenue-critical tasks — canceling a subscription, adding one, and issuing a refund among them — in the same order, every run.

The script

One script, re-run verbatim each release, so every delta is directly comparable to what shipped in between.

The reporting

Task success per task, per run. Laggards stay on the chart, Add Charge Invoice included.

The caveat

Small cohort, kept consistent: directional results, reported as exactly that.

fig. 2.1

The scorecard’s standing rules.

Validately task prompt asking the tester to add a $10 charge to a customer account.

fig. 2.2

The instrument in the field: one of six task prompts, run unmoderated in Validately, think-aloud. Testers were recruited cold — no Recurly background, no help.

Artifact · test script

Validately task prompt asking the tester to add a $10 charge to a customer account.

fig. 2.2

The instrument in the field: one of six task prompts, run unmoderated in Validately, think-aloud. Testers were recruited cold — no Recurly background, no help.

03

Three calls: same tasks, revenue stakes, laggards stay visible

The benchmark’s credibility came down to three decisions.

Honest ledger

Every one of these calls trades short-term shine for long-term believability. That’s the whole product.

DL-01

Benchmark the same six tasks, every run

Alternative considered

Test whatever each release shipped: fresh tasks per round, tuned to the newest work.

Why it won

Identical tasks and scripts make runs comparable. Gains read as real, not a one-time bump, and the trend survives skepticism.

What it cost

Coverage. Work outside the six tasks goes unmeasured, and the scorecard says nothing about it.

DL-01

Benchmark the same six tasks, every run

Alternative considered

Test whatever each release shipped: fresh tasks per round, tuned to the newest work.

Why it won

Identical tasks and scripts make runs comparable. Gains read as real, not a one-time bump, and the trend survives skepticism.

What it cost

Coverage. Work outside the six tasks goes unmeasured, and the scorecard says nothing about it.

DL-02

Make revenue-critical tasks the yardstick

Alternative considered

Benchmark the flows design most wanted to fix, where quick wins were likely.

Why it won

Cancel, add, refund: tasks the business already cared about. When those numbers move, nobody asks why the metric matters.

What it cost

A harder test. Revenue paths run through billing logic, and the baseline scores were ugly enough to be uncomfortable.

DL-02

Make revenue-critical tasks the yardstick

Alternative considered

Benchmark the flows design most wanted to fix, where quick wins were likely.

Why it won

Cancel, add, refund: tasks the business already cared about. When those numbers move, nobody asks why the metric matters.

What it cost

A harder test. Revenue paths run through billing logic, and the baseline scores were ugly enough to be uncomfortable.

DL-03

Keep the lagging number on the chart

Alternative considered

Report the wins, and quietly bench Add Charge Invoice until it improved.

Why it won

A scorecard that only goes up reads as a pitch. The number that didn’t move is what made the others credible.

What it cost

Every readout opened with a question about the laggard. Worth it.

DL-03

Keep the lagging number on the chart

Alternative considered

Report the wins, and quietly bench Add Charge Invoice until it improved.

Why it won

A scorecard that only goes up reads as a pitch. The number that didn’t move is what made the others credible.

What it cost

Every readout opened with a question about the laggard. Worth it.

04

Run 1 set the baseline. Run 2 moved it. The scorecard became the practice.

Run 1 was uncomfortable on purpose: 49%, 29%, and 20% task efficiency on flows merchants pay for. Run 2 repeated the identical script four months and one focused fix list later, and most key tasks jumped (fig. 1). By Run 2, the scorecard was simply how release quality got judged.

On the fixes

Nothing heroic moved these numbers: an actions menu, a link where people actually looked, fewer dead ends. Placement beat invention.

Outcome coding — run 1 · Nov 2018 · 15 testers

Add charge invoice

5

2

2

6

Add credit invoice

12

3

Add subscription

5

2

8

Edit subscription

9

2

3

Cancel subscription

7

4

3

Issue refund

5

5

5

Direct success

Eventual success

Unable to complete

Perceived complete — wasn’t

fig. 4.1

Run 1, coded four ways. The rightmost band is the dangerous one: testers who believed they’d finished a revenue task, and hadn’t. Edit and Cancel reflect 14 of the 15 testers.

Run 1, coded four ways. The rightmost band is the dangerous one: testers who believed they’d finished a revenue task, and hadn’t. Edit and Cancel reflect 14 of the 15 testers. Edit and Cancel reflect 14 of the 15 testers.

Benchmark · run 1 · Nov 2018

Run

What shipped

What it showed

What it earned

RUN 1

Nothing yet. The baseline: six revenue tasks, one script, the platform’s first usability data.

Cancel Subscription at 49% task efficiency, Add Subscription at 29%, Issue Refund at 20%.

Quality really had been shipping on faith. Now it had numbers.

RUN 2

A focused fix list: an actions menu on the subscription card, a direct add-subscription link on the account page, a clearer refund path.

Most key tasks jumped: 100%, 91%, 87%. Add Charge Invoice still lagged.

Small, attributable fixes move numbers. The laggard earned its own rework.

THE THIRD RUN

The scoped third run: credits and charges split onto separate documents, and the charge, credit, and refund flows rebuilt (CS-05).

I left Recurly before the third run ran. The tasks, the script, and the 85% goal line were already on the team’s calendar.

A scorecard that no longer needed its author. That was the point.

RUN 1

What shipped

Nothing yet. The baseline: six revenue tasks, one script, the platform’s first usability data.

What it showed

Cancel Subscription at 49% task efficiency, Add Subscription at 29%, Issue Refund at 20%.

What it earned

Quality really had been shipping on faith. Now it had numbers.

RUN 2

What shipped

A focused fix list: an actions menu on the subscription card, a direct add-subscription link on the account page, a clearer refund path.

What it showed

Most key tasks jumped: 100%, 91%, 87%. Add Charge Invoice still lagged.

What it earned

Small, attributable fixes move numbers. The laggard earned its own rework.

THE THIRD RUN

What shipped

The scoped third run: credits and charges split onto separate documents, and the charge, credit, and refund flows rebuilt (CS-05).

What it showed

I left Recurly before the third run ran. The tasks, the script, and the 85% goal line were already on the team’s calendar.

What it earned

A scorecard that no longer needed its author. That was the point.

Recurly account page with red boxes marking the new Add Subscription, Add Charge, and Add Credit links.

fig. 4.2

Fix, not invention: Add Subscription, Add Charge, and Add Credit surfaced on the account page — where testers kept looking for them.

Shipped between runs

Recurly account page with red boxes marking the new Add Subscription, Add Charge, and Add Credit links.

fig. 4.2

Fix, not invention: Add Subscription, Add Charge, and Add Credit surfaced on the account page — where testers kept looking for them.

Recurly subscription details page with a red box marking the new Options menu, open to Edit, Pause, and Cancel Subscription.

fig. 4.3

The actions menu on the subscription record: Edit, Pause, and Cancel, one click from where the task starts.

Shipped between runs

Recurly subscription details page with a red box marking the new Options menu, open to Edit, Pause, and Cancel Subscription.

fig. 4.3

The actions menu on the subscription record: Edit, Pause, and Cancel, one click from where the task starts.

Outcome coding — run 2 · Mar 2019 · 11 testers

Add charge invoice

5

1

5

Add credit invoice

8

1

1

1

Add subscription

9

1

1

Edit subscription

8

3

Cancel subscription

11

Issue refund

8

1

2

Direct success

Eventual success

Unable to complete

Perceived complete — wasn’t

fig. 4.4

Run 2, same tasks, same coding. Cancel Subscription went clean — eleven of eleven direct successes. Add Charge Invoice stayed stubborn, and stayed on the chart.

Benchmark · run 2 · Mar 2019

05

The numbers moved. The practice stayed.

Directional · small cohort

Benchmark results

49→100%

Cancel-subscription task efficiency

directional · small cohort — method below

20→87%

Issue-refund task efficiency

Method, stated plainly: iterative usability testing across release cycles with consistent task scripts and a small cohort, so these are directional results, not a controlled study. Add Charge Invoice still lagged after Run 2, and it stays on the chart on purpose. The lasting win is the practice itself: a third run was scoped to judge the credit-invoices rework (CS-05); I left before it ran, and the scorecard stayed with the team.

Directional · small cohort

Benchmark results

49→100%

Cancel-subscription task efficiency

directional · small cohort — method below

20→87%

Issue-refund task efficiency

Method, stated plainly: iterative usability testing across release cycles with consistent task scripts and a small cohort, so these are directional results, not a controlled study. Add Charge Invoice still lagged after Run 2, and it stays on the chart on purpose. The lasting win is the practice itself: a third run was scoped to judge the credit-invoices rework (CS-05); I left before it ran, and the scorecard stayed with the team.

Reported ease of task, 1–5 — testers’ own rating

Add charge invoice

3.67→4.18

Run 1

3.67

Run 2

4.18

Add credit invoice

4.33→4.36

Run 1

4.33

Run 2

4.36

Add subscription

3.73→4.91

Run 1

3.73

Run 2

4.91

Edit subscription

4.20→5.00

Run 1

4.20

Run 2

5.00

Cancel subscription

3.53→4.73

Run 1

3.53

Run 2

4.73

Issue refund

3.33→4.09

Run 1

3.33

Run 2

4.09

fig. 5.1

Reported ease, run over run. Every task moved up; nothing that shipped got harder.

Benchmark · runs 1–2

Task success — quarterly goal line

Goal (OKR)

Actual

Run 1

Q4 2018

55.6%

Run 2

Q1 2019

60%

77.3%

Next run

Q2 2019

85%

TBD

fig. 5.2

The number that outlived the study: task success became a quarterly OKR with a goal line. Run 2 beat its 60% goal at 77.3%.

Artifact · roadmap OKR

06

What outlived the study

The screens were never the point; the operating system was. Sorted honestly:

Team practice I established — Six tasks, one script, every release. By Run 2 the readout was a standing ritual, and the scorecard was built to run without its author.

Direction I changed — Task success became a quarterly OKR with a goal line: 60% for Run 2, beaten at 77.3%; 85% set for the next run. Design quality got a seat in planning, next to revenue.

Execution I owned — The task list, the scripts, the outcome coding, the readouts, and the fix lists between runs.

Shared or outside my scope — Engineering built the fixes; product owned release scope; the third run was the team’s to run.

07

Let the numbers do the arguing

What worked here travels anywhere: pick tasks the business already values, hold the script constant, and let the numbers carry the argument instead of the designer. What I’d change is sequencing. I stood the baseline up alongside the first fixes; next time it comes first, so every later gain is unambiguous. The practice’s last job is running without me, wired into every release cycle and owned by the team.

There’s more to the practice than fits one page.

Closing note

The best artifact this project produced wasn’t a screen. It was a habit the org kept.