Documentation

The Crash Mechanic

Why the crash exists, how it works under the hood, and what shoppers experience at every stage.

Why crashes exist

The crash is the core of what makes Anticipation Engine work. Without the possibility of losing the discount, there's no tension — and without tension, shoppers have no reason to cash out early. They'd simply wait for the maximum every time.

The crash creates a decision: take a guaranteed smaller discount now, or hold out for a bigger one that might disappear. This is the same variable reward psychology that makes scratch-off tickets, mystery boxes, and limited drops so compelling. The difference is that your shoppers never lose money — the worst outcome is paying the normal price.

How the crash works (technical)

When a shopper clicks "Reveal Your Discount," the server determines a crash point before the meter starts moving. The shopper never sees or knows the crash point — they only see the meter climbing.

  1. Session starts. The server selects a crash point based on your configured crash weights across 5% brackets.
  2. Meter climbs. The client receives only the game duration — never the crash point. The meter animates upward toward your maximum discount.
  3. Shopper decides. At any moment, the shopper can hit "Cash Out" to lock in the current percentage.
  4. Outcome. If the shopper cashes out before the crash point, they get their discount. If the meter reaches the crash point first, the discount is lost.

Security note: The crash point is calculated entirely server-side. The client never receives it, so shoppers cannot inspect network requests, read JavaScript variables, or otherwise predict when the crash will happen.

Crash weights explained

You control crash probability through bracket weights. Each bracket represents a 5% range of the discount meter, and you assign a probability weight to each one.

For example, if your max discount is 20% and your minimum floor is 5%, you have three brackets: 5–10%, 10–15%, and 15–20%. If you assign weights of 40/30/30, then 40% of sessions will crash somewhere in the 5–10% range, 30% in the 10–15% range, and 30% in the 15–20% range.

How you distribute your weights is entirely up to you. Different products, margins, and customer bases respond differently. Experiment with your weight distribution to find the balance that works best for your store — your dashboard analytics will show you exactly how shoppers are responding.

The shopper experience after a crash

When the meter crashes, the shopper sees a brief, non-punitive message: "No luck this time" with a "Continue to my order" button. Their cart is completely untouched — no items removed, no changes.

The crash messaging is intentionally soft. The shopper didn't lose anything; they just didn't win an extra discount. Many shoppers who experience a crash still complete their purchase at full price. The interaction itself — the few seconds of watching the meter climb — creates enough engagement to keep them on the page rather than bouncing.

Key insight: A crash isn't a failure for the merchant. It's a full-price conversion with zero discount cost. The shopper stayed engaged, didn't abandon, and checked out at your normal margin.

Cooldown after crash

After a crash (or a successful cashout), the shopper enters a cooldown period. The recommended cooldown is 24 hours, preventing shoppers from repeatedly playing to fish for a better result.

This protects your margins and keeps the experience feeling special rather than spammable.

Theme Compatibility →