AWS::Evidently::Experiment - AWS CloudFormation

AWS::Evidently::Experiment

Creates or updates an Evidently experiment. Before you create an experiment, you must create the feature to use for the experiment.

An experiment helps you make feature design decisions based on evidence and data. An experiment can test as many as five variations at once. Evidently collects experiment data and analyzes it by statistical methods, and provides clear recommendations about which variations perform better.

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::Evidently::Experiment", "Properties" : { "Description" : String, "MetricGoals" : [ MetricGoalObject, ... ], "Name" : String, "OnlineAbConfig" : OnlineAbConfigObject, "Project" : String, "RandomizationSalt" : String, "RemoveSegment" : Boolean, "RunningStatus" : RunningStatusObject, "SamplingRate" : Integer, "Segment" : String, "Tags" : [ Tag, ... ], "Treatments" : [ TreatmentObject, ... ] } }

YAML

Type: AWS::Evidently::Experiment Properties: Description: String MetricGoals: - MetricGoalObject Name: String OnlineAbConfig: OnlineAbConfigObject Project: String RandomizationSalt: String RemoveSegment: Boolean RunningStatus: RunningStatusObject SamplingRate: Integer Segment: String Tags: - Tag Treatments: - TreatmentObject

Properties

Description

An optional description of the experiment.

Required: No

Type: String

Minimum: 0

Maximum: 160

Update requires: No interruption

MetricGoals

An array of structures that defines the metrics used for the experiment, and whether a higher or lower value for each metric is the goal. You can use up to three metrics in an experiment.

Required: Yes

Type: Array of MetricGoalObject

Minimum: 1

Maximum: 3

Update requires: No interruption

Name

A name for the new experiment.

Required: Yes

Type: String

Pattern: [-a-zA-Z0-9._]*

Minimum: 1

Maximum: 127

Update requires: Replacement

OnlineAbConfig

A structure that contains the configuration of which variation to use as the "control" version. The "control" version is used for comparison with other variations. This structure also specifies how much experiment traffic is allocated to each variation.

Required: Yes

Type: OnlineAbConfigObject

Update requires: No interruption

Project

The name or the ARN of the project where this experiment is to be created.

Required: Yes

Type: String

Pattern: ([-a-zA-Z0-9._]*)|(arn:[^:]*:[^:]*:[^:]*:[^:]*:project/[-a-zA-Z0-9._]*)

Minimum: 0

Maximum: 2048

Update requires: Replacement

RandomizationSalt

When Evidently assigns a particular user session to an experiment, it must use a randomization ID to determine which variation the user session is served. This randomization ID is a combination of the entity ID and randomizationSalt. If you omit randomizationSalt, Evidently uses the experiment name as the randomizationSalt.

Required: No

Type: String

Pattern: .*

Minimum: 0

Maximum: 127

Update requires: No interruption

RemoveSegment

Set this to true to remove the segment that is associated with this experiment. You can't use this parameter if the experiment is currently running.

Required: No

Type: Boolean

Update requires: No interruption

RunningStatus

A structure that you can use to start and stop the experiment.

Required: No

Type: RunningStatusObject

Update requires: No interruption

SamplingRate

The portion of the available audience that you want to allocate to this experiment, in thousandths of a percent. The available audience is the total audience minus the audience that you have allocated to overrides or current launches of this feature.

This is represented in thousandths of a percent. For example, specify 10,000 to allocate 10% of the available audience.

Required: No

Type: Integer

Minimum: 0

Maximum: 100000

Update requires: No interruption

Segment

Specifies an audience segment to use in the experiment. When a segment is used in an experiment, only user sessions that match the segment pattern are used in the experiment.

For more information, see Segment rule pattern syntax.

Required: No

Type: String

Pattern: ([-a-zA-Z0-9._]*)|(arn:[^:]*:[^:]*:[^:]*:[^:]*:segment/[-a-zA-Z0-9._]*)

Minimum: 0

Maximum: 2048

Update requires: No interruption

Tags

Assigns one or more tags (key-value pairs) to the experiment.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.

You can associate as many as 50 tags with an experiment.

For more information, see Tagging AWS resources.

Required: No

Type: Array of Tag

Update requires: No interruption

Treatments

An array of structures that describe the configuration of each feature variation used in the experiment.

Required: Yes

Type: Array of TreatmentObject

Minimum: 2

Maximum: 5

Update requires: No interruption

Return values

Ref

When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the ARN of the experiment. For example, arn:aws:evidently:us-west-2:0123455678912:project/myProject/experiment/myExperiment

For more information about using the Ref function, see Ref.

Fn::GetAtt

The Fn::GetAtt intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the Fn::GetAtt intrinsic function, see Fn::GetAtt.

Arn

The ARN of the experiment. For example, arn:aws:evidently:us-west-2:0123455678912:project/myProject/experiment/myExperiment