앰플리튜드

Amplitude Feature Experiment: 데이터 기반 실험의 시작

Team MAXONOMY 2025.06.10

Amplitude Feature Experiment:  데이터 기반 실험의 시작

실험이 중요한 이유


디지털 서비스를 운영하다 보면 다음과 같은 질문과 마주하게 됩니다.


“이 버튼을 바꾸면 클릭률이 더 높아질까?”

“새로운 기능을 모든 사용자에게 바로 공개해도 될까?”

“프리미엄 사용자에게만 실험적으로 먼저 공개해보고 싶은데, 어떻게 관리하지?”


대부분 경우 직감이나 내부 회의로 결정을 내리지만, 그 결과가 실제로 사용자 경험과 KPI에 긍정적인 영향을 주는지 알기 어렵습니다. 이로 인해 향후에 추가적인 실험 테스트를 수행하기 어려운 환경이 조성되어 버리기도 합니다.


또한, 서비스를 운영하다보면, 서비스의 성장을 위해 여러 고민과 의사결정이 필요한 순간이 옵니다.


✅ 새로운 기능을 모든 사용자에게 배포하기엔 위험할 때

✅ 디자인이나 UI를 바꾸고 그 효과를 정확히 측정하고 싶을 때

✅ 특정 사용자 그룹에게만 실험적으로 기능을 보여주고 싶을 때

✅ 실험 결과를 클릭률, 전환율, 리텐션율 등의 지표로 분석하고 싶을 때



따라서, 개발단의 리소스를 최소화하면서, 실제 사용자 데이터 기반의 결과 분석이 가능한 실험 체계를 도입할 필요가 있습니다. Amplitude Experiment는 고객에게 제공하는 기능 on/off 토글링부터 A/B 테스트, 점진적 릴리즈, 결과 분석까지 하나의 워크플로우 안에서 지원함으로써 "기능 실험 → 결과 측정 → 의사결정"을 오차없이 빠르게 수행할 수 있도록 도와줍니다.


Amplitude Experiment에서는 다음 두 가지 방식으로 실험을 구성할 수 있습니다.


  • Feature Experiment
  • Web Experiment


이름만 보아서는 비슷해 보이지만, 실제 사용 목적과 운영 방식에는 뚜렷한 차이가 있습니다. 이번 포스팅에서는 이중 Feature Experiment에 대해 집중적으로 알아보겠습니다.







Feature Experiment: 기능 중심 실험


Feature Experiment는 코드 기반으로 운영되는 실험 방식입니다. 개발자가 직접 고객에게 보여줄 화면을 만들거나 신규 기능을 구현한 후에 이것을 일부 고객들에게만 노출하고 원하는 효과를 보았는지 확인하고자 할 때 활용합니다.


개발단에서는 변경된 화면이나 기능을 적용하고 예외 처리를 추가하여 특정 사용자에게만 노출될 수 있도록 구현하고, 실무자는 원하는 고객군과 모수 비율을 Amplitude 콘솔에서 언제든 수정하여 테스트를 수행 해 볼 수 있습니다.

개발단 기능

- 화면 구성

- 조건 처리


실무단 기능

- 모수집단 선정, 비율 선택

- 전환 목표 지정, 분석 방식 선정

- 테스트 시작, 종료, 기간 선정

- 실험 분석 결과 확인

- Analytics로 추가 심화 분석 수행









예시로 이해하는 Feature Experiment 활용


1) 신규 기능 가설 세우기

어느 날, 개발자가 추천 알고리즘 로직 개선 작업을 완료 하였습니다. 이 알고리즘을 서비스에 적용하면 굉장한 효과를 보여줄 것이라 기대하고 있지만, 바로 운영계에 적용하기에는 어떤 사이드 이펙트가 있을지 예상할 수 없었습니다. 가령 잘못된 상품 추천으로 고객에게 안 좋은 경험을 제공하면 이탈로 이어질 수 있죠.


따라서, 전체 고객이 아닌, VIP 고객 중 10%에게만 새 알고리즘을 적용하고 클릭률, 구매율을 측정하기로 하였습니다. 결데이터가 나머지 고객들에 비해 5%이상 증가한다면 전체 사용자에게 확대 배포하는 거죠.



2) 개발단 작업

처음 실험을 진행하는 것이라면 Amplitude Experiment SDK를 적용하는 작업이 필요합니다. 신규 추천 알고리즘은 이미 개발 완료된 상황이고 SDK 적용은 큰 시간이 소모되지 않기 때문에 거의 바로 실험 진행이 가능합니다.

(Amplitude Experiment SDK 라이브러리 탑재 및 초기화 후 고객마다 서로 다르게 제공하고자 하는 위치에서 조건문(if)을 구성)


Android 적용법


