Skip to content

Layer Experiment Overview

Core concepts

The ABC platform's layer-and-domain architecture:

Layer and domain architecture

Node typeDescription
Global DomainThe root of the entire tree, representing 100% of the project's traffic.
DomainA logical partition of traffic; can be nested. Each domain receives a certain percentage of traffic from its parent.
Multi-Layer DomainMultiple layers within the domain share the same traffic pool and run in parallel; experiments within are not mutually exclusive.
Exclusive LayerExperiments within the layer are mutually exclusive — a given user will match at most one experiment in the layer.

Traffic isolation principles

The layered architecture achieves traffic isolation between experiments through the following mechanisms:

Mutual exclusion within a layer

Within the same Exclusive Layer, each experiment occupies a distinct bucket range. Users are assigned to a unique bucket based on a hash value, so they match at most one experiment in that layer.

Orthogonality across layers

Different layers use independent hash seeds for traffic assignment. A user's variant assignment in Layer A does not affect their assignment in Layer B. The effect of experiments in the two layers can be measured independently without interference.

Result:

  • Same layer → isolated (no cross-contamination)
  • Across layers → independent (can be evaluated simultaneously)
  • Overall effect: avoids traffic conflicts while maximizing traffic reuse

Prerequisites: configure Layers & Domains

Before creating a Layer Experiment, you need a layer to run it on.

1. Open the Layers & Domains list

Layers and Domains list Click Experiments in the left navigation bar → switch to the Layers & Domains tab.

The page displays all nodes in the current project as a table:

ColumnDescription
NameNode name (indented to show parent-child relationships).
ExperimentsExperiments associated with this node.
TypeNode type: Domain / Multi-Layer Domain / Exclusive Layer.
% of global trafficPercentage of global traffic this node holds.
BucketsBucket range, e.g. [1~100].
Owner / Created atCreator and creation time.

2. Enter edit mode

Layers edit mode Click the Edit button in the top-right corner of the list page to enter the edit view.

Layers edit view The edit view is divided into three areas:

  • Left panel: Tree navigation showing the full hierarchy under Global Domain; nodes can be expanded or collapsed. A search box at the top lets you find nodes by name.
  • Center: Traffic visualization showing each node's traffic allocation as a bar chart. Each node card displays % of parent traffic and % of global traffic.
  • Bottom legend:
    • Used — traffic already occupied by experiments
    • Unavailable — traffic that cannot be allocated
    • Available — remaining traffic available for new experiments

3. Add to Layers & Domains

Click the + Add button in the top-left corner. An Add to Layers & Domains panel slides out on the right:

FieldDescription
NameNode name (e.g. "game_strategy_layer").
KeyUnique identifier; can only contain letters, numbers, and underscores.
Parent DomainSelect the parent domain (dropdown shows all selectable domains).
TypeNode type (available options depend on the selected Parent Domain; see rules below).
Configure trafficPercentage of traffic allocated to this node (slider).
Parameters (optional)Set default parameters for this node (only available for Exclusive Layer type).
Description (optional)Node description.

Type selection rules

Parent nodeAvailable typesNotes
Global DomainDomainOnly sub-domains can be created under the global domain as the first level of traffic partitioning.
Other DomainDomain / Multi-Layer Domain / Exclusive LayerA sub-domain can be further partitioned or turned directly into an experiment layer.
TypeWhen to use
DomainWhen you need multi-level traffic partitioning, e.g. first by business line, then by feature module.
Multi-Layer DomainWhen multiple experiments have no parameter conflicts and you want to reuse the same traffic pool to run experiments faster.
Exclusive LayerWhen experiments have parameter conflicts or require strict isolation, so a given user matches only one experiment.

Configure traffic

A slider control that sets the percentage of traffic this node can use.

Notes:

  • The available range depends on the unused traffic remaining in the parent domain.
  • If all traffic in the parent domain has already been allocated to other sibling nodes, the slider cannot be adjusted (shows 0).
  • If the slider cannot be dragged, check:
    1. Whether a Type has been selected (the slider cannot be adjusted before a Type is chosen)
    2. Whether the parent domain still has remaining available traffic

Parameters

Parameters can only be configured when the Type is Exclusive Layer.

Steps:

  1. Click Add parameter.
  2. Fill in Parameter key, Value type (String / Number / Boolean / JSON), and Parameter value.
  3. To add more parameters, click Add parameter again.
  4. Click Confirm when done.

When no default parameters are configured for the node, the system uses policy ID 100000 as the default policy.