SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
Turning Low Level Behavioural
Signals Into User Profiles
Pablo Rosenman, VP Development
Adience
Leading the user-centric mobile revolution
- Harness Deep Learning to profile mobile app users
- Distill user/app interaction to actionable segmentation data
2
3
Adience Insights
4
Adience SDK
- Runs on tens of millions of devices
- Runs in the background, without interfering with device’s
operations
- Collects raw data from the system and environment (according
to available permissions)
- Reduces dimensionality and anonymizes the data
- Sends results to the SDK Server
5
SDK Server
- Receives tens of millions of data submissions from the Mobile
SDK installations per day
- It should be able to scale by two orders of magnitude
- It should handle requests quickly, so as not to hang the client
(i.e. Mobile SDK)
- It should avoid losing data
6
SDK Server (Architecture)
- Data is sent from the mobile SDK to an Apache server running
on EC2
- SDK Server verifies validity of incoming data
- Incoming data gets written immediately (no processing) to S3
Amazon
EC2
Mobile Client Amazon S3
7
SDK Server (Scaling)
- The ELB balances the load on all the servers
- Auto Scaling will make sure there are enough servers to
handle the load
Amazon
EC2
Auto Scaling
Mobile Client Amazon S3Elastic Load
Balancer
8
Insights Workflow
- Create insights on the device’s owner when new data
arrives from the device
- Doesn’t have to be real-time (as the data arrives), but
shouldn’t be far behind
9
Insights Workflow (cont.)
- Data report sent by SDK consists of:
- Simple data points requiring simple statistic and arithmetic
operations, for example:
- Device model
- OS version
- More complex data matrices requiring matrix operations,
for example:
- Machine Learning features on time series data
- Machine Learning features on photos
10
Insights Workflow (Architecture)
- Simple pattern for streamlined processing server application:
- Read input S3 filename from input SQS
- Read the file from the input S3 bucket, and process it
- Write results to file in output S3 bucket
- Send output S3 filename to output SQS
EC2
Servers
Amazon
SQS
S3 Bucket Auto Scaling
S3 Bucket
Amazon
SQS
11
Insights Workflow (Architecture)
- Aggregate the data from all reports to a single device object
- Create insights from all the device’s aggregated data
- Advantages of architecture:
- Scalability
- Decoupling
Insights
Servers
Devices
Servers
Amazon
SQS
Amazon
SQS
Reports
S3 Bucket
Insights
DynamoDB
Table
Deep Learning
Servers (GPU)
Devices
S3 Bucket
Amazon
SQS
12
Adience Events
13
Events SDK
- Receives events based on user interaction with the app
- Some events are automatically implemented (app was started)
- Custom events are the real driving force (user has made an in-
app purchase for $3.99)
- Events should be sent to the Events Server
14
Events Server
- Receives hundreds of millions of data submissions from the
Mobile SDK installations per day
- It should be able to scale by two orders of magnitude
- It should handle requests quickly, so as not to hang the client
- Analytics engine should work on all data from the last 30 days
- Data should be enriched with the user insights
15
Events Server (Architecture)
- All incoming events are written to a file in the local volume
- Once every hour, we close the file in each instance and ship it
to S3
Amazon
EC2
Auto Scaling
Mobile Client Amazon S3Elastic Load
Balancer
Amazon
EBS
logrotate
16
Insights MapReduce
- At the end of each day, all events from that day are in the
events S3 bucket
- We add to these a “mock event” per report sent to the SDK
Server
- Eventually, we wish to compare all the app’s users in the last 30
days to a subset of those users
17
Insights MapReduce (cont.)
- Using Amazon EMR, we aggregate the data per app, device,
day, and event type
- Example: device 0123, on 2016-01-04, in app Blappy Fird,
purchased in-app goods worth a total of $100
Events
S3 Bucket
Raw2Daily
Amazon EMR
Mock Events
S3 Bucket
Daily
S3 Bucket
18
Insights MapReduce (cont.)
- Using the Daily data for the last 30 days, we run an additional
EMR to aggregate per app, device, and event type
- Example: device 0123, in app Blappy Fird, purchased in-app
goods worth a total of $1000 (in the last 30 days)
- We enrich the data by adding the device’s insights to each record
Daily
S3 Bucket
Daily2Aggregate
Amazon EMR
Aggregate
S3 Bucket
Insights
DynamoDB
Table
19
Insights MapReduce (cont.)
- Accessing DynamoDB per event type is costly
- We know last day’s users - save them to an in-memory cache
Daily
S3 Bucket
Daily2Aggregate
Amazon EMR
Aggregate
S3 Bucket
Insights
DynamoDB
Table
20
Insights
Servers
Insights
ElastiCache
Insights MapReduce (cont.)
- Using the Aggregate data for the last 30 days, we run an
additional EMR to aggregate per app, country, age, gender, and
subset type
- Example: app Blappy Fird, in the US, for males aged 25-34
who purchased in-app goods worth a total of more than
$500 (in the last 30 days), 70% are tech savvy, 40% are
commuters, etc.
Aggregate
S3 Bucket
Subset
S3 Bucket
Aggregate2Subset
Amazon EMR
21
Insights MapReduce (cont.)
22
Insights MapReduce (cont.)
- How can we show data on apps that haven’t integrated us?
- Create a mock event per app that we know is installed on the
device!
Events
S3 Bucket
Raw2Daily
Amazon EMR
Mock
Events
S3 Bucket
Daily
S3 Bucket
Daily2Aggregate
Amazon EMR
Aggregate
S3 Bucket
Insights
DynamoDB
Table
Aggregate2Subset
Amazon EMR
Subset
S3 Bucket
23
24
Next Generation
25
SDK Server (Next Generation)
Amazon
EC2
Auto Scaling
Mobile Client Amazon S3Elastic Load
Balancer
Mobile Client Amazon S3Amazon API
Gateway
AWS
Lambda
26
Insights Workflow (Next Generation)
Insights
Servers
Devices
Servers
Amazon
SQS
Amazon
SQS
Reports
S3 Bucket
Insights
DynamoDB
Table
Deep Learning
Servers (GPU)
Devices
S3 Bucket
Amazon
SQS
Reports
S3 Bucket
Devices
Lambda
Devices
S3 BucketDeep Learning
Servers (GPU)
Amazon
SQS
Staging
S3 Bucket
Insights
Lambda
Insights
DynamoDB
Table
27
Events Server (Next Generation)
Amazon
EC2
Auto Scaling
Mobile Client Amazon S3Elastic Load
Balancer
Amazon
EBS
logrotate
Mobile Client Amazon S3Amazon API
Gateway
AWS
Lambda
Amazon
Kinesis
Firehose
28
Bonus:
ELK with Amazon
29
ELK with Amazon
- Server code sends logs to local ZMQ process
- ZMQ process then asynchronously sends to Kinesis
- Logstash pulls the Kinesis stream, and writes in batches to
ElasticSearch
Server
Code
Amazon
Kinesis
ZMQ Logstash
Amazon
ElasticSearch
30
We’re Hiring!
Server Developer
Full Stack Web Developer
Algorithm Developer
DevOps Engineer
THANK
YOU
pablo@adience.com

