How to be relevant at
scale
Machine Learning for conversion optimization
31.10.2018Etunimi Sukunimi1Asko Relas
How do we do
conversion optimization
of personalized offers and content
across channels
in an automated manner?
Picking the best converting content
X% Y% Z%
Dreams to fit
any lifestyle
An immersive environment to enhance your
imagination about coziness
Daydreaming
is a state of
mind
An immersive environment to enhance your
imagination about coziness
Feel at home
on the go
An immersive environment to enhance your
imagination about coziness
Which variant of a teaser should we show to which customer?
Multi-armed bandit
Which bandit should I play?
Start with random experimentation, and as experience is gained, focus more on the one that
gives the most wins.
X% Y% Z%
Sounds a bit like A/B-testing...
B
A
Testing
(Learning)
C
Traffic
A/B/C test
Sounds a bit like A/B-testing...
B
A
Testing
(Learning)
C
Using the best
variant
(Earning)
C
Traffic
A/B/C test
Sounds a bit like A/B-testing...
B
A
Testing
(Learning)
C
Using the best
variant
(Earning)
C
Traffic
A/B/C test
Earning while learning
A
C
B
Traffic
Multi-armed bandit
Sounds a bit like A/B-testing...
B
A
Testing
(Learning)
C
Using the best
variant
(Earning)
C
Exploit the best converting variant increasingly
Traffic
A/B/C test
Earning while learning
A
C
B
Traffic
Multi-armed bandit
When to use each approach
A/B testing:
• Experiments where the intent is to find the best variant, and to stick with it for some time
• Eg. making decisions on user interface design
Bandit:
• Short tests, where we don’t have enough time to run an A/B test
• Think about news headlines: By the time an A/B test finishes, the news may be old
• Continuous optimization, where focus is on maintaining high conversion rate
• Reacting to for instance changes in behavior over the course of a year
Deep dive
Multi-armed bandits in practice
A conversions B conversions C conversions p %
0 0 0 100
Exploration vs. exploitation
How to balance between learning and earning:
• When deciding which variant to show, with probability p pick a random variant,
otherwise pick the best variant so far
• Start with p = 100% and decrease it as we gain experience
A conversions B conversions C conversions p %
0 0 0 100
A conversions B conversions C conversions p %
1 0 0 99
Exploration vs. exploitation
How to balance between learning and earning:
• When deciding which variant to show, with probability p pick a random variant,
otherwise pick the best variant so far
• Start with p = 100% and decrease it as we gain experience
A conversions B conversions C conversions p %
0 0 0 100
A conversions B conversions C conversions p %
1 0 0 99
A conversions B conversions C conversions p %
1 2 3 95
Exploration vs. exploitation
How to balance between learning and earning:
• When deciding which variant to show, with probability p pick a random variant,
otherwise pick the best variant so far
• Start with p = 100% and decrease it as we gain experience
A conversions B conversions C conversions p %
0 0 0 100
A conversions B conversions C conversions p %
1 0 0 99
A conversions B conversions C conversions p %
1 2 3 95
A conversions B conversions C conversions p %
2 3 7 90
Exploration vs. exploitation
How to balance between learning and earning:
• When deciding which variant to show, with probability p pick a random variant,
otherwise pick the best variant so far
• Start with p = 100% and decrease it as we gain experience
A conversions B conversions C conversions p %
0 0 0 100
A conversions B conversions C conversions p %
1 0 0 99
A conversions B conversions C conversions p %
1 2 3 95
A conversions B conversions C conversions p %
2 3 7 90
A conversions B conversions C conversions p %
4 5 14 80
Exploration vs. exploitation
How to balance between learning and earning:
• When deciding which variant to show, with probability p pick a random variant,
otherwise pick the best variant so far
• Start with p = 100% and decrease it as we gain experience
A conversions B conversions C conversions p %
0 0 0 100
A conversions B conversions C conversions p %
1 0 0 99
A conversions B conversions C conversions p %
1 2 3 95
A conversions B conversions C conversions p %
2 3 7 90
A conversions B conversions C conversions p %
4 5 14 80
A conversions B conversions C conversions p %
7 12 65 40
Exploration vs. exploitation
How to balance between learning and earning:
• When deciding which variant to show, with probability p pick a random variant,
otherwise pick the best variant so far
• Start with p = 100% and decrease it as we gain experience
A conversions B conversions C conversions p %
0 0 0 100
A conversions B conversions C conversions p %
1 0 0 99
A conversions B conversions C conversions p %
1 2 3 95
A conversions B conversions C conversions p %
2 3 7 90
A conversions B conversions C conversions p %
4 5 14 80
A conversions B conversions C conversions p %
7 12 65 40
Exploration vs. exploitation
How to balance between learning and earning:
• When deciding which variant to show, with probability p pick a random variant,
otherwise pick the best variant so far
• Start with p = 100% and decrease it as we gain experience
A conversions B conversions C conversions p %
12 23 162 10
X1%
Dreams to fit
any lifestyle
An immersive environment to enhance your
imagination about coziness
Z1%
Feel at home
on the go
An immersive environment to enhance your
imagination about coziness
Y1%
Daydreaming
is a state of
mind
An immersive environment to enhance your
imagination about coziness
But different users behave differently...
X1%
Dreams to fit
any lifestyle
An immersive environment to enhance your
imagination about coziness
Z1%
Feel at home
on the go
An immersive environment to enhance your
imagination about coziness
Y1%
Daydreaming
is a state of
mind
An immersive environment to enhance your
imagination about coziness
But different users behave differently...
X2%
Dreams to fit
any lifestyle
An immersive environment to enhance your
imagination about coziness
Z2%
Feel at home
on the go
An immersive environment to enhance your
imagination about coziness
Y2%
Daydreaming
is a state of
mind
An immersive environment to enhance your
imagination about coziness
X1%
Dreams to fit
any lifestyle
An immersive environment to enhance your
imagination about coziness
Z1%
Feel at home
on the go
An immersive environment to enhance your
imagination about coziness
Y1%
Daydreaming
is a state of
mind
An immersive environment to enhance your
imagination about coziness
But different users behave differently...
X2%
Dreams to fit
any lifestyle
An immersive environment to enhance your
imagination about coziness
Z2%
Feel at home
on the go
An immersive environment to enhance your
imagination about coziness
Y2%
Daydreaming
is a state of
mind
An immersive environment to enhance your
imagination about coziness
X3%
Dreams to fit
any lifestyle
An immersive environment to enhance your
imagination about coziness
Z3%
Feel at home
on the go
An immersive environment to enhance your
imagination about coziness
Y3%
Daydreaming
is a state of
mind
An immersive environment to enhance your
imagination about coziness
Use contextual data as input
• Look at the context in which the past conversions occurred
• Depends on the business domain
• Demographics (Age group, Geography, Family, ...)
• Temporal (Time of day, Day of week, Time of year)
• Products / services bought
• Channel, Device
• Once we have collected data, we can identify the attibutes that actually do
correlate
Mapping user context to best content
User context
1
0
0
1
0
Age: 18-25
Age: 26-35
Age: 36-45
Channel: web
Channel: mobile
Other attributes...
Variants to pick from
Content A
Content B
Content C
Dreams to fit
any lifestyle
An immersive environment to enhance your imagination
about coziness
Daydreaming
is a state of
mind
An immersive environment to enhance your imagination
about coziness
Feel at home
on the go
An immersive environment to enhance your
imagination about coziness
Mapping user context to best content
User context
1
0
0
1
0
Age: 18-25
Age: 26-35
Age: 36-45
Channel: web
Channel: mobile
Other attributes...
Variants to pick from
Content A
Content B
Content C
Dreams to fit
any lifestyle
An immersive environment to enhance your imagination
about coziness
Daydreaming
is a state of
mind
An immersive environment to enhance your imagination
about coziness
Feel at home
on the go
An immersive environment to enhance your
imagination about coziness
Mapping user context to best content
User context
1
0
0
1
0
Age: 18-25
Age: 26-35
Age: 36-45
Channel: web
Channel: mobile
Neural net for mapping a user context
to a piece of content
0.45
0.56
0.82
Other attributes...
Combining with a product
recommender system
The whole setup
Feedback
Product promotion(s)
Recomms
Calculate product
recomms for each user
Behavioral
data
CRM user
profile
Choose best content for
each recommendation
vs.
The whole setup
Feedback
Product promotion(s)
Recomms
Calculate product
recomms for each user
Behavioral
data
CRM user
profile
Choose best content for
each recommendation
vs.
The whole setup
Feedback
Product promotion(s)
Recomms
Calculate product
recomms for each user
Behavioral
data
CRM user
profile
Choose best content for
each recommendation
Dreams to fit
any lifestyle
An immersive environment to enhance your imagination
about coziness
Daydreaming
is a state of
mind
An immersive environment to enhance your imagination
about coziness
Feel at home
on the go
An immersive environment to enhance your
imagination about coziness
How do we do
conversion optimization
of personalized offers and content
across channels
in an automated manner?
Summary
• A/B testing everything at scale is time consuming, costly, and slow
• Pick your battles and let a machine do the bulk work
• Earn While You Learn
• Data collection is a cost, which bandits attempt to minimize
• Some DXPs already provide bandits out of the box
• We used a neural net for the contextual bandit, but that is not the only possible approach
• Any gradient-descent based algorithm will allow incremental (read: fast) learning
• Random forests etc. require less feature engineering, but are slower learners due to
their batch orientation
31.10.2018Etunimi Sukunimi31
Thank you!

