You have a table/list of 10,000 eligible users with user_id. Create a stable 50/50 assignment to variants A and B using a fixed seed. Then run an SRM check.
- Generate a bucket with a hash of user_id and a fixed seed (e.g., 202501). Map 0–49 to A, 50–99 to B.
- Count users in A and B.
- Run a chi-square goodness-of-fit test against the expected 50/50 split.
- Document the seed and assignment logic you used.
Tips (Spreadsheet)
Use a hash-like function or RAND() with a seeded surrogate if available; otherwise, simulate by hashing text via a custom formula if your tool supports it. Ensure the random value is derived from user_id so it is stable, not from volatile RAND() without a seed.
Tips (SQL sketch)
SELECT CASE WHEN MOD(ABS(HASH(CONCAT(user_id, ':', 202501))), 100) < 50
THEN 'A' ELSE 'B' END AS variant,
COUNT(*) AS n
FROM users
GROUP BY 1;