1. 라이브러리 추가 (build.gradle에 dependencies 추가)


2. 초기화 (Application단에서 초기화)


3. 현재 사용자의 experiment 관련 정보 수신


4. 고객이 보유한 flag 값에 따라 제공 여부 결정

( 새로운 추천 알고리즘이 제공될 10%의 VIP 고객은 "on"으로, 그 외 고객들은 모두 "off"로 적용)





3) Amplitude 설정(Experiment UI 구성)


3-1) Deployment 생성하기

운영하는 서비스는 여러 환경으로 구분되어 있습니다.


  • 개발계(development) / 내부 QA 테스트 수행 환경(staging) / 운영 환경(production)
  • Android, iOS, Web 등 제공 플랫폼 환경


실험을 진행하고자 할 때, 특정한 환경에서만 진행하실 수도 있고, 여러 환경에서 동시에 진행해 보실 수도 있을 겁니다. 이 때, 어떤 환경에 실험을 배포할 것인지를 정의할 수 있도록 "Deployment"라는 작업이 필요합니다.


하나의 프로젝트 내에서 배포할 환경마다 각각의 Deployment를 생성해주시면, 실험을 진행할 때, 이 실험을 어떤 환경에만 배포할지 지정할 수 있습니다.



Experiment > Deployments 화면에서 제공하는 “Create Deployment”를 클릭하고 배포할 환경의 이름과 프로젝트를 선택하면 바로 Deployment 생성이 가능합니다.



3-2) Experiment 생성하기

이제 기본적인 세팅은 모두 완료 되었으니 실험을 만들어 볼 수 있습니다!

Experiment > Experiments 메뉴에서 새로운 실험명과 사용할 키 값을 정하신 후 생성(Create)합니다.





4) 실험 설계


4-1) 목표 설정하기

실험을 만들 때 가장 먼저 생각해야 할 부분은 "목표" 설정 입니다. 실험을 한다는 것은 결국, 무언가를 더 좋게 만들기 위해서이기 때문에, 반드시 “이 실험을 통해 무엇이 좋아지기를 기대하는가?”에 대한 기준이 필요하며, 그것이 바로 목표 설정입니다. 우리가 설정한 목표를 달성했는지 여부를 가지고 이번 실험의 성공 여부를 파악해 보실 수 있겠지요.


목표는 기존에 만들어 두었던 지표를 선택하실 수도 있고, 원하는 목표를 새롭게 생성하실 수도 있습니다.Unique, Event Total, Conversion 등 분석에서 활용해 보셨던 다양한 지표 옵션을 기반으로 목표 설정이 가능한데, 이번 실험에서는 클릭율이 5% 이상 증가하는 것을 목표로 잡았기 때문에, "화면 진입 > 버튼 클릭"으로의 전환율이 5% 이상 상승하는 것을 목표로 설정했습니다.




4-2) 대안(Variant) 등록하기

비교 테스트를 진행할 때, 대안은 하나일 수 있지만 여러 개가 있을 수도 있습니다. "내가 테스트하고 싶은 기능의 버전은 몇 가지이며, 각각 어떤 차이가 있을까?" 테스트 하고자 하는 대안의 수 만큼 Add a Variant 옵션으로 추가하여 정의할 수 있습니다. (단, 너무 많은 Variant는 분석을 어렵게 하므로 2~4개 이내를 권장합니다.)



각 Variant의 Value 값은 SDK에서 분기 처리에 사용(e.g. variant.value)되므로 개발단에서 미리 지정하신 값이 있을 경우, 해당 값으로 기입되어야 하며, 미리 정의되어 있지 않았다면 여기에서 정의하시는 값으로 개발단의 코드 작업이 수행되어야 합니다.


※Value 값이 수정될 경우, 앱의 재배포가 필요하므로 처음 생성 시 Amplitude에서 허용하는 명명규칙(숫자, 영문, 언더스코어, 하이픈만 허용)을 참고하시어 향후 변경하지 않을 값으로 지정이 필요합니다.



4-3) 고객 그룹(Targeting) 정의하기

[Audience]

실험에 활용할 대안을 등록했다면, 누구를 대상으로 실험을 진행할 것인지 모수 집단을 선택하실 수 있습니다. All Users를 선택하여 전체 고객을 모수 집단으로 선정할 수 있으며, Target Users를 선택하여 특정 모수집단을 Segment로 정의할 수 있습니다.



[Distribution]

선정한 모수 집단을 각 대안에 어느 정도 비율로 할당 할것인지 지정할 수 있습니다. 기본 옵션인 evenly distribute로 동일한 비율로 지정하는 것을 권장 드리며, 원하실 경우 Customize 옵션으로 수동 설정이 가능합니다.