Mais conteúdo relacionado

Destaque

Apresentação quanta versão 1.7 conferencia
Apresentação quanta versão 1.7 conferenciaApresentação quanta versão 1.7 conferencia
Apresentação quanta versão 1.7 conferenciaGildevan Ribeiro
 
Apresentações Cantinho Econômico
Apresentações Cantinho EconômicoApresentações Cantinho Econômico
Apresentações Cantinho EconômicoAline de Oliveira
 
Sismos catarina, nuno, eduarda
Sismos catarina, nuno, eduardaSismos catarina, nuno, eduarda
Sismos catarina, nuno, eduardabenildesilva
 
Marketing promoção em 2016
Marketing promoção em 2016Marketing promoção em 2016
Marketing promoção em 2016Jack Emerick
 
Apresentação Requeijão Vigor
Apresentação Requeijão VigorApresentação Requeijão Vigor
Apresentação Requeijão VigorAline de Oliveira
 
Tec minho o e learning e a europa 2020
Tec minho o e learning e a europa 2020Tec minho o e learning e a europa 2020
Tec minho o e learning e a europa 2020Oportunidade2020
 
Projecte El món del cinema, efectes especials 2012 2013
Projecte El món del cinema, efectes especials 2012 2013Projecte El món del cinema, efectes especials 2012 2013
Projecte El món del cinema, efectes especials 2012 2013T B
 
