A/B 测试的分流算法
FreeGuideOnline
最新
2026-07-11
python import hashlib
def get_bucket(user_id, seed, total_buckets=10000): hash_input = f"{user_id}_{seed}".encode('utf-8') hash_val = hashlib.md5(hash_input).hexdigest() # 取哈希值的前8位十六进制,转换为整数 int_val = int(hash_val[:8], 16) return int_val % total_buckets
def assign_group(user_id, experiment_config): bucket = get_bucket(user_id, experiment_config.seed) if bucket < experiment_config.buckets_A_end: return "A" else: return "B"