(control로 할당되는 고객들은 실험에 참여는 하지만 실제로는 변경된 대안 UI가 노출되지 않는 그룹으로써, 대조군의 역할을 수행합니다.)



[Rollout]

지정하신 모수 집단 전체를 대상으로 실험을 수행하실 수도 있으나 그 중 일부를 대상으로만 진행하는 것도 가능합니다. Rollout 설정을 통해 전체 모수 집단 중 몇 %에 해당하는 고객들을 대상으로 실험을 진행할 것인지 범위를 지정할 수 있습니다.

(Control vs. Rollout: control에 포함된 고객은 실험에 포함되어 향후 결과 분석 시 대조군 역할을 하지만, Rollout에서 제외된 고객은 실험 자체에 포함되지 않으므로 결과 또한 추적되지 않습니다.)








5) 전달 구성


5-1) Flag & Evaluation 정의

Flag는 실험을 식별하는 고유 식별자로써, 실험을 생성하시는 시점에 key 항목으로 기입한 정보를 확인하실 수 있으며, 실험 시작 전까지는 변경이 가능합니다. 이 값은 SDK에서 실험 정보 요청에 사용(e.g.FLAG_KEY) 되므로 개발단에서 미리 정하신 값이 있다면 그 값으로, 없다면 여기에서 정의된 값으로 개발단의 코드 작업이 수행되어야 합니다.



Evaluation Mode는 고객이 어떤 대안에 해당 되는지를 어디에서 계산할 것인지 선택하는 항목입니다. 일반적으로는 Amplitude에 수집된 정보를 실시간으로 확인하여 결정되나, 실시간 검토 방식은 통신 상의 약간의 딜레이(0.1~1초)가 발생하므로, 고객에게 즉각적으로 노출되어야 하는 UI에 대해서는 로컬에서 계산하는 방식을 선택하실 수도 있습니다.



5-2) 배포 환경(Deployment) 선택

지금까지 작성한 실험을 어떤 환경에 배포 할 것인지를 선택합니다. 특정 플랫폼이나 개발환경에만 적용하고자 하실 경우, 해당하는 deployment만 선택하여 배포가 가능합니다.






6) 실험 시작


모든 세팅을 완료했다면, 우측 상단 버튼을 이용하여 각 플랫폼 별로 적용할 수 있는 샘플 코드를 확인할 수 있습니다. 개발 담당자에게 해당 정보를 전달하여 적용을 요청할 수 있습니다.



실험을 고객들에게 배포하기 전, 미리 등록해 둔 테스터만을 대상으로 선행적으로 배포가 가능하며, 예약 실행이나 feature flag만 활성화하고 실험 분석은 수행하지 않는 등 여러 옵션을 정의해 보실 수 있습니다.



모든 사항의 확인이 완료되었다면, 최종적으로 Start Experiment를 클릭하여 실험 시작이 가능합니다. 실험을 종료할 때에는 초기 버전으로 롤백을 할 것인지, 아니면 특정 대안( Variant )으로 적용할 것인지 선정하여 실험을 마칠 수 있습니다.


실험이 진행되는 동안 발생한 실험 참여(Assigentment), 실험 노출(Expouse) 및 목표로 잡은 정보들은 모두 고객별 프로필에 저장되므로 이를 기반으로 심층 분석(Analytics)을 바로 수행해 볼 수 있습니다. 또한, 처음 목표로 잡았던 것 이외에도 각 그룹별로 어떠한 변화가 있었는지 수집된 데이터를 기반으로 분석이 가능합니다.








실험과 분석을 하나의 플랫폼 안에서


실험과 데이터 분석은 이제 더 이상 따로 작업할 필요가 없습니다. 기존 A/B 테스트 도구들이 단순히 실험을 “실행”하는 데 집중했다면, Amplitude Feature Experiment는 실험 설계부터 분석, 최종 반영까지 추가적인 개발단 작업없이 한 번에 처리할 수 있는 실험 플랫폼 체계를 제공합니다.


CUPED, Sequential Testing, Bonferroni 등 실험의 정확도를 높이는 기능이 기본으로 탑재되어 있어, 적은 트래픽으로도 빠르게 유의미한 결론을 얻을 수 있으며, Amplitude Analytics와 완벽히 연결되어 언제든 전환율,리텐션, 코호트 분석 등 심층적인 결과 분석을 바로 이어나갈 수 있습니다.


또한 클라이언트 배포 없이, 서버-사이드 실험 연동을 지원하므로 고객들에게 끊김없는 실험 환경 제공이 가능합니다. 제품의 성과를 빠르게 검증하고, 그 결과를 정확히 해석해 다음 의사결정으로 이어가고 싶다면, Amplitude Feature Experiment는 더없이 강력한 선택이 될 것입니다.






Feature Experiment 활용에 도움이 필요하나요?

