3. Making Booking right apps
ExperimenAng
• Why
• How
• What
do
you
achieve
Developing
TesAng
Releasing
4. Booking.com
• Founded
and
based
in
Amsterdam
• Biggest
accommodaAon
plaKorm
in
the
world
• >
8,000
dedicated
employees
Mobile
apps:
• iOS
&
Android
• 7
app
development
teams
• ~35
apps
developers
5. Booking.com apps
Android
• >
10M
downloads
*
• raAng
4.6
out
of
5
*
iOS
• raAng
“4+”
out
of
5
**
*
according
to
Google
Play
Store
on
23/03/2015
**
according
to
Apple
Store
on
23/03/2015
Facebook
Vkontakte
Instagram
YouTube
Gmail
Inbox
WhatsApp
4.0
/
5
*
4.2
/
5
*
4.5
/
5
*
4.1
/
5
*
4.3
/
5
*
4.2
/
5
*
4.4
/
5
*
6. Our challenges
• Users
all
around
the
world
-‐ Millions
of
users
-‐ Our
user
doesn’t
have
a
unique
profile
-‐ High
user
expectaAons
• 40+
languages
• >
600k
properAes
• expert
opinion
vs.
users
opinion
7. What do we want to achieve?
Product
that
is:
• User
friendly
• TrusKul
• Reliable
• …
8. What do we want to achieve?
Product
that
is:
• User
friendly
• TrusKul
• Reliable
• …
Provide our users the best experience
before, during and after making a
booking
9. Are you sure?
• Are
you
sure
that
new
design
is
good?
• Are
you
sure
this
change
will
not
break
the
app?
• Are
you
sure
customers
will
like
our
new
feature?
• Are
you
sure
….
?
10. Variant
A
Lek
hand
up
Variant
B
Right
hand
up
Can
you
please
stand
up
Lets play!
11. Which got more money on Kickstarter?
Smartphone
Controlled
Paper
Airplane
Jot:
CapaciAve
Touch
Stylus
A B
15. Which variation performed better?
Winner:
Version
A
“The
truth
is,
someAmes
it’s
bener
to
have
no
proof
than
low
proof.”
16. Which variation performed better?
Winner:
Version
A
“The
truth
is,
someAmes
it’s
bener
to
have
no
proof
than
low
proof.”
People with hand up - please take
a seat
18.
Winner:
Version
A
“Like
most
people,
if
you
guessed
that
Version
B
won,
you
are
wrong.
Version
A
surprisingly
had
a
24%
increase
in
submissions
without
using
an
image
on
the
page.”
Which got more requests?
19.
Winner:
Version
A
“Like
most
people,
if
you
guessed
that
Version
B
won,
you
are
wrong.
Version
A
surprisingly
had
a
24%
increase
in
submissions
without
using
an
image
on
the
page.”
Which got more requests?
People with hand up - please
take a seat
21. What is better for conversion?
Winner:
Version
A
In
this
example
removing
the
social
bunons
resulted
in
an
increased
conversion
to
the
basket
of
11.9%.
22. What is better for conversion?
Winner:
Version
A
In
this
example
removing
the
social
bunons
resulted
in
an
increased
conversion
to
the
basket
of
11.9%.
People with hand up - please take
a seat
24. More completions?
Winner:
Version
B
“…surely
adding
an
eTrust
image
would
improve
form
compleAons,
it
makes
everyone
feel
safe
and
secure,
doesn’t
it?
The
answer
is
no.
Although
it’s
only
a
slight
rise
of
12.6%,
Version
B,
without
the
image,
proved
to
be
more
effecAve.”
25. More completions?
Winner:
Version
B
“…surely
adding
an
eTrust
image
would
improve
form
compleAons,
it
makes
everyone
feel
safe
and
secure,
doesn’t
it?
The
answer
is
no.
Although
it’s
only
a
slight
rise
of
12.6%,
Version
B,
without
the
image,
proved
to
be
more
effecAve.”
People with hand up - please take a
seat
27. Which Copy Increased Trial Sign-Ups?
Winner:
Version
A
“In
this
test,
Version
A
increased
sign-‐ups
by
38%
–
a
big
rise.
However,
your
gut
feeling
might
iniAally
be
that
version
B
is
the
bener
design.”
28. Which Copy Increased Trial Sign-Ups?
Winner:
Version
A
“In
this
test,
Version
A
increased
sign-‐ups
by
38%
–
a
big
rise.
However,
your
gut
feeling
might
iniAally
be
that
version
B
is
the
bener
design.”
People with hand up - please take
a seat
29. Decision-making using data: A/B testing
• When
should
you
should
run
an
experiment
(use
A/B
tesAng)?
Need
to
decide
which
opAon
is
bener
• What
are
the
alternaAves?
Expert
opinion
/
intuiAon
Historical
data
30. Why is experimentation better?
• Our
intuiAon
is
not
very
good
(people
are
complex)
• Historical
data
(becomes
outdated
fast)
31. What do we get if using A/B testing?
• Reduced
design
discussions
• Less
dependent
on
expert
opinions
• Make
sure
all
changes
are
actually
(commercial)
improvements
• AddiAonal
safety
net
for
new
changes
in
the
app
32. How complex is it?
if
(
newFeatureEnabled
==
true
)
{
//
new
feature
code
}
else
{
//
old
reliable
solu2on
}
33. + add control from server-side
Today:
{
Experiment
A:
ON
Experiment
B:
ON
}
Server
Control experiments
At
any
moment
of
Ame:
{
Experiment
A:
ON
Experiment
B:
OFF
}
34. It’s easy! Can I start experimenting now?
Yes,
but
first:
• Pick
a
metric
• Find
users
to
include
in
an
experiment
35. Metrics
Metrics
are
the
main
determinant
of
success!
1. Pick
your
own
metric!
2. Diversify
metrics!
36. Metrics
Metrics
are
the
main
determinant
of
success!
1. Pick
your
own
metric!
2. Diversify
metrics!
Metrics for Booking.com?
37. What is my metric?
Type
of
business
Possible
key
metrics
Ecommerce:
Booking.com,
Amazon
items
sold,
conversion,
loyalty
Content:
Euronews,
CNN
visitors,
loyalty,
engagement,
ad
clicks
Social
Networking
visitors,
engagement,
ad
clicks
Gaming:
Angry
birds
purchases,
subscripAons,
ad
clicks
38. Come
up
with
new
idea
to
improve
your
app
Run
an
experiment
to
see
which
variant
is
the
most
successful
Select
the
winner
based
on
metric
Remove
non-‐
winner
from
the
code
Experiment lifecycle
40. Tools for mobile that will allow you to start
experimenting today?
Yes,
just
Google
it!
For
example:
• Airlock
• Arise.io
• AppAmize
• Leanplum
…
41. A/B testing in apps provides
• Final
changes
are
real
improvements
• All
changes
are
server-‐side
controlled
and
can
be
enabled
disabled
at
any
point
of
Ame
42. A/B testing in apps provides
• Final
changes
are
real
improvements
• All
changes
are
server-‐side
controlled
and
can
be
enableddisabled
at
any
point
of
Ame
Is it enough for our apps?
43. Booking apps development
• Use
Experiments
• Develop
fast
• Be
stable
• Release
fast
• Monitor
how
you
are
doing
45. Fast, iterative development
Android
–
slow,
>
3
min
to
build
on
big
projects
• Buck
+
exopackage
• Booking
DCL
(internal
soluAon)
• others
iOS
–
usually
not
a
problem
46. Trunk development
What
&
how:
• Everything
goes
into
master
• Local
branches
up
to
a
developer
• Tests
keep
master
stable
Why:
• As
a
result
saves
Ame
on
merging
48. Hooks
Master
can
always
build!
git
push
Developer
pass
fail
git
repository
Hooks:
build
&
run
test
49. CI
git
push
git
repository
CI
system
Great
job
Developer
pass
fail
Email
&&
jabber
developer
about
the
problem
• all
dev
build
• special
builds
• TranslaAons
• UI
tests
50. Testing
• Dedicated
tesAng
team
• Easy
maintainable
tests
on
core
funcAonality
+
UI
tests
• Bugbash
sessions
• Internal
releases
• 3rd
party
tesAng
52. Release model
Train
release
model
• Regular
• Pre-‐planned
schedule
Nobody
waits:
you
take
this
train
or
the
next
one
Author: Maurits Vink
http://commons.wikimedia.org/wiki/File:VIRM6.jpg
53. Why train model?
• Everyone
know
when
the
next
release
will
take
place
• Team
can
plan
the
scope
to
be
done
• Complexity
of
each
release
more
or
less
the
same
54. App roll out
Rolling
out
apps
not
as
fast
as
web:
Android:
• ~1
day
to
all
users
iOS
:
• Depends
on
Apple
• Apple
review
process
1-‐5
days
55. App roll out
Rolling
out
apps
not
as
fast
as
web:
Android:
• ~1
day
to
all
users
iOS
:
• Depends
on
Apple
• Apple
review
process
1-‐5
days
Hot fixes can’t be fast…
( Experiments can help! )
57. Staged rollout
Get
thing
done
right
for
Android
users
• Make
sure
that
everything
goes
according
to
plan
• NEW!
'Halt'
A
Staged
Rollout
if
found
a
problem
• When
sure
-‐
release
to
100%
iOS:
• No
support
for
staged
rollouts
58. Crash & data monitoring
Monitor
your
crashes,
errors
and
main
metrics
via:
• CrashlyAcs,
• Bugsense,
• Google
AnalyAcs,
• Flurry
AnalyAcs,
• ….