Asko Relas: Machine Learning for conversion optimization – How to be relevant at scale

  • 1.
    How to berelevant at scale Machine Learning for conversion optimization 31.10.2018Etunimi Sukunimi1Asko Relas
  • 2.
    How do wedo conversion optimization of personalized offers and content across channels in an automated manner?
  • 3.
    Picking the bestconverting content X% Y% Z% Dreams to fit any lifestyle An immersive environment to enhance your imagination about coziness Daydreaming is a state of mind An immersive environment to enhance your imagination about coziness Feel at home on the go An immersive environment to enhance your imagination about coziness Which variant of a teaser should we show to which customer?
  • 4.
    Multi-armed bandit Which banditshould I play? Start with random experimentation, and as experience is gained, focus more on the one that gives the most wins. X% Y% Z%
  • 5.
    Sounds a bitlike A/B-testing... B A Testing (Learning) C Traffic A/B/C test
  • 6.
    Sounds a bitlike A/B-testing... B A Testing (Learning) C Using the best variant (Earning) C Traffic A/B/C test
  • 7.
    Sounds a bitlike A/B-testing... B A Testing (Learning) C Using the best variant (Earning) C Traffic A/B/C test Earning while learning A C B Traffic Multi-armed bandit
  • 8.
    Sounds a bitlike A/B-testing... B A Testing (Learning) C Using the best variant (Earning) C Exploit the best converting variant increasingly Traffic A/B/C test Earning while learning A C B Traffic Multi-armed bandit
  • 9.
    When to useeach approach A/B testing: • Experiments where the intent is to find the best variant, and to stick with it for some time • Eg. making decisions on user interface design Bandit: • Short tests, where we don’t have enough time to run an A/B test • Think about news headlines: By the time an A/B test finishes, the news may be old • Continuous optimization, where focus is on maintaining high conversion rate • Reacting to for instance changes in behavior over the course of a year
  • 10.
  • 11.
    A conversions Bconversions C conversions p % 0 0 0 100 Exploration vs. exploitation How to balance between learning and earning: • When deciding which variant to show, with probability p pick a random variant, otherwise pick the best variant so far • Start with p = 100% and decrease it as we gain experience
  • 12.
    A conversions Bconversions C conversions p % 0 0 0 100 A conversions B conversions C conversions p % 1 0 0 99 Exploration vs. exploitation How to balance between learning and earning: • When deciding which variant to show, with probability p pick a random variant, otherwise pick the best variant so far • Start with p = 100% and decrease it as we gain experience
  • 13.
    A conversions Bconversions C conversions p % 0 0 0 100 A conversions B conversions C conversions p % 1 0 0 99 A conversions B conversions C conversions p % 1 2 3 95 Exploration vs. exploitation How to balance between learning and earning: • When deciding which variant to show, with probability p pick a random variant, otherwise pick the best variant so far • Start with p = 100% and decrease it as we gain experience
  • 14.
    A conversions Bconversions C conversions p % 0 0 0 100 A conversions B conversions C conversions p % 1 0 0 99 A conversions B conversions C conversions p % 1 2 3 95 A conversions B conversions C conversions p % 2 3 7 90 Exploration vs. exploitation How to balance between learning and earning: • When deciding which variant to show, with probability p pick a random variant, otherwise pick the best variant so far • Start with p = 100% and decrease it as we gain experience
  • 15.
    A conversions Bconversions C conversions p % 0 0 0 100 A conversions B conversions C conversions p % 1 0 0 99 A conversions B conversions C conversions p % 1 2 3 95 A conversions B conversions C conversions p % 2 3 7 90 A conversions B conversions C conversions p % 4 5 14 80 Exploration vs. exploitation How to balance between learning and earning: • When deciding which variant to show, with probability p pick a random variant, otherwise pick the best variant so far • Start with p = 100% and decrease it as we gain experience
  • 16.
    A conversions Bconversions C conversions p % 0 0 0 100 A conversions B conversions C conversions p % 1 0 0 99 A conversions B conversions C conversions p % 1 2 3 95 A conversions B conversions C conversions p % 2 3 7 90 A conversions B conversions C conversions p % 4 5 14 80 A conversions B conversions C conversions p % 7 12 65 40 Exploration vs. exploitation How to balance between learning and earning: • When deciding which variant to show, with probability p pick a random variant, otherwise pick the best variant so far • Start with p = 100% and decrease it as we gain experience
  • 17.
    A conversions Bconversions C conversions p % 0 0 0 100 A conversions B conversions C conversions p % 1 0 0 99 A conversions B conversions C conversions p % 1 2 3 95 A conversions B conversions C conversions p % 2 3 7 90 A conversions B conversions C conversions p % 4 5 14 80 A conversions B conversions C conversions p % 7 12 65 40 Exploration vs. exploitation How to balance between learning and earning: • When deciding which variant to show, with probability p pick a random variant, otherwise pick the best variant so far • Start with p = 100% and decrease it as we gain experience A conversions B conversions C conversions p % 12 23 162 10
  • 18.
    X1% Dreams to fit anylifestyle An immersive environment to enhance your imagination about coziness Z1% Feel at home on the go An immersive environment to enhance your imagination about coziness Y1% Daydreaming is a state of mind An immersive environment to enhance your imagination about coziness But different users behave differently...
  • 19.
    X1% Dreams to fit anylifestyle An immersive environment to enhance your imagination about coziness Z1% Feel at home on the go An immersive environment to enhance your imagination about coziness Y1% Daydreaming is a state of mind An immersive environment to enhance your imagination about coziness But different users behave differently... X2% Dreams to fit any lifestyle An immersive environment to enhance your imagination about coziness Z2% Feel at home on the go An immersive environment to enhance your imagination about coziness Y2% Daydreaming is a state of mind An immersive environment to enhance your imagination about coziness
  • 20.
    X1% Dreams to fit anylifestyle An immersive environment to enhance your imagination about coziness Z1% Feel at home on the go An immersive environment to enhance your imagination about coziness Y1% Daydreaming is a state of mind An immersive environment to enhance your imagination about coziness But different users behave differently... X2% Dreams to fit any lifestyle An immersive environment to enhance your imagination about coziness Z2% Feel at home on the go An immersive environment to enhance your imagination about coziness Y2% Daydreaming is a state of mind An immersive environment to enhance your imagination about coziness X3% Dreams to fit any lifestyle An immersive environment to enhance your imagination about coziness Z3% Feel at home on the go An immersive environment to enhance your imagination about coziness Y3% Daydreaming is a state of mind An immersive environment to enhance your imagination about coziness
  • 21.
    Use contextual dataas input • Look at the context in which the past conversions occurred • Depends on the business domain • Demographics (Age group, Geography, Family, ...) • Temporal (Time of day, Day of week, Time of year) • Products / services bought • Channel, Device • Once we have collected data, we can identify the attibutes that actually do correlate
  • 22.
    Mapping user contextto best content User context 1 0 0 1 0 Age: 18-25 Age: 26-35 Age: 36-45 Channel: web Channel: mobile Other attributes...
  • 23.
    Variants to pickfrom Content A Content B Content C Dreams to fit any lifestyle An immersive environment to enhance your imagination about coziness Daydreaming is a state of mind An immersive environment to enhance your imagination about coziness Feel at home on the go An immersive environment to enhance your imagination about coziness Mapping user context to best content User context 1 0 0 1 0 Age: 18-25 Age: 26-35 Age: 36-45 Channel: web Channel: mobile Other attributes...
  • 24.
    Variants to pickfrom Content A Content B Content C Dreams to fit any lifestyle An immersive environment to enhance your imagination about coziness Daydreaming is a state of mind An immersive environment to enhance your imagination about coziness Feel at home on the go An immersive environment to enhance your imagination about coziness Mapping user context to best content User context 1 0 0 1 0 Age: 18-25 Age: 26-35 Age: 36-45 Channel: web Channel: mobile Neural net for mapping a user context to a piece of content 0.45 0.56 0.82 Other attributes...
  • 25.
    Combining with aproduct recommender system
  • 26.
    The whole setup Feedback Productpromotion(s) Recomms Calculate product recomms for each user Behavioral data CRM user profile Choose best content for each recommendation
  • 27.
    vs. The whole setup Feedback Productpromotion(s) Recomms Calculate product recomms for each user Behavioral data CRM user profile Choose best content for each recommendation
  • 28.
    vs. The whole setup Feedback Productpromotion(s) Recomms Calculate product recomms for each user Behavioral data CRM user profile Choose best content for each recommendation Dreams to fit any lifestyle An immersive environment to enhance your imagination about coziness Daydreaming is a state of mind An immersive environment to enhance your imagination about coziness Feel at home on the go An immersive environment to enhance your imagination about coziness
  • 29.
    How do wedo conversion optimization of personalized offers and content across channels in an automated manner?
  • 30.
    Summary • A/B testingeverything at scale is time consuming, costly, and slow • Pick your battles and let a machine do the bulk work • Earn While You Learn • Data collection is a cost, which bandits attempt to minimize • Some DXPs already provide bandits out of the box • We used a neural net for the contextual bandit, but that is not the only possible approach • Any gradient-descent based algorithm will allow incremental (read: fast) learning • Random forests etc. require less feature engineering, but are slower learners due to their batch orientation
  • 31.