팀 맥소노미 Amplitude 도입문의 바로가기

logo

팀맥소노미

YOUR DIGITAL MARKETING HERO

비즈니스 성장을 위한 최적의 솔루션과 무료 데모 시연, 활용 시나리오를 제안 받아보세요

관련 글 보기

Amplitude Autocapture: 페이지 진입, 클릭, 앱 종료까지 고객 행동을 자동 수집하는 법

Amplitude Autocapture: 페이지 진입, 클릭, 앱 종료까지 고객 행동을 자동 수집하는 법

개발 리소스 없이 클릭·페이지뷰 등 사용자 행동을 자동 수집해 빠른 분석과 최적화를 지원하는 Amplitude Autocapture 기능 소개

AI에 의존하는 인간, 인간을 필요로 하는 AI

AI에 의존하는 인간, 인간을 필요로 하는 AI

AI가 변화시킨 일자리, 시장 구조, 마케팅의 한계와 기회까지 짚어보는 인사이트

MCP: AI 사용자 경험을 확장시켜줄 핵심 연결고리

MCP: AI 사용자 경험을 확장시켜줄 핵심 연결고리

오늘날 마케팅의 본질은 단순히 제품을 알리는 데 그치지 않습니다. 소비자의 기대치는 그 어느 때보다 높아졌고, 기업은 “고객을 위한 경험”을 제공해야 한다는 압박을 받고 있습니다. 이런 변화 속에서 AI는 중요한 조력자로 부상했지만, 아직까지는 많은 한계가 있는 것이 사실입니다. 가장 큰 이유는 아직까지 AI기술이 일부 플랫폼 속에서 폐쇄적인 형태로 존재하기 때문입니다. 뛰어난 AI 기술을 여기저기서 활용하고 싶지만 그렇지 못한다는 것이죠.이 한계를 뛰어넘게 만들기 위해 AI업계에서는 MCP라는 기술을 적용시키고 있습니다. CDP도 아니고 MCP란 것은 또 무엇일까요? 왜 등장했을까요? 🤔 이번 맥사이트픽 포스팅에서는 MCP가 무엇이며, 마케터에게 MCP를 왜 주목해야 하는지 알아보도록 하겠습니다.MCP란?MCP는 Model Context Protocol의 약자로 AI가 외부의 다양한 도구와 데이터 소스에 표준화된 방식으로 연결되도록 설계된 프로토콜 기술인데요. 쉽게 말해, 모델이 단순히 텍스트만 처리하는 게 아니라 “컨텍스트”를 확장해서 다양한 애플리케이션·데이터 소스·플러그인과 소통할 수 있게 해주는 통신 규칙입니다. 이는 단순한 기술 혁신을 넘어 마케터가 소비자 경험을 설계하는 방식 자체를 변화시키는 AI 경험 확장의 첫 단계가 될 수 있습니다.흔히들 MCP를 다음과 같이 비유하고 있습니다. MCP는 AI와 외부 세계를 연결하는 ‘공용 어댑터 와 같다. 지금까지는 각 AI와 도구를 연결하기 위해 개별 API 연동을 해야 했습니다. 마케터 입장에서 이는 시간이 많이 들고, 통합 범위에도 한계가 있었습니다. 그러나 MCP는 이 과정을 표준화해 AI가 여러 도구에 동일한 형식으로 접근할 수 있도록 합니다. 그렇다면 이런 시도로 인해 사용자들의 AI 경험에 어떤 변화가 생기게 되는 것일까요. 크게 다음 3가지의 큰 변화를 경험할 수 있습니다. (1) 즉시성소비자는 기다림을 싫어합니다. MCP를 활용하면 AI는 고객 요청에 즉시 대응하며 대화 흐름을 끊지 않습니다. 예를 들어, 라이브 커머스 방송 중 소비자가 “이 제품 해외배송 가능한가요?”라고 물으면 AI는 판매 시스템에서 바로 정보를 가져와 답변합니다.(2) 연속성마케팅은 단발 이벤트로 끝나지 않습니다. MCP를 활용하면 AI가 고객과의 과거 대화를 기억하고, 다음 접점에서 이어서 대화를 진행합니다. 예를 들어, 지난주에 상품 상담을 했던 고객이 다시 채팅을 시작하면 AI가 “지난번 문의하신 블루 재킷, 오늘 재입고 되었습니다.”라고 답할 수 있게됩니다.(3) 몰입감소비자 경험이 끊김 없이 이어지고, 그 안에서 개인화된 정보가 활용되면 고객은 기업과의 상호작용에 더 깊이 몰입할 수 있게됩니다. MCP는 이러한 몰입형 브랜드 경험을 가능하게 하는 핵심 인프라입니다.MCP와 마케팅 혁신마케팅 측면에서 MCP는 다음 3가지 혁신을 기대할 수 있습니다.(1) 실시간 고객 응대의 혁신앞서 들었던 예시와 같이 MCP를 활용하면 고객이 “이 제품 지금 재고 있나요?”라고 묻는 순간, AI는 재고 관리 시스템에서 데이터를 바로 가져와 답변합니다. 더 이상 ‘추측성 응답’이 아닌 검증된 최신 데이터를 기반으로 한 응대가 가능합니다.(2) 개인화의 정교화마케팅의 핵심은 나만을 위한 메시지를 전달하는 것입니다. MCP는 AI가 고객의 과거 구매 이력, 웹사이트 행동 데이터, 실시간 위치 정보까지 통합해 맥락에 맞는 제안을 할 수 있도록 합니다. 예를 들어, 고객이 특정 제품 페이지를 열람한 직후 AI가 “현재 이 제품에 대해 10% 할인 중이며, 오늘 주문 시 내일 배송 가능합니다.”라는 메시지를 전송합니다.(3) 캠페인 운영 자동화마케터는 MCP를 통해 광고 집행 툴, 이메일 마케팅 플랫폼, SNS 채널을 하나의 AI 대화 환경에 통합할 수 있습니다. 캠페인 데이터를 분석해 성과가 낮은 타겟군을 즉시 조정하거나, 성과가 좋은 광고 문안을 다른 채널로 확장하는 자동화도 가능합니다.AI, 도구에서 에이전트로2025년의 마케팅 환경은 과거와 비교할 수 없을 정도로 복잡하고 역동성이 더해지고 있습니다.  AI 기술은 단순한 콘텐츠 생성 도구를 넘어, 고객 접점 전체를 통합 관리하는 에이전트 기반 생태계로 발전하고 있습니다.특히 MCP는 AI와 외부 데이터, 도구, 시스템을 하나의 언어로 연결하는 환경을 만드는 핵심 역할을 수행할 것입니다. 결과적으로는 AI 에이전트의 활성화를 이끌어낼 것이라 예상할 수 있습니다.MCP의 확산은 마케팅 생태계에 큰 변화를 가져올 것입니다. 앞으로의 AI 마케팅은 표준화 기반 생태계 → 도구·데이터 실시간 연동 → 자동화된 맞춤 경험 제공이라는 흐름으로 가속화될 것입니다. 마케터는 MCP 덕분에 기술 통합에 쓰던 시간을 절약하고, 전략과 창의성에 집중할 수 있습니다.MCP적용 시 주의점전적으로 AI로 인해 모든것이 자동화될 수록 주의사항은 더욱 명확합니다. 맥사이트픽으로 여러번 언급해드렸던 프라이버시와 보안 문제입니다. MCP로 연결되는 데이터는 실시간성이란 강한 무기를 가집니다. 그리고 그만큼 보안 위협을 수반합니다. AI가 민감한 데이터에 접근하는 만큼, 권한 제어와 감사 로그 관리가 필수이며 때로는 데이터 접근 권한을 최소화하고, 필요한 경우 고객 동의를 명확히 받아야 할 것입니다.또한 사용자 경험 관리 측면으로도 주의가 필요합니다. AI가 모든 요청을 자동 처리하더라도, 고객이 과도한 정보 제공을 요구받는다면 거부감을 느낄 수 있습니다. UX 설계 단계에서 고객 편의성을 최우선으로 고려해야 합니다. AI가 설계한 고객의 UX에 대해 고객이 100%만족할 것이라 기대에 의존하지 않는것이 좋습니다. AI 또한 잘못된 데이터를 기반으로 고객을 잘못 이해하거나 오해하는 경우가 생길 수도 있습니다. MCP의 구조와 설정 방식이 아직은 생소합니다. 이를 해결하기 위해 MCP 경험이 있는 파트너사와 협력하거나, 마케터, 개발자, 경영진이 모여 MCP의 가치와 역할에 대한 공감대 형성과 이해도를 맞추는 것이 첫번째 순서일 수 있습니다.마치며AX(AI 대전환)을 준비하는 기업과 브랜드에게 MCP는 실무에서 마케터가 직면하는 데이터 단절, 시스템 불일치, 운영 비효율 문제를 근본적으로 해결하고 여기에 고객 경험 강화, 영업 프로세스 최적화, 캠페인 자동화 등 다양한 영역에서 효과를 발휘기 위한 최고의 방안이 될 수 있습니다.마케터가 MCP를 성공적으로 활용하려면 우선순위 시스템 선정, 데이터 품질 관리, 보안 설계를 철저히 하기를 권해드립니다. 현시점부터 단계적으로 MCP를 도입하고 경험을 축적하는 기업이 향후 AI 마케팅을 리드하는 브랜드가 될 것임을 강조드리며, 이번 포스팅을 마치겠습니다.

