Hackle vs. Firebase

목적

핵클을 통해 경험하실 수 있는 A/B Testing (실험), Remote Config (원격 구성) 기능을 Firebase와 비교하여 소개합니다. 이 문서를 통해 다음 두 가지 사항을 이해하실 수 있습니다.

  1. 핵클의 A/B Testing (실험), Remote Config (원격 구성) 기능이 Firebase 대비 추가로 제공하는 것
  2. 해당 기능을 통해 핵클 사용자가 얻을 수 있는 이점

요약 설명

  1. 원하는 지표를 자유롭게 설정할 수 있습니다.

  2. 지표를 세그먼트 단위로 분석할 수 있습니다.

  3. 더욱 고도화된 타겟팅 기능을 제공합니다.

  4. 하나의 실험으로 Android, iOS 동시 지원이 가능합니다.

  5. 실시간에 가깝게 실험, 원격 구성 설정의 변경 사항을 반영합니다. (Firebase의 fetch interval 주기는 12시간)

  6. 실험 결과 데이터를 자주 업데이트 합니다. (1시간 당 최소 1회 이상)

  7. 클라이언트 SDK 와 서버 SDK 를 모두 제공합니다. (Firebase는 클라이언트 SDK만 제공)

  8. 샘플링 없이 전체 데이터를 기반으로 결과값을 제공합니다.

  9. 전환율을 계산할 때 측정 시점 차이에 따라 오류가 발생할 가능성이 없습니다.

  10. 상시 Hotline을 통해 고객을 기술적으로 지원합니다.

  11. 실험 단위로 확인할 수 있는 결과 수에 제한이 없습니다.

  12. 하나의 실험에 대해 개발환경과 운영환경을 모두 제공하기 때문에 실험 진행이 용이합니다.

상세 설명

1. 핵클에서는 원하는 지표를 자유롭게 설정할 수 있습니다.

핵클에서는 지표의 분모/분자를 원하는 이벤트로 선택할 수 있으며, 다양한 계산유형 제공을 통해 전환율 뿐만 아니라 평균 주문금액(AOV), 사용자당 평균 구매금액(ARPU), 구매자당 평균 구매금액(ARPPU) 등의 지표를 측정할 수 있습니다.

또한, 특정 유저 세그먼트를 대상으로 지표를 측정할 수 있는 필터 설정 기능도 제공하고 있습니다.

2. 핵클에서는 지표를 세그먼트 단위로 분석할 수 있습니다.

실험에서 측정하고자 하는 지표의 결과를 플랫폼(iOS, Android, Web 등), 브라우저, 앱 버전 혹은 고객사에서 내부적으로 관리하는 속성정보(ex. 멤버십 회원여부, 첫구매여부, 성별, 연령대 등) 를 기준으로 세그먼트 분석을 할 수 있습니다.

이를 통해, A/B 테스트의 지표가 특정 세그먼트에만 영향을 주고 있는지 확인할 수 있습니다.

3. 핵클은 더욱 고도화된 타겟팅 기능을 제공합니다.

핵클에서는 Firebase에서 제공하는 사용자 타겟팅 조건보다 더욱 다양한 타겟팅 조건을 제공하고 있으며, 타겟팅 시 여러 조건을 설정할 수 있도록하여 원하는 유저를 대상으로 A/B 테스트를 진행할 수 있도록 지원하고 있습니다.

4. 핵클은 하나의 실험으로 Android, iOS 동시 지원이 가능합니다.

Firebase에서 Android 와 iOS 를 모두 테스트 하기 위해서는 실험 두 개를 동시에 진행해야 하는 번거로움이 있습니다.

핵클은 크로스 플랫폼 상에서 실험을 지원하여, 하나의 실험으로 Android 와 iOS 를 동시에 테스트할 수 있습니다.

5. 핵클은 실시간에 가깝게 실험, 원격 구성 설정의 변경 사항을 반영합니다.

SDK는 대시보드에서 변경한 설정 정보를 주기적으로 수신하여 코드에 반영합니다.

핵클 SDK는 Firebase SDK에 비해 설정 정보 변경을 업데이트하는 주기가 압도적으로 짧아, 실시간에 가깝게 진행 상황을 컨트롤할 수 있습니다. 참고로 Firebase는 설정 정보를 업데이트하는 주기 (fetch interval) 가 12시간입니다.

6. 핵클은 실험 결과 데이터를 자주 업데이트 합니다. (1시간 당 최소 1회 이상)

