A/B 테스트는 사실 대결 용도가 아니라 제품 및 마케팅 실험을 통해 결과를 분석하여 앱 환경을 최적화 할 수 있습니다. A/B Test는 지금 당장의 전환률을 높이는 것이 아니라, 고객의 행동으로부터 인사이트를 도출하여 궁극적으로 더 나은 의사 결정을 만들어내는 것입니다.

여기서 테스트의 흐름에 대해서 알아보자.

우선 가설을 세워야 합니다. A가 되는 가설과 비교하고 싶은 B가설을 기획하고 테스트를 진행합니다. 유저는 A와 B로 나뉘어져서 각기 다른 경험을 하게 되고 해당 경험이 어떤 결과를 만드는지 데이터를 통해 분석합니다. 그럼 해당 결과를 갖고 결정이 되거나 후속 테스트를 기획하고 변화를 줘서 다시 가설을 세웁니다. 그리고 이를 반복해서 더 나은 결과를 만드는 흐름입니다.

그럼 안드로이드에서는 어떤식으로 이를 구현해야 할까?

사실 Firebase에서 거의 다해주고 가이드만 따라 원하는 뷰에 삽입만 하면 됩니다.

우선 gradle에 의존성을 추가하고

그 다음 싱글톤으로 세팅값을 선언 해줍니다.

remoteConfig = Firebase.remoteConfig
val configSettings = remoteConfigSettings {
    minimumFetchIntervalInSeconds = 3600
}
remoteConfig.setConfigSettingsAsync(configSettings)

이제 Firebase 콘솔에서 가설을 세우고 파라미터와 값을 지정해서 저장합니다.

A-B Testing in Android.webp

그리고 서버에서 값을 받아 레이아웃에 맞게 변형하면 끝입니다.

remoteConfig.fetchAndActivate()
            .addOnCompleteListener(this) { task ->
                if (task.isSuccessful) {
                    val updated = task.result
                    Log.d(TAG, "Config params updated: $updated")
                    Toast.makeText(this, "Fetch and activate succeeded",
                        Toast.LENGTH_SHORT).show()
                } else {
                    Toast.makeText(this, "Fetch failed",
                        Toast.LENGTH_SHORT).show()
                }
            }

https://firebase.google.com/docs/ab-testing

https://firebase.google.com/docs/ab-testing