# A/B 테스트 생성 및 설정

## A/B 테스트 진행 단계

A/B 테스트를 진행하기 위해서는 크게 다음의 과정을 거쳐야 합니다.

1. A/B 테스트 준비
2. A/B 테스트 진행
3. A/B 테스트 종료

이 문서에서는 위 과정의 세부 단계에 대해 순서대로 안내합니다.

## A/B 테스트 준비

어떤 데이터를 수집할지 정합니다.

### 1. A/B 테스트 대상 선정

어떠한 변경 사항이 기존 사용자에게 영향을 줄 수 있다면 A/B 테스트 대상으로 삼아보는 것이 좋습니다.\
대표적인 사례는 다음과 같은 것이 있습니다.

* 로직, 알고리즘 변경
* UI/UX 변경
* 마케팅을 위한 문구, 배너 변경

### 2. 목표 및 가설 생성

A/B 테스트 후 기존안과 변경안 중 어떤 것이 더 나은지 결론을 내리기 위해 판단 기준이 있어야 합니다.\
더 많은 사용자의 유입, 더 많은 버튼 클릭, 더 감소한 로딩 시간 등등 여러 가지가 있을 것입니다.\
이러한 판단 기준을 목표라고 합니다.

목표를 정하기 어렵다면 가설을 생성해보는 게 도움이 됩니다.\
기존안보다 변경안이 왜 좋은지, 어떤 이유로 변경했는지 떠올려 가설을 설정합니다.

## A/B 테스트 진행

![](/files/aQCnqJd6cd77tHikwA2U)

A/B 테스트를 시작하려면 우선 A/B 테스트를 새로 생성해야 합니다.

A/B 테스트를 생성하고 진행하며 데이터를 수집합니다.

![](/files/LEKzoGjgXdbUzev1JCz4)

### 1. 이벤트 생성하기

이벤트는 사용자의 클릭 로그, 컨텐츠 생성 로그, 구매 로그 등의 사용자 행동 데이터를 의미합니다. 이벤트는 A/B 테스트 결과를 확인하기 위한 목표 계산에 사용됩니다. (예: 클릭전환율)\
이벤트를 생성하는 방법에 대해서는 아래 문서를 참고하시기 바랍니다.

{% hint style="info" %}
반드시 이벤트 먼저 생성할 필요는 없습니다

**`3. 목표 등록하기`** 단계에서 목표 설정 과정 중 생성해도 됩니다.
{% endhint %}

{% content-ref url="/pages/j7RubN9YCxpBxwiX3PhL" %}
[이벤트 생성하기](/event-management/create-event.md)
{% endcontent-ref %}

### 2. A/B 테스트 생성하기

A/B 테스트를 생성할 때 현재 버전과 새롭게 비교하고 싶은 버전들을 설정할 수 있습니다.\
보다 자세한 내용에 대해서는 아래 문서를 참고하시기 바랍니다.

{% content-ref url="/pages/ecBBWrgjG52hsVnaqhsP" %}
[새 A/B 테스트 생성하기](/ab-test/create-and-configure/create-ab-test.md)
{% endcontent-ref %}

### 3. 목표 등록하기

앞서 설명한 대로, 목표는 A/B 테스트의 성과를 측정하기 위한 수단입니다.\
측정하고 싶은 목표를 여러 개 등록할 수 있으며, 기존에 등록했던 목표도 쉽게 다시 등록할 수 있습니다.\
보다 자세한 내용에 대해서는 아래 문서를 참고하시기 바랍니다.

{% content-ref url="/pages/tQATCVEITEeCB11jEQTp" %}
[지표 설정하기](/ab-test/create-and-configure/set-metrics.md)
{% endcontent-ref %}

### 4. 핵클 플랫폼 연동하기

A/B 테스트를 코드로 구현하고 목표를 측정하기 위해 플랫폼 연동 작업이 필요합니다.\
아래 문서를 통하여 핵클에서 제공하는 SDK의 기능 및 지원 가능한 언어를 살펴보고 각 언어 별 연동 가이드 문서를 확인할 수 있습니다.

{% content-ref url="/spaces/ezh7pUfOjUmS5W8txJ85" %}
[Broken mention](broken://spaces/ezh7pUfOjUmS5W8txJ85)
{% endcontent-ref %}

### 5. A/B 테스트 시작하기

A/B 테스트 시작까지 단 한 단계 남았습니다. 바로 트래픽 비중을 설정하는 것입니다.\
핵클에서는 **트래픽 할당** 기능을 이용하여 A/B 테스트에 전체 사용자 중 원하는 비율만큼의 사용자만 A/B 테스트에 노출되도록 설정할 수 있습니다.

{% content-ref url="/pages/yxdJ3PZZSpEImAFsAhcr" %}
[트래픽 할당하기](/ab-test/create-and-configure/traffic-allocation.md)
{% endcontent-ref %}

이제 A/B 테스트를 시작할 수 있습니다.\
어떻게 A/B 테스트를 시작하고 멈출 수 있는지를 아래 문서에서 확인할 수 있습니다.

{% content-ref url="/pages/5Q87FgjKGWWEcZ6dD7Pw" %}
[A/B 테스트의 상태](/ab-test/status.md)
{% endcontent-ref %}

{% hint style="success" %}
최소 일주일 이상 테스트를 진행하세요

요일 영향도로 인한 테스트 결과 왜곡을 방지하기 위해 최소 1주일 이상 테스트를 진행할 것을 권장합니다.
{% endhint %}

## A/B 테스트 종료

수집한 데이터를 분석해서 어떤 결과를 얻었는지 결론을 도출합니다.

![](/files/JjM4galBOwFzXchYF5u7)

### 1. A/B 테스트 결과 해석하기

A/B 테스트의 결과는 A/B 테스트 상세 페이지의 **`데이터 분석`** 탭에서 확인할 수 있습니다.\
결과에서 얻을 수 있는 데이터 및 결과를 해석하는 방법에 대해 아래 문서에서 확인할 수 있습니다.

{% content-ref url="/pages/hvWrSqJuq2qBRNR4r5e7" %}
[데이터 분석](/ab-test/data-analysis/interpret-results.md)
{% endcontent-ref %}

{% hint style="info" %}
raw data가 필요한 경우

유료 요금제(프로 플랜 이상)를 사용 중이라면 테스트 그룹 분배 및 이벤트에 대한 데이터 추출이 가능합니다.\
데이터 추출에 대한 자세한 내용은 [데이터 추출하기](/data-link/data-integration-data-export.md)를 참고해주세요.
{% endhint %}

### 2. 테스트 종료 처리하기

결과를 얻었다면 A/B 테스트를 종료합니다.\
테스트 종료 시 Winner 그룹을 선택하고 나면 모든 사용자가 Winner 그룹의 결과를 보게 됩니다.

{% hint style="danger" %}
**실험 종료 후 해당 A/B 테스트와 관련된 코드를 반드시 제거하기 바랍니다.**
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hackle.io/ab-test/create-and-configure.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
