Bucketing visualizer
The same SHA-256-based bucketing function the Splitstream SDKs ship — runs entirely in your browser (no API roundtrip). Paste sample identifiers, edit the variant weights, watch the cumulative distribution converge. The corpus drift test in CI checks that this function returns the exact same numbers as the PHP and Python ports against the shared corpus.
Variants
50.0%
50.0%
Bucketed: 0 units
ready
| Unit | Normalisation | Bucket | Variant |
|---|
Notes
- UTF-8 NFC normalization is applied to
experiment_keyandunit_idbefore hashing. The normalisation column shows when the input wasn't already canonical (try pasting a decomposedcafé— looks identical, hashes differently without NFC). - Production assignment is server-side. The SDK reads the variant from the
/v1/assignresponse (which also writes the stickyassignmentsrow) — it does not run this function. The localbucket()is for offline preview and the corpus drift test. - The distribution converges to the configured weights at ±1% at n=100,000 — covered by the bucketing-corpus property test in CI (see tests/Unit/BucketingCorpusTest.php).