This document discusses using AWS services to develop, test, and operate mobile apps. It describes how Amazon Mobile Analytics can be used to collect app usage data and gain insights. Amazon Machine Learning can then leverage this data to build predictive applications by identifying users likely to churn or purchase. The document also introduces AWS Device Farm for testing apps on real devices in the cloud and Amazon Simple Notification Service for sending messages to users.
4. Instrumentation
UI Automation
UI Automator
Your app
Improve the quality of your apps by testing against real devices in the AWS cloud
Automated testing on AWS Device Farm
(native, hybrid, web)
XCTest
XCTest UI
5. Select a device View historical sessionsInteract with the device
Introducing Device Farm:
Remote access (beta)
8. “If you can’t measure it, you can’t improve it”
-Lord Kelvin
9. Scalable and generous
free tier
Focus on metrics that
matter. Usage reports
available within 60
minutes of receiving
data from an app.
Fast
Scale to billions of
events per day from
millions of users.
Own your data
Simply and cost-effectively collect and analyze your application usage data
Data collected are not
shared, aggregated,
or reused.
Amazon Mobile Analytics
11. Fast, flexible, global messaging to any device or endpoint
Global and fast at
high scale
Send messages to any
device or endpoint
Support for multiple
platforms or frameworks
Amazon Simple Notification Service
13. Retrospective
Analyze historical
trends to know
what's happening in
the app
Predictive
Anticipate user
behavior to enhance
experience
Inquisitive
Discover latent user
behavior to shape
productor marketing
decisions
Three Types of Data-Driven Decision Making
14. How many users use the app and how often?
What are key user behaviors in the app?
Your
Mobile
App
How to predict user behavior and use those
predictions to enhance their experience ?
In the Context of a Mobile App
15. Three Types of Data Driven Decision Making
Retrospective
Analyze historical
trends to know
what's happening in
the app
Predictive
Anticipate user
behavior to
enhance experience
Inquisitive
Discover latent user
behavior to shape
product or marketing
decisions
19. Retrospective
Analyze historical
trends to know
what's happening in
the app
Predictive
Anticipate user
behavior to enhance
experience
Inquisitive
Discover latent user
behavior to shape
productor marketing
decisions
Three Types of Data Driven Decision Making
21. How does usage pattern vary for users with different demographic profiles ?
Who are the most engaged users and what are their usage patterns ?
How does user population distribute across countries and platform ?
How much time does it takes for a user to convert to a paying user ?
Music App
Few Questions That Will Help You Understand
Your Users Better
28. Retrospective
Analyze historical
trends to know
what's happening in
the app
Predictive
Anticipate user
behavior to enhance
experience
Inquisitive
Discover latent user
behavior to shape
productor marketing
decisions
Three Types of Data Driven Decision Making
30. Let’s say we have been observing high user churn
in the music app. Now, we want to identify these
users in advance so that we could reach out to
users before they leave the app
Predictive Application by Example
Music
App
31. Let’s say we have been observing high user churn
in the music app. Now, we want to identify these
users in advance so that we could reach out to
users before they leave the app
How could you identify users who have high probability
to churn away from the app?
Music
App
Predictive Application by Example
32. SELECT e.unique_id,
Count(distinct session_id)
FROM events e
WHERE event_type = ‘_session.start’
HAVING e.date> GETDATE() - 30
You can start by looking at
usage patterns of all users in the
last 30 days
One Way To Do is…
33. SELECT e.unique_id,
Count(distinct session_id)
FROM events e
WHERE event_type = ‘_session.start’
AND
date_part (dow,e.date ) in (6,7)
HAVING e.date> GETDATE() - 30
But usage pattern changes on
weekends.
You can edit the query to filter
for weekends only
One Way To Do is…
34. SELECT e.unique_id,
Count(distinct session_id)
FROM events e
WHERE event_type = ‘_session.start’
AND
date_part (dow,e.date ) in (6,7)
HAVING e.date> GETDATE() - 60
Pattern is not clear. You can go
back in time to get a more clear
pattern
One Way To Do is…
35. SELECT e.unique_id,
Count(distinct session_id),
e.music_genre , e.subscription_type ,
e.locale
FROM events e
WHERE event_type = ‘_session.start’
AND
date_part (dow,e.date ) in (6,7)
HAVING e.date> GETDATE() - 60
You want to learn not only from
usage data but from custom
behavior in the app
One Way To Do is…
37. SELECT e.unique_id, Count(distinct session_id)
, e.music_genre , e.subscription_type , e.locale
FROM events e
WHERE event_type = ‘_session.start’
AND date_part (dow,e.date ) in (6,7)
HAVING e.date> GETDATE() - 120
Use machine learning technology to
learn business rules from your data
38. Machine learning automatically finds patterns
in your data and uses them to make predictions
Better Way To Do it is…
Users with High
probability to churn
Users with Low
probability to churn
39. Machine learning automatically finds patterns
in your data and uses them to make predictions
Your data + Machine Learning
Predictive applications in the app
Better Way To Do it is…
Users with High
probability to churn
Users with Low
probability to churn
40. Amazon Mobile Analytics Amazon Machine Learning
Leverage Mobile App Data to Build Predictive
Applications Using Amazon ML
41. Predict users with low probability to purchase in the app and send discount coupon
via in-app notification
Predict users with high probability to churn from the app and send push them
notification to re-engage
Identify users with high probability to share the app and reach out to them to do
the same
Recommend relevant content to users based on similar user’s behavioral
patterns
A Few Examples of Leveraging Mobile App
Data with Machine Learning
43. Deep Scalable Sparse
Tensor Network Engine
(DSSTNE)
Pronounced “Destiny”
An Amazon developed library for building
Deep Learning (DL) Machine Learning (ML) models
https://github.com/amznlabs/amazon-dsstne
44. Multi-GPU
Scale
Training and prediction both scale out to use
multiple GPUs, spreading out computation
and storage in a model-parallel fashion for
each layer
Large
Layers
Model-parallel scaling enables larger networks
than are possible with a single GPU
Sparse
Data
DSSTNE is optimized for fast performance on
sparse datasets. Custom GPU kernels
perform sparse computation on the GPU,
without filling in lots of zeroes
DSSTNE features for production workloads
48. “There are two possible outcomes:
if the result confirms the hypothesis,
then you’ve made a measurement.
If the result is contrary to the hypothesis,
then you’ve made a discovery.”
-Enrico Fermi
49. Please remember to rate this
session under My Agenda on
awssummit.london