그로스 마케팅이란? 뜻, 성공 사례, 필수 전략 총정리

그로스 마케팅이란? 뜻, 성공 사례, 필수 전략 총정리

그로스 마케팅의 정의부터 성공 사례와 필수 전략까지, 데이터 기반 성장 비법 총정리

실험이 중요한 이유


디지털 서비스를 운영하다 보면 다음과 같은 질문과 마주하게 됩니다.


“이 버튼을 바꾸면 클릭률이 더 높아질까?”

“새로운 기능을 모든 사용자에게 바로 공개해도 될까?”

“프리미엄 사용자에게만 실험적으로 먼저 공개해보고 싶은데, 어떻게 관리하지?”


대부분 경우 직감이나 내부 회의로 결정을 내리지만, 그 결과가 실제로 사용자 경험과 KPI에 긍정적인 영향을 주는지 알기 어렵습니다. 이로 인해 향후에 추가적인 실험 테스트를 수행하기 어려운 환경이 조성되어 버리기도 합니다.


또한, 서비스를 운영하다보면, 서비스의 성장을 위해 여러 고민과 의사결정이 필요한 순간이 옵니다.


✅ 새로운 기능을 모든 사용자에게 배포하기엔 위험할 때

✅ 디자인이나 UI를 바꾸고 그 효과를 정확히 측정하고 싶을 때

