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 omitrandomizationSalt
, Evidently uses the experiment name as therandomizationSalt
.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
-
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