PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Affirm

Design an A/B Testing Platform

Last updated: Apr 16, 2026

Quick Overview

This question evaluates a candidate's ability to design scalable, reliable experimentation and analytics platforms, testing competencies in distributed systems architecture, deterministic user allocation and stickiness, event ingestion and logging, metric computation, and statistical validity for A/B testing.

  • hard
  • Affirm
  • System Design
  • Software Engineer

Design an A/B Testing Platform

Company: Affirm

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

Design an internal A/B testing platform for a large consumer product. The platform should let product managers and engineers create experiments, define variants, choose targeting rules, set rollout percentages, and start, stop, or ramp experiments safely. For each incoming user request, the system should deterministically assign the user to a variant and keep the assignment sticky across sessions. The platform must log exposures and collect downstream events so teams can compute business metrics such as click-through rate, conversion, retention, and revenue. Discuss: - Core requirements and APIs - Experiment configuration and versioning - Traffic allocation, bucketing, and mutual exclusion - Exposure logging and event ingestion - Metric computation and reporting - Real-time monitoring, ramp-up, rollback, and guardrails - Statistical correctness concerns such as sample ratio mismatch, bot filtering, and avoiding double counting - Scalability, reliability, and data freshness trade-offs

Quick Answer: This question evaluates a candidate's ability to design scalable, reliable experimentation and analytics platforms, testing competencies in distributed systems architecture, deterministic user allocation and stickiness, event ingestion and logging, metric computation, and statistical validity for A/B testing.

Related Interview Questions

  • Design an A/B testing platform - Affirm (medium)
  • Design restaurant shift scheduling - Affirm (medium)
  • Design a Ticketmaster-like ticketing system - Affirm (easy)
Affirm logo
Affirm
Feb 27, 2026, 12:00 AM
Software Engineer
Onsite
System Design
5
0
Loading...

Design an internal A/B testing platform for a large consumer product.

The platform should let product managers and engineers create experiments, define variants, choose targeting rules, set rollout percentages, and start, stop, or ramp experiments safely. For each incoming user request, the system should deterministically assign the user to a variant and keep the assignment sticky across sessions. The platform must log exposures and collect downstream events so teams can compute business metrics such as click-through rate, conversion, retention, and revenue.

Discuss:

  • Core requirements and APIs
  • Experiment configuration and versioning
  • Traffic allocation, bucketing, and mutual exclusion
  • Exposure logging and event ingestion
  • Metric computation and reporting
  • Real-time monitoring, ramp-up, rollback, and guardrails
  • Statistical correctness concerns such as sample ratio mismatch, bot filtering, and avoiding double counting
  • Scalability, reliability, and data freshness trade-offs

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Affirm•More Software Engineer•Affirm Software Engineer•Affirm System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,000+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.