✅ 특정 사용자 그룹에게만 실험적으로 기능을 보여주고 싶을 때

✅ 실험 결과를 클릭률, 전환율, 리텐션율 등의 지표로 분석하고 싶을 때



따라서, 개발단의 리소스를 최소화하면서, 실제 사용자 데이터 기반의 결과 분석이 가능한 실험 체계를 도입할 필요가 있습니다. Amplitude Experiment는 고객에게 제공하는 기능 on/off 토글링부터 A/B 테스트, 점진적 릴리즈, 결과 분석까지 하나의 워크플로우 안에서 지원함으로써 "기능 실험 → 결과 측정 → 의사결정"을 오차없이 빠르게 수행할 수 있도록 도와줍니다.


Amplitude Experiment에서는 다음 두 가지 방식으로 실험을 구성할 수 있습니다.



이름만 보아서는 비슷해 보이지만, 실제 사용 목적과 운영 방식에는 뚜렷한 차이가 있습니다. 이번 포스팅에서는 이중 Feature Experiment에 대해 집중적으로 알아보겠습니다.







Feature Experiment: 기능 중심 실험


Feature Experiment는 코드 기반으로 운영되는 실험 방식입니다. 개발자가 직접 고객에게 보여줄 화면을 만들거나 신규 기능을 구현한 후에 이것을 일부 고객들에게만 노출하고 원하는 효과를 보았는지 확인하고자 할 때 활용합니다.


개발단에서는 변경된 화면이나 기능을 적용하고 예외 처리를 추가하여 특정 사용자에게만 노출될 수 있도록 구현하고, 실무자는 원하는 고객군과 모수 비율을 Amplitude 콘솔에서 언제든 수정하여 테스트를 수행 해 볼 수 있습니다.

개발단 기능

- 화면 구성

- 조건 처리


실무단 기능

- 모수집단 선정, 비율 선택

- 전환 목표 지정, 분석 방식 선정

- 테스트 시작, 종료, 기간 선정

- 실험 분석 결과 확인

- Analytics로 추가 심화 분석 수행









예시로 이해하는 Feature Experiment 활용


1) 신규 기능 가설 세우기

어느 날, 개발자가 추천 알고리즘 로직 개선 작업을 완료 하였습니다. 이 알고리즘을 서비스에 적용하면 굉장한 효과를 보여줄 것이라 기대하고 있지만, 바로 운영계에 적용하기에는 어떤 사이드 이펙트가 있을지 예상할 수 없었습니다. 가령 잘못된 상품 추천으로 고객에게 안 좋은 경험을 제공하면 이탈로 이어질 수 있죠.


따라서, 전체 고객이 아닌, VIP 고객 중 10%에게만 새 알고리즘을 적용하고 클릭률, 구매율을 측정하기로 하였습니다. 결데이터가 나머지 고객들에 비해 5%이상 증가한다면 전체 사용자에게 확대 배포하는 거죠.



2) 개발단 작업

처음 실험을 진행하는 것이라면 Amplitude Experiment SDK를 적용하는 작업이 필요합니다. 신규 추천 알고리즘은 이미 개발 완료된 상황이고 SDK 적용은 큰 시간이 소모되지 않기 때문에 거의 바로 실험 진행이 가능합니다.

(Amplitude Experiment SDK 라이브러리 탑재 및 초기화 후 고객마다 서로 다르게 제공하고자 하는 위치에서 조건문(if)을 구성)


