Rich-text Reply

Using Groups, Experiments, and Audiences to target personalization groups

lloudermilk 03-13-17
Accepted Solution

Using Groups, Experiments, and Audiences to target personalization groups

[ Edited ]

Hi all,
We’d like to use Optimizely X to do a personalization test with age being our first variable. We have 5 age brackets so we’d like to divide our audience into 5 cohorts, one for each age bracket.

 

We need our test cohorts to reflect our user base, so we segment our users into three "types:" users whose primary actions are either action A, action B, or action C. We know what percentage of these three types we wish to include within each cohort that would proportionally reflect our user base: 10% of A, 20% of B, and 70% of C.


What I would like to do is create an experiment "Group" in Optimizely with five "Experiments", one for each cohort. From within that experiment I would like to define three "Audiences," one for every user-action group, specifying that I would like to include 10% of Audience A, 20% of Audience B, and 70% of Audience C. Our "Variation" for this experiment would be whether or not to show the personalized data.

 

Currently, the only way I see to set this up to our liking is to create a "Group" containing 15 "Experiments", covering all possible combinations of user-action with age bracket. This would leave us with 15 experiments: A1, A2, A3, A4, A5, B1, etc..

 

We don't care to differentiate between user-action groups in the final results, as long as we have the correct percentages of these users included in the experiement. For this reason I don't believe the correct approach is to create the 15 experiments, which would be dividing our user base into such small segments I would be concerned that we would get any sitatistically significant data at all.

 

Any guidance in the following would be greatly appreciated:
1) How to implement percentages of audiences, or...
2) A method to create an experiment better matching our needs

 

Thank you all for your time!

--
Lauryn Loudermilk
Software Engineer - Weight Watchers
David_Orr 03-15-17
 

Re: Using Groups, Experiments, and Audiences to target personalization groups

Hi @lloudermilk,

 

1) How to implement percentages of audiences, or...

 

There isn't a direct option to change the percentages of audiences. For personalization, you can modify the order the experiences within a campaign. This setting allows you to randomly group experiences together. There may be a way to use the prioritization to achieve the audience targeting you would like. 

 

Here is a link for more info on this setting: 

 

https://help.optimizely.com/Build_Campaigns_and_Experiments/Six_steps_to_create_a_campaign_in_Optimi...

 

2) A method to create an experiment better matching our needs

 

Unfortunately, I haven't run into a use case similar to what you described. 

Senior Technical Support Engineer
Optimizely
lloudermilk 03-16-17
 

Re: Using Groups, Experiments, and Audiences to target personalization groups

Thanks for the insight, David.

We're trying out Optimizely-X Full Stack but don't have a contract yet, so I know not all of the features are available to me. I currently don't see any option to prioritize audiences for the full stack experiment; Is this because it's only available for the Web product or because I don't yet have a contract?

--
Lauryn Loudermilk
Software Engineer - Weight Watchers
David_Orr 03-16-17
 

Re: Using Groups, Experiments, and Audiences to target personalization groups

Lauryn,

 

I did not realize you were working out of a Full Stack project. You are not missing a prioritization feature on your account. The prioritization feature I mentioned was for experiences instead of audiences. Prioritization based on audiences does not exist on Personalization or Full Stack. If you are using full stack, then you will be able to code a function that will achieve your desired audience probability.

 

Here's how this set up may appear:

 

On Optimizely:

Set up 3 Experiments, each one targeting userbase A,B,C. 

 

Server side code:

 

* Store the visitor's audience attribute into a variable.

* Write a function that gives a visitor a probability they can activate an experiment depending on their audience. In your example, this would be: Audience A = 10%, Audience B = 20%, Audience C = 70%. 

* Run the API on the server that activates the experiment and pass the audience as an attribute. Here is the command you would use on the NodeSDK: var variation = optimizely.activate(experimentKey, userId, attributes);

* The API would return the variation the visitor was bucketed into. This will allow you to apply the changes based on the variation using a script similar to the one below:

 

if (variation === 'control') {
  // Execute code for control variation
} else if (variation === 'treatment') {
  // Execute code for treatment variation
} else {
  // Execute default code
}
 
Here is a link to our Full Stack Developers doc for future reference: https://developers.optimizely.com/x/solutions/sdks/reference/index.html
 
David
Senior Technical Support Engineer
Optimizely