Checkout abandonment
SELECT COUNT(*) AS carts,
SUM(o.id IS NULL) AS abandoned_at_checkout,
ROUND(100.0 * SUM(o.id IS NULL) / COUNT(*), 1) AS checkout_abandonment_pct
FROM carts c
LEFT JOIN orders o ON o.cart_id = c.id
AND datetime(o.ordered_at) <= datetime(c.created_at, '+2 hours')
WHERE datetime(c.created_at) < datetime((SELECT MAX(created_at) FROM carts), '-2 days');- carts
- 49678
- abandoned_at_checkout
- 37050
- checkout_abandonment_pct
- 74.6
holds on the current window