Android 적용법


1. 라이브러리 추가 (build.gradle에 dependencies 추가)


2. 초기화 (Application단에서 초기화)


3. 현재 사용자의 experiment 관련 정보 수신


4. 고객이 보유한 flag 값에 따라 제공 여부 결정

( 새로운 추천 알고리즘이 제공될 10%의 VIP 고객은 "on"으로, 그 외 고객들은 모두 "off"로 적용)





3) Amplitude 설정(Experiment UI 구성)


3-1) Deployment 생성하기

운영하는 서비스는 여러 환경으로 구분되어 있습니다.



실험을 진행하고자 할 때, 특정한 환경에서만 진행하실 수도 있고, 여러 환경에서 동시에 진행해 보실 수도 있을 겁니다. 이 때, 어떤 환경에 실험을 배포할 것인지를 정의할 수 있도록 "Deployment"라는 작업이 필요합니다.


하나의 프로젝트 내에서 배포할 환경마다 각각의 Deployment를 생성해주시면, 실험을 진행할 때, 이 실험을 어떤 환경에만 배포할지 지정할 수 있습니다.



Experiment > Deployments 화면에서 제공하는 “Create Deployment”를 클릭하고 배포할 환경의 이름과 프로젝트를 선택하면 바로 Deployment 생성이 가능합니다.



3-2) Experiment 생성하기

이제 기본적인 세팅은 모두 완료 되었으니 실험을 만들어 볼 수 있습니다!

Experiment > Experiments 메뉴에서 새로운 실험명과 사용할 키 값을 정하신 후 생성(Create)합니다.





4) 실험 설계


4-1) 목표 설정하기

실험을 만들 때 가장 먼저 생각해야 할 부분은 "목표" 설정 입니다. 실험을 한다는 것은 결국, 무언가를 더 좋게 만들기 위해서이기 때문에, 반드시 “이 실험을 통해 무엇이 좋아지기를 기대하는가?”에 대한 기준이 필요하며, 그것이 바로 목표 설정입니다. 우리가 설정한 목표를 달성했는지 여부를 가지고 이번 실험의 성공 여부를 파악해 보실 수 있겠지요.


목표는 기존에 만들어 두었던 지표를 선택하실 수도 있고, 원하는 목표를 새롭게 생성하실 수도 있습니다.Unique, Event Total, Conversion 등 분석에서 활용해 보셨던 다양한 지표 옵션을 기반으로 목표 설정이 가능한데, 이번 실험에서는 클릭율이 5% 이상 증가하는 것을 목표로 잡았기 때문에, "화면 진입 > 버튼 클릭"으로의 전환율이 5% 이상 상승하는 것을 목표로 설정했습니다.




4-2) 대안(Variant) 등록하기

비교 테스트를 진행할 때, 대안은 하나일 수 있지만 여러 개가 있을 수도 있습니다. "내가 테스트하고 싶은 기능의 버전은 몇 가지이며, 각각 어떤 차이가 있을까?" 테스트 하고자 하는 대안의 수 만큼 Add a Variant 옵션으로 추가하여 정의할 수 있습니다. (단, 너무 많은 Variant는 분석을 어렵게 하므로 2~4개 이내를 권장합니다.)



각 Variant의 Value 값은 SDK에서 분기 처리에 사용(e.g. variant.value)되므로 개발단에서 미리 지정하신 값이 있을 경우, 해당 값으로 기입되어야 하며, 미리 정의되어 있지 않았다면 여기에서 정의하시는 값으로 개발단의 코드 작업이 수행되어야 합니다.


※Value 값이 수정될 경우, 앱의 재배포가 필요하므로 처음 생성 시 Amplitude에서 허용하는 명명규칙(숫자, 영문, 언더스코어, 하이픈만 허용)을 참고하시어 향후 변경하지 않을 값으로 지정이 필요합니다.



4-3) 고객 그룹(Targeting) 정의하기

[Audience]

실험에 활용할 대안을 등록했다면, 누구를 대상으로 실험을 진행할 것인지 모수 집단을 선택하실 수 있습니다. All Users를 선택하여 전체 고객을 모수 집단으로 선정할 수 있으며, Target Users를 선택하여 특정 모수집단을 Segment로 정의할 수 있습니다.



[Distribution]

선정한 모수 집단을 각 대안에 어느 정도 비율로 할당 할것인지 지정할 수 있습니다. 기본 옵션인 evenly distribute로 동일한 비율로 지정하는 것을 권장 드리며, 원하실 경우 Customize 옵션으로 수동 설정이 가능합니다.

(control로 할당되는 고객들은 실험에 참여는 하지만 실제로는 변경된 대안 UI가 노출되지 않는 그룹으로써, 대조군의 역할을 수행합니다.)



