⌂ Problem Analysis
Problem Analysis

Checkout conversion dropped 8% last month

InvestigatingOpened 2026-03-02 · Lead: Alex Lin

The problem

Between 1–28 Feb, completed-checkout rate on web fell from 4.6% to 4.2% (an 8% relative drop). The decline is concentrated in evening hours; the mobile app is flat. No pricing change or major UI release shipped in the window.

Value of solving
At current traffic the gap is ≈ $180K / month in lost revenue — the quarter's top revenue priority.
Desired result
Find the cause(s) and restore web checkout conversion to ≥ 4.6%, verified over two weeks.
Constraints / scope
Web checkout flow only; last 60 days of data; no pricing, catalog, or redesign changes during analysis.

Sub-problems

This is a broad problem, so it's split into the sub-problems below. Open each to see its hypotheses, experiments, and conclusion. A sub-problem that turns out to be broad can split again the same way.

Sub-problem 1

Technical failures in checkout

Investigating

The sub-problem

Determine whether technical faults — server errors, gateway timeouts, or slow responses in the checkout path — are causing abandonment. The evening concentration of the drop strongly hints at load-related failures during peak traffic.

Value of solving
If technical failure is the cause it is directly fixable and likely recovers the bulk of the lost conversion — the fastest route back to ≥ 4.6%.
Desired result
Confirm or rule out technical failure as a cause, and if confirmed, localize it to a service or step.
Constraints / scope
Checkout request path only (cart → confirm); evening peak traffic; staging load tests must mirror production data.

Hypotheses

H1504 gateway timeouts spike at peak load and abort checkouts.Supported
H2Payment-service latency degrades during peak, slowing the final step.Supported

Conclusion

ConclusionConfirmed

Experiments confirm load-dependent 504 timeouts originating in the payment-service database connection pool (Exp 1.1–1.2). Technical failure is a confirmed contributor to the evening drop.

Sub-problem 2

A funnel step losing users

Open

The sub-problem

Determine whether a specific checkout step is shedding more users than before — independent of technical errors — such as a form change, a stricter validation, or a layout change introduced in the window.

Value of solving
If a funnel/UX regression is the cause, a targeted fix to that one step could recover conversion with no backend work.
Desired result
Identify any step with abnormal drop-off and its cause, or rule out a funnel change.
Constraints / scope
Step-to-step funnel only; compare January vs February; exclude payment-side technical effects (covered by Sub-problem 1).

Hypotheses

H1The address-validation step rejects more entries than before, causing abandonment.Untested
H2A required field added in late January increased friction.Untested

Conclusion

ConclusionUnlikely

Funnel analysis shows the extra drop-off concentrated at the payment step, matching the technical findings rather than a UX change; form and validation steps are unchanged month over month (Exp 2.1). A funnel/UX change is unlikely to be the primary cause.

Experiment 1.1

Reproduce checkout timeouts under controlled load

Complete

1 · Process

Ran a load test against the staging checkout, ramping concurrent checkout sessions from 50 to 300 in steps of 50 and holding each level for five minutes, with production-like data. Recorded HTTP status, end-to-end latency, and database connection-pool metrics at each step.

2 · Data

Chart 1 · 504 errors vs concurrent checkout sessions.

500
1000
1501
20014
25033
30058

3 · Analysis

Errors are near-zero below 200 concurrent sessions and rise sharply above it, tracking database connection-pool saturation step for step. The relationship is load-dependent and matches the evening-peak pattern seen in production.

4 · Conclusion

ConclusionConfirmed

The 504 timeouts are reproducible and load-dependent, beginning at roughly 200 concurrent checkouts as the payment-service DB pool saturates.

Experiment 1.2

Step-by-step latency during peak

Complete

1 · Process

Instrumented the checkout path to record p95 latency per step (cart → address → payment → confirm) and sampled across three evening peaks, comparing against the January baseline.

2 · Data

StepJan p95Feb p95
Cart0.3s0.3s
Address0.5s0.5s
Payment1.1s6.2s
Confirm0.4s0.4s

3 · Analysis

Nearly all of the added latency is in the payment step (1.1s → 6.2s); every other step is unchanged. This isolates the degradation to payment-service, consistent with Exp 1.1.

4 · Conclusion

ConclusionConfirmed

Latency degradation is isolated to the payment step; the rest of the funnel is healthy.

Experiment 2.1

Funnel drop-off by step (Jan vs Feb)

Complete

1 · Process

Compared step-to-step conversion in the checkout funnel for January vs February using the analytics export, looking for any step whose pass-through rate fell.

2 · Data

Step → nextJanFeb
Cart → Address88%88%
Address → Payment81%80%
Payment → Confirm74%66%

3 · Analysis

Pass-through fell only at Payment → Confirm (74% → 66%); the form and validation steps are unchanged. The loss coincides with the payment-step latency and timeouts found in Sub-problem 1 — a technical cause, not a funnel redesign.

4 · Conclusion

ConclusionUnlikely

No abnormal funnel loss outside the payment step; a UX/funnel change is unlikely to explain the drop.