Michael Fay - Resume 2016 with Cover Letter - Updated
Michael Fay - Resume 2016 with Cover Letter - UpdatedMichael Fay - Resume 2016 with Cover Letter - Updated
Michael Fay - Resume 2016 with Cover Letter - UpdatedMike Fay
 
Sismos micael, tiago
Sismos micael, tiagoSismos micael, tiago
Sismos micael, tiagobenildesilva
 
Bab 1 makanan dan pemakanan
Bab 1 makanan dan pemakananBab 1 makanan dan pemakanan
Bab 1 makanan dan pemakanannuruljannah13
 
Aug 3-2012 - Atlassian - Об Atlassian
Aug 3-2012 - Atlassian - Об AtlassianAug 3-2012 - Atlassian - Об Atlassian
Aug 3-2012 - Atlassian - Об AtlassianTeamlead
 
Jueves29
Jueves29Jueves29
Jueves29anga
 

Destaque (18)

Apresentação quanta versão 1.7 conferencia
Apresentação quanta versão 1.7 conferenciaApresentação quanta versão 1.7 conferencia
Apresentação quanta versão 1.7 conferencia
 
Poise (1)
Poise (1)Poise (1)
Poise (1)
 
Apresentações Cantinho Econômico
Apresentações Cantinho EconômicoApresentações Cantinho Econômico
Apresentações Cantinho Econômico
 
Sismos catarina, nuno, eduarda
Sismos catarina, nuno, eduardaSismos catarina, nuno, eduarda
Sismos catarina, nuno, eduarda
 
Sae
SaeSae
Sae
 
Marketing promoção em 2016
Marketing promoção em 2016Marketing promoção em 2016
Marketing promoção em 2016
 
Apresentação Requeijão Vigor
Apresentação Requeijão VigorApresentação Requeijão Vigor
Apresentação Requeijão Vigor
 
Tec minho o e learning e a europa 2020
Tec minho o e learning e a europa 2020Tec minho o e learning e a europa 2020
Tec minho o e learning e a europa 2020
 
Projecte El món del cinema, efectes especials 2012 2013
Projecte El món del cinema, efectes especials 2012 2013Projecte El món del cinema, efectes especials 2012 2013
Projecte El món del cinema, efectes especials 2012 2013
 
FBTM Book 2013
FBTM Book 2013FBTM Book 2013
FBTM Book 2013
 
Michael Fay - Resume 2016 with Cover Letter - Updated
Michael Fay - Resume 2016 with Cover Letter - UpdatedMichael Fay - Resume 2016 with Cover Letter - Updated
Michael Fay - Resume 2016 with Cover Letter - Updated
 
Sismos micael, tiago
Sismos micael, tiagoSismos micael, tiago
Sismos micael, tiago
 
Reredaccion
Reredaccion Reredaccion
Reredaccion
 
Bab 1 makanan dan pemakanan
Bab 1 makanan dan pemakananBab 1 makanan dan pemakanan
Bab 1 makanan dan pemakanan
 
Aug 3-2012 - Atlassian - Об Atlassian
Aug 3-2012 - Atlassian - Об AtlassianAug 3-2012 - Atlassian - Об Atlassian
Aug 3-2012 - Atlassian - Об Atlassian
 
Fenícios
FeníciosFenícios
Fenícios
 
Jueves29
Jueves29Jueves29
Jueves29
 
Adolescencia 2016
Adolescencia 2016Adolescencia 2016
Adolescencia 2016
 

Semelhante a Adience - Turning low level behavioural signals into user profiles