[Rollout]

지정하신 모수 집단 전체를 대상으로 실험을 수행하실 수도 있으나 그 중 일부를 대상으로만 진행하는 것도 가능합니다. Rollout 설정을 통해 전체 모수 집단 중 몇 %에 해당하는 고객들을 대상으로 실험을 진행할 것인지 범위를 지정할 수 있습니다.

(Control vs. Rollout: control에 포함된 고객은 실험에 포함되어 향후 결과 분석 시 대조군 역할을 하지만, Rollout에서 제외된 고객은 실험 자체에 포함되지 않으므로 결과 또한 추적되지 않습니다.)








5) 전달 구성


5-1) Flag & Evaluation 정의

Flag는 실험을 식별하는 고유 식별자로써, 실험을 생성하시는 시점에 key 항목으로 기입한 정보를 확인하실 수 있으며, 실험 시작 전까지는 변경이 가능합니다. 이 값은 SDK에서 실험 정보 요청에 사용(e.g.FLAG_KEY) 되므로 개발단에서 미리 정하신 값이 있다면 그 값으로, 없다면 여기에서 정의된 값으로 개발단의 코드 작업이 수행되어야 합니다.



Evaluation Mode는 고객이 어떤 대안에 해당 되는지를 어디에서 계산할 것인지 선택하는 항목입니다. 일반적으로는 Amplitude에 수집된 정보를 실시간으로 확인하여 결정되나, 실시간 검토 방식은 통신 상의 약간의 딜레이(0.1~1초)가 발생하므로, 고객에게 즉각적으로 노출되어야 하는 UI에 대해서는 로컬에서 계산하는 방식을 선택하실 수도 있습니다.



5-2) 배포 환경(Deployment) 선택

지금까지 작성한 실험을 어떤 환경에 배포 할 것인지를 선택합니다. 특정 플랫폼이나 개발환경에만 적용하고자 하실 경우, 해당하는 deployment만 선택하여 배포가 가능합니다.






6) 실험 시작


모든 세팅을 완료했다면, 우측 상단 버튼을 이용하여 각 플랫폼 별로 적용할 수 있는 샘플 코드를 확인할 수 있습니다. 개발 담당자에게 해당 정보를 전달하여 적용을 요청할 수 있습니다.



실험을 고객들에게 배포하기 전, 미리 등록해 둔 테스터만을 대상으로 선행적으로 배포가 가능하며, 예약 실행이나 feature flag만 활성화하고 실험 분석은 수행하지 않는 등 여러 옵션을 정의해 보실 수 있습니다.



모든 사항의 확인이 완료되었다면, 최종적으로 Start Experiment를 클릭하여 실험 시작이 가능합니다. 실험을 종료할 때에는 초기 버전으로 롤백을 할 것인지, 아니면 특정 대안( Variant )으로 적용할 것인지 선정하여 실험을 마칠 수 있습니다.


실험이 진행되는 동안 발생한 실험 참여(Assigentment), 실험 노출(Expouse) 및 목표로 잡은 정보들은 모두 고객별 프로필에 저장되므로 이를 기반으로 심층 분석(Analytics)을 바로 수행해 볼 수 있습니다. 또한, 처음 목표로 잡았던 것 이외에도 각 그룹별로 어떠한 변화가 있었는지 수집된 데이터를 기반으로 분석이 가능합니다.








실험과 분석을 하나의 플랫폼 안에서


실험과 데이터 분석은 이제 더 이상 따로 작업할 필요가 없습니다. 기존 A/B 테스트 도구들이 단순히 실험을 “실행”하는 데 집중했다면, Amplitude Feature Experiment는 실험 설계부터 분석, 최종 반영까지 추가적인 개발단 작업없이 한 번에 처리할 수 있는 실험 플랫폼 체계를 제공합니다.


CUPED, Sequential Testing, Bonferroni 등 실험의 정확도를 높이는 기능이 기본으로 탑재되어 있어, 적은 트래픽으로도 빠르게 유의미한 결론을 얻을 수 있으며, Amplitude Analytics와 완벽히 연결되어 언제든 전환율,리텐션, 코호트 분석 등 심층적인 결과 분석을 바로 이어나갈 수 있습니다.


또한 클라이언트 배포 없이, 서버-사이드 실험 연동을 지원하므로 고객들에게 끊김없는 실험 환경 제공이 가능합니다. 제품의 성과를 빠르게 검증하고, 그 결과를 정확히 해석해 다음 의사결정으로 이어가고 싶다면, Amplitude Feature Experiment는 더없이 강력한 선택이 될 것입니다.






Feature Experiment 활용에 도움이 필요하나요?

팀 맥소노미 Amplitude 도입문의 바로가기

앰플리튜드, A/B테스트, 도입/구축