핵심 용어

핵클에서 자주 사용하는 용어들에 대해 설명합니다. 이 용어들은 본 가이드 문서 및 핵클 대시보드에서 자주 접하게 되므로, 반드시 읽어주시기 바랍니다.

📘

For developers

핵클 플랫폼 연동 시 몇 개의 키 값이 반드시 필요합니다. 해당 용어에는 For developers 가 붙어있습니다.

일반

대시보드 (Dashboard)

핵클 플랫폼 사용자를 위해 제공하는 공간으로, 하나의 워크스페이스를 제공하고 있습니다.

워크스페이스 (Workspace)

핵클 플랫폼을 사용하는 회사(또는 팀)가 공유하는 작업 공간을 의미합니다. 워크스페이스 안에서 A/B 테스트, 퍼널 및 이벤트를 생성하고 관리합니다. 같은 워크스페이스 안에서 A/B 테스트, 퍼널과 이벤트를 공유합니다.

일반적으로 하나의 회사가 하나의 워크스페이스를 사용합니다. 필요에 따라 하나의 팀이나 서비스 단위로 사용할 수도 있습니다.

환경 (Environment)

하나의 워크스페이스에 여러 개의 환경을 제공하고 있습니다. 예를 들어 실제 고객 대상으로 서비스하는 운영 환경(production)과 개발 및 QA 등을 위한 개발 환경(development) 등이 있습니다.

핵클 워크스페이스는 현재 두 가지 환경 - 운영 환경(production)과 개발 환경(development)을 제공하고 있습니다. 현재 선택된 환경은 파란색 글씨로 보입니다.

사용자 식별자

개별 사용자를 식별하는 용도로 사용하는 값으로, 중복값이 없는 유일값(unique value)이어야 합니다.
보다 자세한 내용은 사용자 식별자 관리하기 문서를 참고하시기 바랍니다.

SDK (Software Development Kit)

개발자가 쉽고 간편하게 핵클 플랫폼을 연동할 수 있도록 제공하는 개발 도구입니다. 사용하는 개발 언어에 맞게 선택하여 연동할 수 있습니다.

SDK 키 (SDK Key)

For developers SDK 연동 시 환경을 식별하기 위한 키입니다.


A/B 테스트 (Experiment)

새로 출시하는 기능, 화면, 알고리즘 등을 현재 제공하는 기능, 화면, 알고리즘과 비교하여 어떤 것이 우수한지 확인할 수 있는 실험입니다. 실험 혹은 Experiment라는 용어 또한 A/B 테스트를 의미합니다.

대조군, 실험군

대조군은 현재 사용자에게 제공하는 기능, 화면 혹은 알고리즘을 의미합니다. A/B 테스트에서는 통상 테스트 그룹 A로 칭하게 됩니다.
실험군은 사용자에게 선보인 적 없는 기능, 화면 혹은 알고리즘을 의미합니다. 새로 출시할 혹은 변경할 내용으로 볼 수 있습니다. A/B 테스트에서는 통상 테스트 그룹 B, C, D 등을 의미합니다. (테스트 그룹 A를 제외한 나머지 그룹)

목표 (Goal)

목표는 실험군(그룹 B,C,D,...)인 경우에 대조군(그룹 A)인 경우보다 우수한 결과를 얻을 수 있는지 알아보기 위한 측정 기준(metric)입니다. 즉, A/B 테스트의 성과를 측정하기 위해 목표를 설정합니다. A/B 테스트마다 측정하고 싶은 목표를 하나 이상 자유롭게 생성할 수 있습니다.

(예시) 어떤 회사가 구매하기 버튼의 색상 변경을 검토하고 있고, 변경안이 효과가 있는지 A/B 테스트를 통해 알고 싶다면 목표는 다음과 같이 정할 수 있습니다.

  • 구매하기 버튼 클릭수
  • 구매 전환율

테스트 그룹 (Variation)

대조군, 실험군을 의미하며, 줄여서 그룹으로 칭합니다. A/B 테스트는 하나의 대조군(그룹 A)과 하나 이상의 실험군(그룹 B,C,D,...)을 갖습니다. 각 테스트 그룹은 A/B 테스트를 통해 비교하고자 하는 기능, 화면, 알고리즘 등을 포함합니다.