(SPOT305) Event-Driven Computing on Change Logs in AWS | AWS re:Invent 2014
(SPOT305) Event-Driven Computing on Change Logs in AWS | AWS re:Invent 2014(SPOT305) Event-Driven Computing on Change Logs in AWS | AWS re:Invent 2014
(SPOT305) Event-Driven Computing on Change Logs in AWS | AWS re:Invent 2014Amazon Web Services
 
20141021 AWS Cloud Taekwon - Big Data on AWS
20141021 AWS Cloud Taekwon - Big Data on AWS20141021 AWS Cloud Taekwon - Big Data on AWS
20141021 AWS Cloud Taekwon - Big Data on AWSAmazon Web Services Korea
 
Get Value From Your Data
Get Value From Your DataGet Value From Your Data
Get Value From Your DataDanilo Poccia
 
Spark Summit EU talk by Bas Geerdink
Spark Summit EU talk by Bas GeerdinkSpark Summit EU talk by Bas Geerdink
Spark Summit EU talk by Bas GeerdinkSpark Summit
 
Car Monitoring IoT Project
Car Monitoring IoT ProjectCar Monitoring IoT Project
Car Monitoring IoT ProjectLeonardoSarra
 
Data Processing without Servers | AWS Public Sector Summit 2016
Data Processing without Servers | AWS Public Sector Summit 2016Data Processing without Servers | AWS Public Sector Summit 2016
Data Processing without Servers | AWS Public Sector Summit 2016Amazon Web Services
 
GDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDK
GDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDKGDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDK
GDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDKNate Wiger
 
Analyzing Streaming Data in Real-time - AWS Summit Cape Town 2018
Analyzing Streaming Data in Real-time - AWS Summit Cape Town 2018Analyzing Streaming Data in Real-time - AWS Summit Cape Town 2018
Analyzing Streaming Data in Real-time - AWS Summit Cape Town 2018Amazon Web Services
 
Creating a scalable & cost efficient BI infrastructure for a startup in the A...
Creating a scalable & cost efficient BI infrastructure for a startup in the A...Creating a scalable & cost efficient BI infrastructure for a startup in the A...
Creating a scalable & cost efficient BI infrastructure for a startup in the A...vcrisan
 
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoTAmazon Web Services
 
AWS re:Invent re:Cap - 데이터 분석: Amazon EC2 C4 Instance + Amazon EBS - 김일호
AWS re:Invent re:Cap - 데이터 분석: Amazon EC2 C4 Instance + Amazon EBS - 김일호AWS re:Invent re:Cap - 데이터 분석: Amazon EC2 C4 Instance + Amazon EBS - 김일호
AWS re:Invent re:Cap - 데이터 분석: Amazon EC2 C4 Instance + Amazon EBS - 김일호Amazon Web Services Korea
 
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...confluent
 
Building Efficient, Scalable and Resilient Front-end logging service with AWS
Building Efficient, Scalable and Resilient Front-end logging service with AWSBuilding Efficient, Scalable and Resilient Front-end logging service with AWS
Building Efficient, Scalable and Resilient Front-end logging service with AWSAWS User Group Bengaluru
 
Building Efficient, Scalable and Resilient Front-end logging service with AWS
Building Efficient, Scalable and Resilient Front-end logging service with AWSBuilding Efficient, Scalable and Resilient Front-end logging service with AWS
Building Efficient, Scalable and Resilient Front-end logging service with AWSAWS User Group Bengaluru
 
Transforming Mobile Push Notifications with Big Data
Transforming Mobile Push Notifications with Big DataTransforming Mobile Push Notifications with Big Data
Transforming Mobile Push Notifications with Big Dataplumbee
 
AWS Summit Stockholm 2014 – B4 – Business intelligence on AWS
AWS Summit Stockholm 2014 – B4 – Business intelligence on AWSAWS Summit Stockholm 2014 – B4 – Business intelligence on AWS
AWS Summit Stockholm 2014 – B4 – Business intelligence on AWSAmazon Web Services
 
