© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Deep Dive: Developing, Deploying& Operating Mobile Apps With AWS
Danilo Poccia, Technical Evengelist@danilop danilop
DEVELOP TEST ENGAGE
Building quality mobile apps
DEVELOPTEST
ENGAGE
InstrumentationUI AutomationUI 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
Select a device View historical sessionsInteract with the device
Introducing Device Farm:Remote access (beta)
<demo>...
</demo>
DEVELOP TESTENGAGE
“If you can’t measure it, you can’t improve it”-Lord Kelvin
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
Daily/monthly active users
Sessions
Sticky factor
In-app revenue
Lifetime value (LTV)
Retention
…. and more
(9 predefined metrics with one line of code)
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
Worldwide Delivery ofAmazon SNS Messages via SMS
RetrospectiveAnalyze historical
trends to know what's happening in
the app
Predictive Anticipate user
behavior to enhance experience
InquisitiveDiscover latent user behavior to shape
product or marketing decisions
Three Types of Data-Driven Decision Making
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
Three Types of Data Driven Decision Making
RetrospectiveAnalyze historical
trends to know what's happening in
the app
Predictive Anticipate user
behavior to enhance experience
InquisitiveDiscover latent user behavior to shape
product or marketing decisions
Amazon Mobile Analytics
Collect, visualize, and export app usage data
Amazon Mobile Analytics
Collect, visualize, and export app usage data
<demo>...
</demo>
RetrospectiveAnalyze historical
trends to know what's happening in
the app
Predictive Anticipate user
behavior to enhance experience
InquisitiveDiscover latent user behavior to shape
product or marketing decisions
Three Types of Data Driven Decision Making
Going beyond standard metrics will give you more insight in to user behavior
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
Auto Export to Amazon Redshift
Simple & intuitive
Integrate with existing data models
Automatically collect common attributes
Schema for Your App’s Event Data
Now Easy to Query and Visualize
Your Mobile
App
Now Easy to Query and Visualize
Your Mobile
App
QuickSight
New
Integration with BI Tools is Very Easy
<demo>...
</demo>
RetrospectiveAnalyze historical
trends to know what's happening in
the app
Predictive Anticipate user
behavior to enhance experience
InquisitiveDiscover latent user behavior to shape
product or marketing decisions
Three Types of Data Driven Decision Making
Predicting user behavior helps in delivering personalized experiences for users
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
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
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 atusage patterns of all users in thelast 30 days
One Way To Do is…
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…
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…
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…
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
….and again
One Way To Do is…
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
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
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
Amazon Mobile Analytics Amazon Machine Learning
Leverage Mobile App Data to Build Predictive Applications Using Amazon ML
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
Amazon Mobile Analytics
Amazon Redshift
App events
InsightsStrategies
Predictions
Mobile app developer Amazon Machine
Learning
+
Now Build Predictive Applications Using Your Mobile App Data Easily
Your Mobile
App
QuickSight
+
Deep Scalable SparseTensor Network Engine
(DSSTNE)
Pronounced “Destiny”
An Amazon developed library for buildingDeep Learning (DL) Machine Learning (ML) models
https://github.com/amznlabs/amazon-dsstne
Multi-GPUScale
Training and prediction both scale out to use multiple GPUs, spreading out computation and storage in a model-parallel fashion for
each layer
LargeLayers
Model-parallel scaling enables larger networks than are possible with a single GPU
SparseData
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
First DSSTNE Benchmarks
https://medium.com/@scottlegrand/first-dsstne-benchmarks-tldr-almost-15x-faster-than-tensorflow-393dbeb80c0f
Without worrying about infrastructure
On real devices in the cloud
Track and improve usage and monetization
DEVELOP TEST ENGAGE
AWS Mobile Services
Without worrying about infrastructure
On real devices in the cloud
Track and improve usage and monetization
DEVELOP TEST ENGAGE
AWS Mobile Services
ITERATE
“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
Please remember to rate this session under My Agenda on
awssummit.london
Thank you!@danilop danilop
Top Related