정의 : 마케팅 또는 웹 분석 관련 용어로, 버킷 테스트 또는 분할-실행 테스트 라고도 한다. A/B Test라는 이름에서 알 수 있듯이, A/B Test는 A와 B로 나뉘는 두 개의 버전을 비교하는 대조 실험이다.
A/B Test의 효용
A/B Test는 모바일 앱에서 engagement나 retention 또는 monetization과 같은 핵심 목표를 이룰 수 있도록 최적화된 데이터를 제공하는 도구 중 하나이다. 기획자 및 개발자는 유저의 대조 데이터를 이용해서 다음 업데이트 및 변화에 대한 기본적인 틀을 세울 수 있게 된다. 한정된 시간과 비용을 가진 Business Group에서 최소한의 투자로 목표를 이루기 위해서 이와 같은 작업이 요구될 수밖에 없다.
제품 환경을 테스트하고 빠른 피드백을 얻을 수 있다.
전환률을 올리기 위한 데이터를 쌓을 수 있다.
새로운 기능을 도입할 때 어떤 방식이 적합한지에 대한 데이터를 얻을 수 있다.
특정 사용자층을 대상으로 테스트를 진행하여, 사용자 그룹의 경향성을 파악할 수 있다.
A/B Test의 대상
Visual Elements : 사진과 비디오, 색깔과 같은 시각적 요소
Text : 제목이나 컨텐츠, 설명의 변경
Layout : 요소들의 크기나 위치와 같은 레이아웃
Onboarding : 온보딩이 유의미하게 engagement를 하는지
User flow : 어떤 플로우가 더 좋은 전환률을 보이는지
New features and release : 최신 버전 또는 새로운 기능에 대해 실험
방법
우선 iOS에서 A/B 테스트를 하기 위한 보편적이고 쉬운 방법으로 FireBase Remote Config을 이용할 수 있다. Remote Config은 클라우드 기반 key-value 저장소로 개발자가 시스템만 구축해 놓는다면, 비개발자도 손쉽게 value를 변경하여 테스트를 진행할 수 있도록 도와준다. 예를 들어서, FireBase Remote Config에 isHidden이라는 parameter를 저장해놓고, client에서는 여기에 접근하여 isHidden 값이 true인지 false인지에 따라 특정 Alert 창을 띄울지 말지에 대한 결정을 할 수 있다. 추후 Console에서 isHidden 값만 바꾸는 식으로 클라이언트에서 다른 화면을 보일 수 있는 것이다. 여기에 더하여 FireBase에서는 A/B Testing이라는 기능을 따로 제공하기 때문에 메뉴얼에 따라 편리하게 테스트를 구성하고, 앱에 적용할 수 있다.
다른 방법으로는 Client 자체적으로 Split Testing 환경을 구축하여 analytics SDK(google analytics, amplitude)를 이용하여 분석해줄 수도 있다. 우선 Random 메서드나 원하는 로직을 통해 특정 유저에게 Group을 부여하고, Persistent Storage(UserDefaults, Relam, CoreData)에 해당 Group을 저장한 다음, Split Testing 환경에서 해당 유저의 활동 data를 Analytics SDK에 전송하면 된다. FireBase Remote Config에서는 Target을 Console에서 지정해 줬다면, 이 방법은 application 내부적으로 그룹을 지정해주고 있다는 점이 다르다.
A/B Test란?
정의 : 마케팅 또는 웹 분석 관련 용어로, 버킷 테스트 또는 분할-실행 테스트 라고도 한다. A/B Test라는 이름에서 알 수 있듯이, A/B Test는 A와 B로 나뉘는 두 개의 버전을 비교하는 대조 실험이다.
A/B Test의 효용
A/B Test는 모바일 앱에서 engagement나 retention 또는 monetization과 같은 핵심 목표를 이룰 수 있도록 최적화된 데이터를 제공하는 도구 중 하나이다. 기획자 및 개발자는 유저의 대조 데이터를 이용해서 다음 업데이트 및 변화에 대한 기본적인 틀을 세울 수 있게 된다. 한정된 시간과 비용을 가진 Business Group에서 최소한의 투자로 목표를 이루기 위해서 이와 같은 작업이 요구될 수밖에 없다.
A/B Test의 대상
방법
우선 iOS에서 A/B 테스트를 하기 위한 보편적이고 쉬운 방법으로 FireBase Remote Config을 이용할 수 있다. Remote Config은 클라우드 기반 key-value 저장소로 개발자가 시스템만 구축해 놓는다면, 비개발자도 손쉽게 value를 변경하여 테스트를 진행할 수 있도록 도와준다. 예를 들어서, FireBase Remote Config에 isHidden이라는 parameter를 저장해놓고, client에서는 여기에 접근하여 isHidden 값이 true인지 false인지에 따라 특정 Alert 창을 띄울지 말지에 대한 결정을 할 수 있다. 추후 Console에서 isHidden 값만 바꾸는 식으로 클라이언트에서 다른 화면을 보일 수 있는 것이다. 여기에 더하여 FireBase에서는 A/B Testing이라는 기능을 따로 제공하기 때문에 메뉴얼에 따라 편리하게 테스트를 구성하고, 앱에 적용할 수 있다.
다른 방법으로는 Client 자체적으로 Split Testing 환경을 구축하여 analytics SDK(google analytics, amplitude)를 이용하여 분석해줄 수도 있다. 우선 Random 메서드나 원하는 로직을 통해 특정 유저에게 Group을 부여하고, Persistent Storage(UserDefaults, Relam, CoreData)에 해당 Group을 저장한 다음, Split Testing 환경에서 해당 유저의 활동 data를 Analytics SDK에 전송하면 된다. FireBase Remote Config에서는 Target을 Console에서 지정해 줬다면, 이 방법은 application 내부적으로 그룹을 지정해주고 있다는 점이 다르다.