Firebase에서는 Google Analytics에서 전날까지 취합된 데이터를 기반으로 실험 결과를 제공하기 때문에 경우에 따라 24시간까지 시차가 나타납니다. 이 경우 사용자는 현재 상황에 대한 즉각적인 판단과 대응을 하기 어렵습니다.

핵클에서는 실험 결과를 1시간에 최소 1회 이상 업데이트하기 때문에 시차가 1시간 이내로 관리됩니다.

7. 핵클은 클라이언트 SDK 와 서버 SDK 를 모두 제공합니다. (Firebase는 클라이언트 SDK만 제공)

검색 로직, 추천 상점 리스팅 로직 등 서버에서 진행되는 로직에 대한 A/B 테스트를 진행하는 경우 서버 SDK를 활용하는 것이 훨씬 효율적입니다. 왜냐하면 코드 작업이 서버에서만 이루어져도 되기 때문입니다.

이와 달리 서버 로직에 대한 A/B 테스트를 진행할 때 클라이언트 SDK를 활용하면, 서버와 클라이언트(Android, iOS) 양쪽 모두에서 코드 작업이 이루어져야 합니다. 이 때 클라이언트(Android, iOS)에서의 코드 작업은 상당량의 개발 리소스를 필요로 합니다. 왜냐하면 앱 하위 버전 호환성 및 배포 시점 등을 고려해야 하고, 테스트를 종료할 때 코드 삭제와 같은 관리포인트가 발생하기 때문입니다.

8. 핵클은 샘플링 없이 전체 데이터를 기반으로 결과값을 제공합니다.

Firebase A/B Testing은 데이터를 샘플링하여 사용하므로 경우에 따라 통계적으로 유의미하지 않은 데이터가 제공될 수 있습니다.

핵클 A/B 테스트는 결과를 계산할 때 전체 데이터를 사용하기 때문에 정확한 계산 결과를 제공합니다.

9. 핵클은 전환율을 계산할 때 측정 시점 차이에 따라 오류가 발생할 가능성이 없습니다.

특정 전환율(분자/분모 | 예: 버튼 클릭률, 구매 전환율 등)을 계산하기 위해서는 분모와 분자 값을 측정하는 시점이 일치해야 합니다.

그런데 Firebase A/B Testing은 유저가 실험의 특정 그룹(A or B)에 분배되는 시점(분모1)과 그 유저가 실험이 진행 중인 화면에 노출되는 시점(분모2)이 일치하지 않을 가능성이 있습니다. 이 경우 분모와 분자 값을 측정하는 시점이 달라 결과값이 오염될 수 있습니다.

핵클 A/B 테스트에서는 유저가 실험의 특정 그룹(A or B)에 분배되는 시점(분모1)과 그 유저가 실험이 진행 중인 화면에 노출되는 시점(분모2)이 항상 일치합니다. 그리고 이는 분자의 시점과도 일치하므로 오류를 발생시킬 가능성이 없습니다.

10. 핵클은 상시 Hotline을 통해 고객을 기술적으로 지원합니다.

핵클에서는 A/B 테스트 코드 구현을 포함한 SDK 연동 과정이나 실험을 진행하면서 궁금하셨던 점들을 편하게 질문하실 수 있도록 Slack 메신저에서 고객사별 private channel을 지원해 드리고 있습니다.

11. 핵클은 실험 단위로 확인할 수 있는 결과 수에 제한이 없습니다.

Firebase는 하나의 실험에서 측정할 수 있는 목표가 총 6개(성공지표 1개, 보조지표 5개)로 제한됩니다.

핵클 A/B 테스트에서는 실험을 구성할 때 목표 개수에 제한이 없어, 다양한 목표를 동시에 측정할 수 있습니다.

12. 핵클은 하나의 실험에 대해 개발환경과 운영환경을 모두 제공하기 때문에 실험 진행이 용이합니다.

Firebase는 운영환경과 개발환경의 분리가 되어있지 않아, 개발자가 환경을 오해할 가능성이 있습니다. A/B 테스트를 코드로 구현하고자 할 때 미리 개발환경에서 테스트를 진행해야 하는데, 환경을 오해하여 실제로 사용자에게 노출되는 운영환경의 설정을 수정하는 문제가 발생할 가능성이 높습니다.

핵클에서는 하나의 실험을 진행할 때 운영환경과 개발환경을 모두 제공하여, 이와 같은 문제의 발생 가능성이 없습니다.