(예시)

  • A/B 테스트 (구매하기 버튼 색상 변경)

    • 그룹 A : 기존 색상 (파란색)
    • 그룹 B : 변경 색상 (빨간색)
    • 그룹 C : 변경 색상 (초록색)
  • A/B 테스트 (검색 알고리즘 변경)

    • 그룹 A : 기존 알고리즘
    • 그룹 B : 변경 알고리즘

핵클 A/B 테스트에서 테스트 그룹은 최대 10개(대조군 1개, 실험군 9개)까지 생성할 수 있습니다.

테스트 그룹 분배 (Variation Distribution)

A/B 테스트의 대상으로 선정된 사용자를 임의의 테스트 그룹에 배정합니다.

A/B 테스트의 조건이 변경되지 않는 한, 사용자는 항상 동일한 테스트 그룹에 할당됩니다. 즉, 구매하기 버튼의 색상을 실험하는 A/B 테스트에서 홍길동이라는 사용자가 그룹 B로 분배되었다면 홍길동은 계속 그룹 B에 속하게 됩니다.

어떤 테스트 그룹에 속하게 되는지는 일련의 분배 과정을 통해 결정됩니다. 테스트 그룹 원리 대해서는 테스트 그룹 분배 원리 문서에서 다루고 있습니다.

트래픽 할당 (Traffic Allocation)

전체 사용자 중 A/B 테스트의 대상이 될 사용자의 비율입니다.

예를 들어 트래픽 할당 수준을 40%로 설정한다면 전체 사용자 중 40%만 A/B 테스트의 대상이 되고 나머지 60%는 A/B 테스트 대상에 포함되지 않습니다. A/B 테스트에 할당된 40% 사용자의 데이터만으로 A/B 테스트의 목표를 계산합니다.

트래픽 할당(Traffic Allocation)과 테스트 그룹 분배(Variation Distribution)는 다른 개념입니다.

위의 예시에서 트래픽 할당 수준이 40%로 설정되었다면, 이 40%의 사용자를 대상으로 테스트 그룹 분배 비율에 맞게 각 테스트 그룹으로 사용자를 분배하게 됩니다.

수동할당 (Override)

사용자 식별자 값을 사용해서 특정 사용자를 특정 테스트 그룹으로 강제 할당하는 기능입니다. 등록 대상이 된 사용자의 경우 타겟팅, 트래픽 할당, 테스트 그룹 분배 비율과 관계없이 지정된 테스트 그룹으로 할당됩니다.

개발 테스트, QA 등을 위해 특정 테스트 그룹에서의 동작을 확인할 때 사용합니다.

타겟팅 (Targeting)

특정 속성을 가진 사용자에 한정하여 A/B 테스트에 참여하도록 설정하는 기능입니다. 예를 들어 모바일 운영체제 중 안드로이드 사용자만을 대상으로 A/B 테스트에 참여하도록 설정할 수 있습니다.
단, 수동할당 대상이 된 사용자는 타겟 설정 대상이 될 수 없습니다.

실험 키 (Experiment Key)

개개의 A/B 테스트를 식별하기 위한 키입니다. 실험 키는 A/B 테스트를 생성할 때 자동으로 발급됩니다.

For developers 실험 키는 워크스페이스 내에서 고유한 값으로, 테스트 그룹 분배 과정에서 사용합니다.


데이터 세부 분석 (Data Segment Analytics)

사용자 객체에 속성을 포함하여 핵클에 전송한 경우, 속성을 기반으로 보다 상세한 분석을 할 수 있습니다.
예를 들어 '회원 등급' 이라는 속성을 보냈다면 사용자를 회원 등급에 따라 분류하여 데이터를 분석할 수 있습니다.

분석 기준

세부 분석할 대상을 의미하며, 동일한 성질을 가진 부류나 범위 등을 묶은 것으로 볼 수 있습니다.
예를 들어 "사용자가 사용하는 OS 별 분석을 진행한다"고 하면 분석 기준은 OS가 됩니다.

분석 항목

분석 기준이 가질 수 있는 값 중 분석을 위해 선택한 항목입니다.
예를 들어 분석 기준을 OS로 선택한 경우 분석 항목으로는 Android, iOS, Windows, MacOS 등을 넣을 수 있습니다.

