#Backend

실험을 더 편하게 설계할 수 있게: 당근 실험플랫폼 이야기

실험을 더 편하게 설계할 수 있게: 당근 실험플랫폼 이야기
01

Summary

월 290개 실험도 끄떡없다! 당근이 A/B 테스트 병목을 해결한 3가지 치트키

코딩 없는 지표 정의부터 LLM 에이전트를 활용한 자동화까지, 당근 실험플랫폼의 진화기

당근의 급격한 성장으로 실험 규모가 14배 이상 증가하면서 발생한 지표 정의 병목과 실험 간 간섭 문제를 해결하기 위해 실험플랫폼을 고도화했습니다. 누구나 코드 없이 UI에서 지표를 설계하고, 상호배제 슬롯 구조로 안전하게 동시 실험을 수행하며, LLM 기반의 MCP를 도입해 실험 등록과 분석 리드타임을 획기적으로 개선한 경험을 공유합니다.

  • 01지표 등록 과정을 YAML/SQL 코드 작성에서 직관적인 UI 기반의 노코드 환경으로 전환하여 리드타임을 시간 단위에서 분 단위로 단축
  • 021부터 10,000까지의 슬롯과 다중 레이어 구조를 활용한 상호배제 그룹을 구현하여 동일 지면 내 실험 간의 데이터 오염 방지
  • 03Model Context Protocol(MCP) 기반의 Experiment MCP를 구축하여 LLM이 자연어 명세만으로 실험을 직접 설계 및 등록하도록 자동화
  • 04검정력 보완을 위해 CUPED 분산 감소 기법을 활용하여 상호배제로 인한 표본 수 감소 문제에 대응
  • 05에이전트가 BigQuery 등의 데이터 인프라와 결합하여 심층적인 실험 후속 분석(코호트 슬라이싱 등)까지 자율 수행 가능하도록 확장

RECOMMENDATION

A/B 테스트의 폭발적인 증가로 지표 승인 및 인프라 병목을 겪고 있는 데이터 플랫폼 조직이나, AI 에이전트를 실무 데이터 파이프라인에 이식하고자 하는 개발자들에게 강력히 추천합니다.

The Problem

실험 규모가 급증하면서 지표 정의를 코드로 처리하는 과정에 심각한 병목이 발생했고, 동일 지면에서 여러 실험이 동시에 진행될 때 상호 간섭으로 인해 인과 추론의 정확도가 떨어지는 문제가 발생했습니다.

The Solution

실험플랫폼 UI를 통해 코드 없이 지표를 등록하는 환경을 제공하고, 슬롯 및 레이어 기반의 상호배제 그룹 기능을 도입하여 실험 간 간섭을 분리했으며, LLM 기반의 Experiment MCP를 설계해 실험 설계와 등록 과정을 자동화했습니다.

The Result

지표 정의 및 등록 시간이 기존 1~2시간에서 수 분으로 단축되었으며, 충돌 없는 안전한 동시 실험이 가능해졌고, LLM 에이전트 도입으로 실험 생성 및 분석 리드타임이 단축되고 진입장벽이 낮아졌습니다.

Trade-off

상호배제 그룹을 통해 슬롯을 나누어 사용하면 각 실험에 배정되는 표본 수가 감소하여 통계적 검정력이 저하되는 한계가 존재하며, 이를 보완하기 위해 CUPED 기법을 병행 사용해야 합니다.

03

Key Concepts

Concept · 01

상호배제 그룹 (Mutually Exclusive Group)

동일한 사용자 집단을 두고 여러 실험이 동시에 진행될 때 발생할 수 있는 간섭을 방지하기 위해, 트래픽을 상호 겹치지 않는 영역(슬롯)으로 분할하여 실험을 격리하는 기술입니다.

  • 1부터 10,000까지의 슬롯을 정의하고 사용자 ID 해시값을 기준으로 무작위 분배하여 동일 화면의 실험들이 충돌하지 않도록 제어했습니다.
  • 상호 간섭이 없는 독립적인 실험의 경우 레이어링 구조를 통해 슬롯을 직교(orthogonal)하게 공유하여 트래픽 효율성을 극대화했습니다.
Concept · 02

Model Context Protocol (MCP)

LLM(대형 언어 모델)이 외부 데이터 소스, 개발 도구 및 API 환경과 안전하고 표준화된 방식으로 컨텍스트를 주고받으며 도구를 호출할 수 있도록 돕는 개방형 프로토콜입니다.

  • 실험 및 지표 정보를 조회·생성·수정할 수 있는 인터페이스를 MCP 형태로 묶어 Experiment MCP를 구축했습니다.
  • 이를 통해 Claude 등 LLM 에이전트가 자연어로 기술된 가설 문서만 보고도 플랫폼 도구를 호출해 실험을 직접 등록하도록 구현했습니다.
Concept · 03

CUPED (Controlled Experiments Using Pre-Experiment Data)

실험 시작 전의 사전 데이터를 활용하여 지표의 통계적 분산(variance)을 줄임으로써, 더 작은 표본 크기나 짧은 기간으로도 통계적 유의성을 민감하게 포착할 수 있도록 돕는 통계 기법입니다.

  • 상호배제 그룹 도입으로 인해 개별 실험에 할당된 표본 수가 감소하여 발생하는 통계적 검정력 저하 문제를 완화하기 위해 적용했습니다.