Making App Developers More Productive
Making App Developers More ProductiveMaking App Developers More Productive
Making App Developers More ProductivePostman
 
Event streaming pipeline with Windows Azure and ArcGIS Geoevent extension
Event streaming pipeline with Windows Azure and ArcGIS Geoevent extensionEvent streaming pipeline with Windows Azure and ArcGIS Geoevent extension
Event streaming pipeline with Windows Azure and ArcGIS Geoevent extensionRoberto Messora
 
Log everything! @DC13
Log everything! @DC13Log everything! @DC13
Log everything! @DC13DECK36
 
Serverless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis AnalyticsServerless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis AnalyticsAmazon Web Services
 

Semelhante a Adience - Turning low level behavioural signals into user profiles (20)

(SPOT305) Event-Driven Computing on Change Logs in AWS | AWS re:Invent 2014
(SPOT305) Event-Driven Computing on Change Logs in AWS | AWS re:Invent 2014(SPOT305) Event-Driven Computing on Change Logs in AWS | AWS re:Invent 2014
(SPOT305) Event-Driven Computing on Change Logs in AWS | AWS re:Invent 2014
 
20141021 AWS Cloud Taekwon - Big Data on AWS
20141021 AWS Cloud Taekwon - Big Data on AWS20141021 AWS Cloud Taekwon - Big Data on AWS
20141021 AWS Cloud Taekwon - Big Data on AWS
 
Get Value From Your Data
Get Value From Your DataGet Value From Your Data
Get Value From Your Data
 
Spark Summit EU talk by Bas Geerdink
Spark Summit EU talk by Bas GeerdinkSpark Summit EU talk by Bas Geerdink
Spark Summit EU talk by Bas Geerdink
 
Car Monitoring IoT Project
Car Monitoring IoT ProjectCar Monitoring IoT Project
Car Monitoring IoT Project
 
Data Processing without Servers | AWS Public Sector Summit 2016
Data Processing without Servers | AWS Public Sector Summit 2016Data Processing without Servers | AWS Public Sector Summit 2016
Data Processing without Servers | AWS Public Sector Summit 2016
 
GDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDK
GDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDKGDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDK
GDC 2015 - Game Analytics with AWS Redshift, Kinesis, and the Mobile SDK
 
Analyzing Streaming Data in Real-time - AWS Summit Cape Town 2018
Analyzing Streaming Data in Real-time - AWS Summit Cape Town 2018Analyzing Streaming Data in Real-time - AWS Summit Cape Town 2018
Analyzing Streaming Data in Real-time - AWS Summit Cape Town 2018
 
Creating a scalable & cost efficient BI infrastructure for a startup in the A...
Creating a scalable & cost efficient BI infrastructure for a startup in the A...Creating a scalable & cost efficient BI infrastructure for a startup in the A...
Creating a scalable & cost efficient BI infrastructure for a startup in the A...
 
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT
(MBL305) You Have Data from the Devices, Now What?: Getting the Value of the IoT
 
AWS re:Invent re:Cap - 데이터 분석: Amazon EC2 C4 Instance + Amazon EBS - 김일호
AWS re:Invent re:Cap - 데이터 분석: Amazon EC2 C4 Instance + Amazon EBS - 김일호AWS re:Invent re:Cap - 데이터 분석: Amazon EC2 C4 Instance + Amazon EBS - 김일호
AWS re:Invent re:Cap - 데이터 분석: Amazon EC2 C4 Instance + Amazon EBS - 김일호
 
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
 
Building Efficient, Scalable and Resilient Front-end logging service with AWS
Building Efficient, Scalable and Resilient Front-end logging service with AWSBuilding Efficient, Scalable and Resilient Front-end logging service with AWS
Building Efficient, Scalable and Resilient Front-end logging service with AWS
 
Building Efficient, Scalable and Resilient Front-end logging service with AWS
Building Efficient, Scalable and Resilient Front-end logging service with AWSBuilding Efficient, Scalable and Resilient Front-end logging service with AWS
Building Efficient, Scalable and Resilient Front-end logging service with AWS
 
