# Variation Distribution Process

## Overview

This document explains the process by which a user is distributed to a group in an A/B Test.

## Flow Chart

![3370](/files/b9HEJQ9z7Zi1aAR0WUJf)

## Process Details

The A/B Test variation distribution process is as follows:

**1. Check whether the A/B Test exists.**

* If the A/B Test does not exist, the default group, Variation A, is assigned.

**2. Check whether the user is registered as a test device.**

* If the user is registered as a test device, the configured test group is assigned.

**3. Check whether a user identifier for distribution exists.**

* If there is no user identifier, the default group, Variation A, is assigned.

**4. Check whether the user is excluded due to a Mutually Exclusive Group.**

* If the A/B Test is included in a Mutually Exclusive Group, check whether the user is included in the Mutually Exclusive Group.
* If the user is not included in the Mutually Exclusive Group, the default group, Variation A, is assigned.

**5. Check whether the user is a target (targeting) of the A/B Test.**

* If the user is not a target of the A/B Test, the default group, Variation A, is assigned.

**6. Check whether the A/B Test status is Draft or Paused.**

* If the A/B Test status is Draft or Paused, the default group, Variation A, is assigned.

**7. Check whether the A/B Test has been completed.**

* If the A/B Test has been completed, the Winner Variation selected when the test was concluded is assigned.

**8. Check whether the user has been allocated traffic through bucketing.**

* If the user is not allocated, the default group, Variation A, is assigned.
* Refer to the [Variation Distribution Principle](/en/ab-test/group-distribution/ab-bucketing.md) document for the meaning of **bucketing**.

**9. Check whether the assigned test group has been dropped from the test.**

* If the user has been assigned to a dropped test group, the default group, Variation A, is assigned.
* If the group has not been dropped, the corresponding test group is assigned.


---

# 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/en/ab-test/group-distribution/ab-variation.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.
