Home▸Algorithms & AI▸Experiment Bucketing 2D: Deterministic Hash Assignment

Experiment Bucketing 2D: Deterministic Hash Assignment

Interactive 2D simulation of how mobile A/B test frameworks assign users to variants: pan and zoom a 900-bucket hash grid, ramp treatment allocation up and down, and compare deterministic hash bucketing against a naive re-randomization bug while a live churn chart tracks how many buckets flip on every change.

Algorithms & AI2DModerate60 FPS📱 Mobile-adapted⇄ 3D version
2d-mobile-ab-testing-implementation ↗ Open standalone

Behind every mobile A/B test sits a simple but easy-to-get-wrong mechanism: how do you decide, consistently, which variant a given user sees? This 2D version renders the same 900 experiment "buckets" the flagship 3D simulation uses, laid out as a pannable, zoomable tile grid, and lets you ramp a treatment allocation up and down while comparing two real implementation strategies — deterministic hashing of a stable user ID (the correct approach used by production feature-flag systems) against naive re-randomization on every change (a real bug pattern that silently reshuffles already-running users). Watch how a hash-based rollout only ever grows the treatment group without disturbing users already assigned, while the naive approach flips large swaths of the grid on every ramp change, and use the "new experiment" control to see why two concurrent tests need independent salts to stay statistically uncorrelated. A live churn strip beneath the grid plots how many buckets flipped on each of the last 40 changes, so the difference between the two modes is visible as a number, not just a color flash.

⚙ Under the hood

Interactive 2D simulation of how mobile A/B test frameworks assign users to variants: pan and zoom a 900-bucket hash grid, ramp treatment allocation up and down, and compare deterministic hash bucketing against a naive re-randomization bug while a live churn chart tracks how many buckets flip on every change.

A/B testinghashingfeature flagsexperimentationalgorithms

2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)