PracHub
QuestionsPremiumLearningGuidesInterview PrepNEWCoaches
|Home/System Design/Affirm

Design an A/B testing platform

Last updated: Apr 29, 2026

Quick Overview

This question evaluates the ability to design an end-to-end A/B testing platform, assessing competencies in distributed systems architecture, data modeling, event ingestion and storage, client/server SDKs, deterministic user bucketing, metric computation, and statistical analysis.

  • medium
  • Affirm
  • System Design
  • Software Engineer

Design an A/B testing platform

Company: Affirm

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Technical Screen

Design an internal A/B testing platform for a consumer product company. Product and engineering teams should be able to: - create, update, pause, and archive experiments - define control and treatment variants - target experiments to specific user segments - assign users consistently to variants across sessions - log exposure, click, conversion, and custom events - define primary metrics and guardrail metrics - monitor experiment results in dashboards - detect obvious data quality issues such as sample ratio mismatch Your design should cover: - APIs and core data model - experiment configuration storage - user bucketing and sticky assignment - client/server SDKs for logging exposure and events - event ingestion and storage - metric computation and statistical analysis - reliability, scalability, and low-latency requirements - common pitfalls such as double counting, event loss, and invalid experiment reads

Quick Answer: This question evaluates the ability to design an end-to-end A/B testing platform, assessing competencies in distributed systems architecture, data modeling, event ingestion and storage, client/server SDKs, deterministic user bucketing, metric computation, and statistical analysis.

Related Interview Questions

  • Design restaurant shift scheduling - Affirm (medium)
  • Design an A/B Testing Platform - Affirm (hard)
  • Design a Ticketmaster-like ticketing system - Affirm (easy)
Affirm logo
Affirm
Mar 7, 2026, 12:00 AM
Software Engineer
Technical Screen
System Design
8
0
Loading...

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

Product and engineering teams should be able to:

  • create, update, pause, and archive experiments
  • define control and treatment variants
  • target experiments to specific user segments
  • assign users consistently to variants across sessions
  • log exposure, click, conversion, and custom events
  • define primary metrics and guardrail metrics
  • monitor experiment results in dashboards
  • detect obvious data quality issues such as sample ratio mismatch

Your design should cover:

  • APIs and core data model
  • experiment configuration storage
  • user bucketing and sticky assignment
  • client/server SDKs for logging exposure and events
  • event ingestion and storage
  • metric computation and statistical analysis
  • reliability, scalability, and low-latency requirements
  • common pitfalls such as double counting, event loss, and invalid experiment reads

Solution

Show

Comments (0)

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 7,500+ 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.