속성

어떤 사용자가 가진 특징을 속성명(key)과 속성값(value)으로 표현하는 방법입니다.
예를 들어 운영체제를 속성으로 표현하고 싶은 경우, 속성명은 os가 될 수 있고, 속성값은 Android, iOS, Windows, MacOS 등이 포함될 수 있습니다.

세션 (Session)

세션이란 정해진 시간 내에 웹 또는 모바일 앱에서 사용자가 이벤트를 발생시키며 발생하는 상호작용의 집합을 의미합니다. 단일 세션에 페이지 방문, 버튼 클릭, 상품 구매 등 다양한 이벤트가 포함될 수 있습니다.

핵클에서 정의하는 세션 시간은 30분입니다. 즉, 가장 최근에 이벤트가 발생한 시점을 기준으로 30분이 경과했다면 해당 세션은 종료된 것으로 간주됩니다.


기능 플래그 (Feature Flag)

기능 플래그는 개발자가 코드를 배포하지 않고 원격으로 기능을 활성화하거나 비활성화할 수 있는 소프트웨어 개발 방법입니다. 코드 배포와 기능 출시를 분리할 때 유용하게 사용할 수 있습니다.

기능 키 (Feature Key)

개개의 기능 플래그를 식별하기 위한 키입니다. 기능 키는 기능 플래그를 생성할 때 자동으로 발급됩니다.

For developers 기능 키는 워크스페이스 내에서 고유한 값으로, 기능 플래그 결정 단계에서 사용합니다.

사용자 타겟팅 (Targeting)

특정 속성을 가진 사용자에게 기능 플래그 상태 값을 적용하는 기능입니다. 예를 들어 모바일 운영체제 중 안드로이드를 사용하는 모든 사용자에게 기능 플래그를 적용하는 것이 가능합니다.

단, 개별 타겟팅 대상이 된 사용자는 사용자 타겟팅 대상이 될 수 없습니다.
또한 개별 타겟팅 대상 및 사용자 타겟팅 대상이 된 사용자는 트래픽 할당 대상이 되지 않습니다.

개별 타겟팅 (Override)

특정 사용자가 기능 플래그 적용 대상이 되도록 사용자 식별자 값을 이용해서 강제 할당하는 기능입니다. 개별 타겟팅에 등록된 사용자의 경우 사용자 타겟팅, 트래픽 할당 비율과 관계없이 기능 플래그 상태 값이 적용됩니다.

이 기능은 내부에서만 테스트하고 싶을 때 유용하게 사용할 수 있습니다.


사용자 퍼널 (Funnel)

사용자 퍼널은 서비스 내에서의 사용자 여정을 가시적으로 확인하기 위한 분석 수단입니다. 서비스의 메인화면 대비 상세화면에 얼마나 많은 사용자들이 진입하였으며, 일/주/월/분기 단위로 어떻게 변화하고 있는지를 사용자 퍼널 분석을 통해 확인할 수 있습니다.


이벤트 (Event)

이벤트(Event)는 사용자가 웹 사이트, 모바일 애플리케이션, 시스템 등을 사용할 때 하는 행동, 혹은 행동으로 인해 발생하는 사건입니다. 사용자의 행동 중에는 검색 버튼 클릭, 상품 페이지 진입, 구매완료 등이 있으며, 그 외 주문서 로딩 시간, 서버 API 처리 시간, 모바일 앱 크래시 등도 이벤트로 볼 수 있습니다.

핵클의 경우 다음의 처리를 위해 이벤트가 필요합니다.

  • A/B 테스트의 목표(Goal)를 계산
  • 사용자 퍼널 분석

이벤트 키 (Event Key)

이벤트 생성 시 이벤트 키를 입력해야 합니다. 이벤트 키는 핵클에서 이벤트를 식별하기 위해 필요합니다. 핵클이 이벤트를 수집하고 기록할 때 이벤트 키를 통해 수행합니다.

For developers 이벤트 키는 워크스페이스 내에서 고유한 값으로, SDK 연동 이후 사용자 이벤트 전송을 위해 파라미터로 사용합니다.