Transforming Mobile Push Notifications with Big Data
Transforming Mobile Push Notifications with Big DataTransforming Mobile Push Notifications with Big Data
Transforming Mobile Push Notifications with Big Data
 
AWS Summit Stockholm 2014 – B4 – Business intelligence on AWS
AWS Summit Stockholm 2014 – B4 – Business intelligence on AWSAWS Summit Stockholm 2014 – B4 – Business intelligence on AWS
AWS Summit Stockholm 2014 – B4 – Business intelligence on AWS
 
Making App Developers More Productive
Making App Developers More ProductiveMaking App Developers More Productive
Making App Developers More Productive
 
Event streaming pipeline with Windows Azure and ArcGIS Geoevent extension
Event streaming pipeline with Windows Azure and ArcGIS Geoevent extensionEvent streaming pipeline with Windows Azure and ArcGIS Geoevent extension
Event streaming pipeline with Windows Azure and ArcGIS Geoevent extension
 
Log everything! @DC13
Log everything! @DC13Log everything! @DC13
Log everything! @DC13
 
Serverless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis AnalyticsServerless Streaming Data Processing using Amazon Kinesis Analytics
Serverless Streaming Data Processing using Amazon Kinesis Analytics
 

Último

High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 

Último (20)

High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 

Adience - Turning low level behavioural signals into user profiles

  • 1. Turning Low Level Behavioural Signals Into User Profiles Pablo Rosenman, VP Development
  • 2. Adience Leading the user-centric mobile revolution - Harness Deep Learning to profile mobile app users - Distill user/app interaction to actionable segmentation data 2
  • 3. 3
  • 5. Adience SDK - Runs on tens of millions of devices - Runs in the background, without interfering with device’s operations - Collects raw data from the system and environment (according to available permissions) - Reduces dimensionality and anonymizes the data - Sends results to the SDK Server 5
  • 6. SDK Server - Receives tens of millions of data submissions from the Mobile SDK installations per day - It should be able to scale by two orders of magnitude - It should handle requests quickly, so as not to hang the client (i.e. Mobile SDK) - It should avoid losing data 6
  • 7. SDK Server (Architecture) - Data is sent from the mobile SDK to an Apache server running on EC2 - SDK Server verifies validity of incoming data - Incoming data gets written immediately (no processing) to S3 Amazon EC2 Mobile Client Amazon S3 7
  • 8. SDK Server (Scaling) - The ELB balances the load on all the servers - Auto Scaling will make sure there are enough servers to handle the load Amazon EC2 Auto Scaling Mobile Client Amazon S3Elastic Load Balancer 8
  • 9. Insights Workflow - Create insights on the device’s owner when new data arrives from the device - Doesn’t have to be real-time (as the data arrives), but shouldn’t be far behind 9
  • 10. Insights Workflow (cont.) - Data report sent by SDK consists of: - Simple data points requiring simple statistic and arithmetic operations, for example: - Device model - OS version - More complex data matrices requiring matrix operations, for example: - Machine Learning features on time series data - Machine Learning features on photos 10
  • 11. Insights Workflow (Architecture) - Simple pattern for streamlined processing server application: - Read input S3 filename from input SQS - Read the file from the input S3 bucket, and process it - Write results to file in output S3 bucket - Send output S3 filename to output SQS EC2 Servers Amazon SQS S3 Bucket Auto Scaling S3 Bucket Amazon SQS 11
  • 12. Insights Workflow (Architecture) - Aggregate the data from all reports to a single device object - Create insights from all the device’s aggregated data - Advantages of architecture: - Scalability - Decoupling Insights Servers Devices Servers Amazon SQS Amazon SQS Reports S3 Bucket Insights DynamoDB Table Deep Learning Servers (GPU) Devices S3 Bucket Amazon SQS 12
  • 14. Events SDK - Receives events based on user interaction with the app - Some events are automatically implemented (app was started) - Custom events are the real driving force (user has made an in- app purchase for $3.99) - Events should be sent to the Events Server 14
  • 15. Events Server - Receives hundreds of millions of data submissions from the Mobile SDK installations per day - It should be able to scale by two orders of magnitude - It should handle requests quickly, so as not to hang the client - Analytics engine should work on all data from the last 30 days - Data should be enriched with the user insights 15
  • 16. Events Server (Architecture) - All incoming events are written to a file in the local volume - Once every hour, we close the file in each instance and ship it to S3 Amazon EC2 Auto Scaling Mobile Client Amazon S3Elastic Load Balancer Amazon EBS logrotate 16
  • 17. Insights MapReduce - At the end of each day, all events from that day are in the events S3 bucket - We add to these a “mock event” per report sent to the SDK Server - Eventually, we wish to compare all the app’s users in the last 30 days to a subset of those users 17
  • 18. Insights MapReduce (cont.) - Using Amazon EMR, we aggregate the data per app, device, day, and event type - Example: device 0123, on 2016-01-04, in app Blappy Fird, purchased in-app goods worth a total of $100 Events S3 Bucket Raw2Daily Amazon EMR Mock Events S3 Bucket Daily S3 Bucket 18
  • 19. Insights MapReduce (cont.) - Using the Daily data for the last 30 days, we run an additional EMR to aggregate per app, device, and event type - Example: device 0123, in app Blappy Fird, purchased in-app goods worth a total of $1000 (in the last 30 days) - We enrich the data by adding the device’s insights to each record Daily S3 Bucket Daily2Aggregate Amazon EMR Aggregate S3 Bucket Insights DynamoDB Table 19
  • 20. Insights MapReduce (cont.) - Accessing DynamoDB per event type is costly - We know last day’s users - save them to an in-memory cache Daily S3 Bucket Daily2Aggregate Amazon EMR Aggregate S3 Bucket Insights DynamoDB Table 20 Insights Servers Insights ElastiCache
  • 21. Insights MapReduce (cont.) - Using the Aggregate data for the last 30 days, we run an additional EMR to aggregate per app, country, age, gender, and subset type - Example: app Blappy Fird, in the US, for males aged 25-34 who purchased in-app goods worth a total of more than $500 (in the last 30 days), 70% are tech savvy, 40% are commuters, etc. Aggregate S3 Bucket Subset S3 Bucket Aggregate2Subset Amazon EMR 21
  • 23. Insights MapReduce (cont.) - How can we show data on apps that haven’t integrated us? - Create a mock event per app that we know is installed on the device! Events S3 Bucket Raw2Daily Amazon EMR Mock Events S3 Bucket Daily S3 Bucket Daily2Aggregate Amazon EMR Aggregate S3 Bucket Insights DynamoDB Table Aggregate2Subset Amazon EMR Subset S3 Bucket 23
  • 24. 24
  • 26. SDK Server (Next Generation) Amazon EC2 Auto Scaling Mobile Client Amazon S3Elastic Load Balancer Mobile Client Amazon S3Amazon API Gateway AWS Lambda 26
  • 27. Insights Workflow (Next Generation) Insights Servers Devices Servers Amazon SQS Amazon SQS Reports S3 Bucket Insights DynamoDB Table Deep Learning Servers (GPU) Devices S3 Bucket Amazon SQS Reports S3 Bucket Devices Lambda Devices S3 BucketDeep Learning Servers (GPU) Amazon SQS Staging S3 Bucket Insights Lambda Insights DynamoDB Table 27
  • 28. Events Server (Next Generation) Amazon EC2 Auto Scaling Mobile Client Amazon S3Elastic Load Balancer Amazon EBS logrotate Mobile Client Amazon S3Amazon API Gateway AWS Lambda Amazon Kinesis Firehose 28
  • 30. ELK with Amazon - Server code sends logs to local ZMQ process - ZMQ process then asynchronously sends to Kinesis - Logstash pulls the Kinesis stream, and writes in batches to ElasticSearch Server Code Amazon Kinesis ZMQ Logstash Amazon ElasticSearch 30
  • 31. We’re Hiring! Server Developer Full Stack Web Developer Algorithm Developer DevOps Engineer