SlideShare a Scribd company logo
1 of 35
Download to read offline
Using Machine Learning at
Scale: A Gaming Industry
Experience!
Arthur Gola
Data Science Manager @ Wildlife Studios
Vini Jaiswal
Customer Success Engineer @ Databricks
Agenda
01
02
03
04
05
2
Gaming Industry Trends
Data Science Platform @ Wildlife
Use Case: Personalized Offers
Other Use Cases @ Wildlife
Gaming
industry
trends
01
Mobile is the largest
and fastest-growing
platform within video
games
Market
Global video game market:
$159B in 2020
Out of which $77Bin mobile
(that's more than music and movies markets combined)
Mobile grows 13.3%p.a.
(vs. to 5% for PC and 7% for console)
Source: Newzoo 2020 Global Games Market Report
We develop games that make
billions of players happier.
Wildlife is a blend of excellence in art and creativity with data science and high-end technology
Top 10 largest mobile gaming
companies in the world
2.5 billion downloads to date
10s of terabytes of new data
every day
petabytes processed daily in
core pipelines
60+ games released
Wildlife in numbers
Data Science
Platform at
Wildlife
02
Languages
Tracking Projects Models
Massivelyscalabledatacleansing&transformation
End to end ML
lifecycle
ETL / Data
Processing
Data Science Platform
APIs
Jobs
Models
Notebooks
Dashboards
ML Runtime
Databricks
Runtime
BRONZE
SILVER
GOLD
DELTA
Metastore
BI/Dashboarding
In-house
solution
Marketing Analysts
Product Managers
Wildlife's unified data platform
Wildlife Games
Credits:
Pedro Sereno Galvão
kafka
connect
Case:
Personalized
Offers
03
The magic of finding the right product for the
right user
● Over 60% of our revenue comes from in-app purchases — and offers
are a large portion of that
● Users are very different — 95% of our user base never make a
purchase
● From those that do make a purchase, only 5% are responsible for
more than half the revenue
● Hardcore vs casual users
Zooba
War Machines
Tennis Clash
We started simple and grew in complexity
Frequency: the best frequency for the game
Price: the right offer size for each wallet
Discount: higher discounts may increase cannibalization
Content: dimensionality explodes — how can we simplify?
We started simple and grew in complexity
Frequency: the best frequency for the game
Price: the right offer size for each wallet
Discount: higher discounts may increase cannibalization
Content: dimensionality explodes — how can we simplify?
We started simple and grew in complexity
Frequency: the best frequency for the game
Price: the right offer size for each wallet
Discount: higher discounts may increase cannibalization
Content: dimensionality explodes — how can we simplify?
We started simple and grew in complexity
Frequency: the best frequency for the game
Price: the right offer size for each wallet
Discount: higher discounts may increase cannibalization
Content: dimensionality explodes — how can we simplify?
Offer Personalization System Overview
Backend Servers
(Go)
Offers Gateway
(Go)
Model API
(python)
A.pkl
Model API
(python)
B.pkl
Experimentation
Platform
(Go)
Feature Store
(DynamoDB)
Analytics
(In-house solution + Looker)
Data Lake
(S3)
Backend Servers
(Go)
Offers Gateway
(Go)
Model API
(python)
Model API
(python)
Experimentation
Platform
(Go)
Feature Store
(DynamoDB)
Analytics
(In-house solution + Looker)
Data Lake
(S3)
A.pkl
B.pkl
1. The game
requests an offer
Offer Personalization System Overview
Backend Servers
(Go)
Offers Gateway
(Go)
Model API
(python)
Model API
(python)
Experimentation
Platform
(Go)
Feature Store
(DynamoDB)
Analytics
(In-house solution + Looker)
Data Lake
(S3)
A.pkl
B.pkl
2. The backend servers
forward that request to
the Offers Gateway
Offer Personalization System Overview
Backend Servers
(Go)
Offers Gateway
(Go)
Model API
(python)
Model API
(python)
Experimentation
Platform
(Go)
Feature Store
(DynamoDB)
Analytics
(In-house solution + Looker)
Data Lake
(S3)
A.pkl
B.pkl
3. Offers Gateway
requests the
experimentation config
Offer Personalization System Overview
Backend Servers
(Go)
Offers Gateway
(Go)
Model API
(python)
Model API
(python)
Experimentation
Platform
(Go)
Feature Store
(DynamoDB)
Analytics
(In-house solution + Looker)
Data Lake
(S3)
A.pkl
B.pkl
4. Experimentation
platform returns the
test config
Offer Personalization System Overview
Backend Servers
(Go)
Offers Gateway
(Go)
Model API
(python)
Model API
(python)
Experimentation
Platform
(Go)
Feature Store
(DynamoDB)
Analytics
(In-house solution + Looker)
Data Lake
(S3)
A.pkl
B.pkl
5. Gateway sends
request to the
appropriate Model API
Offer Personalization System Overview
Backend Servers
(Go)
Offers Gateway
(Go)
Model API
(python)
Model API
(python)
Experimentation
Platform
(Go)
Feature Store
(DynamoDB)
Analytics
(In-house solution + Looker)
Data Lake
(S3)
A.pkl
B.pkl
6. Model API requests
the user's features from
a Feature Store
Offer Personalization System Overview
Backend Servers
(Go)
Offers Gateway
(Go)
Model API
(python)
Model API
(python)
Experimentation
Platform
(Go)
Feature Store
(DynamoDB)
Analytics
(In-house solution + Looker)
Data Lake
(S3)
A.pkl
B.pkl
7. Feature Store
responds with features
from the user
Offer Personalization System Overview
Backend Servers
(Go)
Offers Gateway
(Go)
Model API
(python)
Model API
(python)
Experimentation
Platform
(Go)
Feature Store
(DynamoDB)
Analytics
(In-house solution + Looker)
Data Lake
(S3)
A.pkl
B.pkl
8. Model API generates
the recommendation
Offer Personalization System Overview
Backend Servers
(Go)
Offers Gateway
(Go)
Model API
(python)
Model API
(python)
Experimentation
Platform
(Go)
Feature Store
(DynamoDB)
Analytics
(In-house solution + Looker)
Data Lake
(S3)
A.pkl
B.pkl
9. Gateway forwards
recommendation to
backend servers
Offer Personalization System Overview
Backend Servers
(Go)
Offers Gateway
(Go)
Model API
(python)
Model API
(python)
Experimentation
Platform
(Go)
Feature Store
(DynamoDB)
Analytics
(In-house solution + Looker)
Data Lake
(S3)
A.pkl
B.pkl
10. Offer is shown to
the user
Offer Personalization System Overview
Backend Servers
(Go)
Offers Gateway
(Go)
Model API
(python)
Model API
(python)
Experimentation
Platform
(Go)
Feature Store
(DynamoDB)
Analytics
(In-house solution + Looker)
Data Lake
(S3)
A.pkl
B.pkl
During the process, all
components are sending data to
our storage that will feed into our
monitoring system
Offer Personalization System Overview
Wildlife's ML library speeds up model training
Application-agnostic
MLFlow-integrated
Runs locally or on
Databricks clusters
Standardized training and
deployment
Automated reporting: business
metrics, model error, feature
importance
Hyperparameter optimization
Example: training notebook walkthrough
Step zero: Data Collection process creates the dataset (will not be covered)
1. Installation
2. Game-specific parameters
a. Load dataset
b. Define mapping of model output to server payload
3. Model training: the compound classifier
a. Define training parameters
b. Execute training
4. Test and evaluation
5. Deployment
Example: training notebook walkthrough
It's not just cool, it's profitable!
So, what is next? Maybe Reinforcement Learning.
We should find the sequence of offers that maximizes long-term rewards
We should have a retraining framework that takes into account the explore-exploit tradeoff
We should explore our search space wisely — too many dimensions, especially with content
Yes, that is right, we are testing a Reinforcement Learning framework — stay tuned for
news on that!
Other use
cases
04
There is much more to Data Science at Wildlife!
● Rating and matchmaking systems that predict user performance and create fair
matchups for fun and engaging games
● Advanced experimentation techniques such as bayesian optimization, multi-armed and
contextual bandits to test more hypotheses, learn and improve faster
● LTV models that allow for a optimized, highly profitable marketing operation
● Ads monetization system that continuously maximizes ads revenues
Thank you!
www.wildlifestudios.com
arthur.gola@wildlifestudios.com
Feedback
Your feedback is important to us.
Don’t forget to rate
and review the sessions.

More Related Content

Similar to Using Machine Learning at Scale: A Gaming Industry Experience!

Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
Kai Wähner
 
Monitoring AI with AI
Monitoring AI with AIMonitoring AI with AI
Monitoring AI with AI
Stepan Pushkarev
 

Similar to Using Machine Learning at Scale: A Gaming Industry Experience! (20)

Strata 2016 - Architecting for Change: LinkedIn's new data ecosystem
Strata 2016 - Architecting for Change: LinkedIn's new data ecosystemStrata 2016 - Architecting for Change: LinkedIn's new data ecosystem
Strata 2016 - Architecting for Change: LinkedIn's new data ecosystem
 
Build 2019 Recap
Build 2019 RecapBuild 2019 Recap
Build 2019 Recap
 
Artificial Intelligence in practice - Gerbert Kaandorp - Codemotion Amsterdam...
Artificial Intelligence in practice - Gerbert Kaandorp - Codemotion Amsterdam...Artificial Intelligence in practice - Gerbert Kaandorp - Codemotion Amsterdam...
Artificial Intelligence in practice - Gerbert Kaandorp - Codemotion Amsterdam...
 
Webinar: Mastering Python - An Excellent tool for Web Scraping and Data Anal...
Webinar:  Mastering Python - An Excellent tool for Web Scraping and Data Anal...Webinar:  Mastering Python - An Excellent tool for Web Scraping and Data Anal...
Webinar: Mastering Python - An Excellent tool for Web Scraping and Data Anal...
 
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
Apache Kafka in Gaming Industry (Games, Mobile, Betting, Gambling, Bookmaker,...
 
DevOps Days Austin 2014 - Vendor DEMO
DevOps Days Austin 2014 - Vendor DEMODevOps Days Austin 2014 - Vendor DEMO
DevOps Days Austin 2014 - Vendor DEMO
 
AWSome Day Brussels - Keynote
AWSome Day Brussels - Keynote AWSome Day Brussels - Keynote
AWSome Day Brussels - Keynote
 
Impact AI 2020: Portfolio-Scale Data Science at Zynga
Impact AI 2020: Portfolio-Scale Data Science at ZyngaImpact AI 2020: Portfolio-Scale Data Science at Zynga
Impact AI 2020: Portfolio-Scale Data Science at Zynga
 
Monitoring AI with AI
Monitoring AI with AIMonitoring AI with AI
Monitoring AI with AI
 
Data Summer Conf 2018, “Monitoring AI with AI (RUS)” — Stepan Pushkarev, CTO ...
Data Summer Conf 2018, “Monitoring AI with AI (RUS)” — Stepan Pushkarev, CTO ...Data Summer Conf 2018, “Monitoring AI with AI (RUS)” — Stepan Pushkarev, CTO ...
Data Summer Conf 2018, “Monitoring AI with AI (RUS)” — Stepan Pushkarev, CTO ...
 
A Big (Query) Frog in a Small Pond, Jakub Motyl, BuffPanel
A Big (Query) Frog in a Small Pond, Jakub Motyl, BuffPanelA Big (Query) Frog in a Small Pond, Jakub Motyl, BuffPanel
A Big (Query) Frog in a Small Pond, Jakub Motyl, BuffPanel
 
Microsoft Build 2023 Updates – Copilot Stack and Azure OpenAI Service (Machin...
Microsoft Build 2023 Updates – Copilot Stack and Azure OpenAI Service (Machin...Microsoft Build 2023 Updates – Copilot Stack and Azure OpenAI Service (Machin...
Microsoft Build 2023 Updates – Copilot Stack and Azure OpenAI Service (Machin...
 
Deep learning for FinTech
Deep learning for FinTechDeep learning for FinTech
Deep learning for FinTech
 
DeNA West & BigQuery
DeNA West & BigQueryDeNA West & BigQuery
DeNA West & BigQuery
 
Machine Learning in Microsoft Azure
Machine Learning in Microsoft AzureMachine Learning in Microsoft Azure
Machine Learning in Microsoft Azure
 
Python PPT
Python PPTPython PPT
Python PPT
 
Python for Big Data Analytics
Python for Big Data AnalyticsPython for Big Data Analytics
Python for Big Data Analytics
 
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
 
Intro to Massively Multiplayer Online Game (MMOG) Design
Intro to Massively Multiplayer Online Game (MMOG) DesignIntro to Massively Multiplayer Online Game (MMOG) Design
Intro to Massively Multiplayer Online Game (MMOG) Design
 
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...
GDG Cloud Southlake #16: Priyanka Vergadia: Scalable Data Analytics in Google...
 

More from Databricks

Democratizing Data Quality Through a Centralized Platform
Democratizing Data Quality Through a Centralized PlatformDemocratizing Data Quality Through a Centralized Platform
Democratizing Data Quality Through a Centralized Platform
Databricks
 
Stage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI IntegrationStage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI Integration
Databricks
 
Simplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorchSimplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorch
Databricks
 
Raven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction QueriesRaven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction Queries
Databricks
 
Processing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache SparkProcessing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache Spark
Databricks
 

More from Databricks (20)

DW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptxDW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptx
 
Data Lakehouse Symposium | Day 1 | Part 1
Data Lakehouse Symposium | Day 1 | Part 1Data Lakehouse Symposium | Day 1 | Part 1
Data Lakehouse Symposium | Day 1 | Part 1
 
Data Lakehouse Symposium | Day 1 | Part 2
Data Lakehouse Symposium | Day 1 | Part 2Data Lakehouse Symposium | Day 1 | Part 2
Data Lakehouse Symposium | Day 1 | Part 2
 
Data Lakehouse Symposium | Day 2
Data Lakehouse Symposium | Day 2Data Lakehouse Symposium | Day 2
Data Lakehouse Symposium | Day 2
 
Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4
 
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
 
Democratizing Data Quality Through a Centralized Platform
Democratizing Data Quality Through a Centralized PlatformDemocratizing Data Quality Through a Centralized Platform
Democratizing Data Quality Through a Centralized Platform
 
Learn to Use Databricks for Data Science
Learn to Use Databricks for Data ScienceLearn to Use Databricks for Data Science
Learn to Use Databricks for Data Science
 
Why APM Is Not the Same As ML Monitoring
Why APM Is Not the Same As ML MonitoringWhy APM Is Not the Same As ML Monitoring
Why APM Is Not the Same As ML Monitoring
 
The Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
The Function, the Context, and the Data—Enabling ML Ops at Stitch FixThe Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
The Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
 
Stage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI IntegrationStage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI Integration
 
Simplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorchSimplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorch
 
Scaling your Data Pipelines with Apache Spark on Kubernetes
Scaling your Data Pipelines with Apache Spark on KubernetesScaling your Data Pipelines with Apache Spark on Kubernetes
Scaling your Data Pipelines with Apache Spark on Kubernetes
 
Scaling and Unifying SciKit Learn and Apache Spark Pipelines
Scaling and Unifying SciKit Learn and Apache Spark PipelinesScaling and Unifying SciKit Learn and Apache Spark Pipelines
Scaling and Unifying SciKit Learn and Apache Spark Pipelines
 
Sawtooth Windows for Feature Aggregations
Sawtooth Windows for Feature AggregationsSawtooth Windows for Feature Aggregations
Sawtooth Windows for Feature Aggregations
 
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen SinkRedis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
 
Re-imagine Data Monitoring with whylogs and Spark
Re-imagine Data Monitoring with whylogs and SparkRe-imagine Data Monitoring with whylogs and Spark
Re-imagine Data Monitoring with whylogs and Spark
 
Raven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction QueriesRaven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction Queries
 
Processing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache SparkProcessing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache Spark
 
Massive Data Processing in Adobe Using Delta Lake
Massive Data Processing in Adobe Using Delta LakeMassive Data Processing in Adobe Using Delta Lake
Massive Data Processing in Adobe Using Delta Lake
 

Recently uploaded

Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
amitlee9823
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
MarinCaroMartnezBerg
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
amitlee9823
 

Recently uploaded (20)

Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Capstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramCapstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics Program
 
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
Predicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science ProjectPredicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science Project
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptx
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
 
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Sampling (random) method and Non random.ppt
Sampling (random) method and Non random.pptSampling (random) method and Non random.ppt
Sampling (random) method and Non random.ppt
 
Anomaly detection and data imputation within time series
Anomaly detection and data imputation within time seriesAnomaly detection and data imputation within time series
Anomaly detection and data imputation within time series
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
 
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
 

Using Machine Learning at Scale: A Gaming Industry Experience!

  • 1. Using Machine Learning at Scale: A Gaming Industry Experience! Arthur Gola Data Science Manager @ Wildlife Studios Vini Jaiswal Customer Success Engineer @ Databricks
  • 2. Agenda 01 02 03 04 05 2 Gaming Industry Trends Data Science Platform @ Wildlife Use Case: Personalized Offers Other Use Cases @ Wildlife
  • 4. Mobile is the largest and fastest-growing platform within video games Market Global video game market: $159B in 2020 Out of which $77Bin mobile (that's more than music and movies markets combined) Mobile grows 13.3%p.a. (vs. to 5% for PC and 7% for console) Source: Newzoo 2020 Global Games Market Report
  • 5. We develop games that make billions of players happier. Wildlife is a blend of excellence in art and creativity with data science and high-end technology
  • 6. Top 10 largest mobile gaming companies in the world 2.5 billion downloads to date 10s of terabytes of new data every day petabytes processed daily in core pipelines 60+ games released Wildlife in numbers
  • 8. Languages Tracking Projects Models Massivelyscalabledatacleansing&transformation End to end ML lifecycle ETL / Data Processing Data Science Platform APIs Jobs Models Notebooks Dashboards ML Runtime Databricks Runtime BRONZE SILVER GOLD DELTA Metastore BI/Dashboarding In-house solution Marketing Analysts Product Managers Wildlife's unified data platform Wildlife Games Credits: Pedro Sereno Galvão kafka connect
  • 10. The magic of finding the right product for the right user ● Over 60% of our revenue comes from in-app purchases — and offers are a large portion of that ● Users are very different — 95% of our user base never make a purchase ● From those that do make a purchase, only 5% are responsible for more than half the revenue ● Hardcore vs casual users Zooba War Machines Tennis Clash
  • 11. We started simple and grew in complexity Frequency: the best frequency for the game Price: the right offer size for each wallet Discount: higher discounts may increase cannibalization Content: dimensionality explodes — how can we simplify?
  • 12. We started simple and grew in complexity Frequency: the best frequency for the game Price: the right offer size for each wallet Discount: higher discounts may increase cannibalization Content: dimensionality explodes — how can we simplify?
  • 13. We started simple and grew in complexity Frequency: the best frequency for the game Price: the right offer size for each wallet Discount: higher discounts may increase cannibalization Content: dimensionality explodes — how can we simplify?
  • 14. We started simple and grew in complexity Frequency: the best frequency for the game Price: the right offer size for each wallet Discount: higher discounts may increase cannibalization Content: dimensionality explodes — how can we simplify?
  • 15. Offer Personalization System Overview Backend Servers (Go) Offers Gateway (Go) Model API (python) A.pkl Model API (python) B.pkl Experimentation Platform (Go) Feature Store (DynamoDB) Analytics (In-house solution + Looker) Data Lake (S3)
  • 16. Backend Servers (Go) Offers Gateway (Go) Model API (python) Model API (python) Experimentation Platform (Go) Feature Store (DynamoDB) Analytics (In-house solution + Looker) Data Lake (S3) A.pkl B.pkl 1. The game requests an offer Offer Personalization System Overview
  • 17. Backend Servers (Go) Offers Gateway (Go) Model API (python) Model API (python) Experimentation Platform (Go) Feature Store (DynamoDB) Analytics (In-house solution + Looker) Data Lake (S3) A.pkl B.pkl 2. The backend servers forward that request to the Offers Gateway Offer Personalization System Overview
  • 18. Backend Servers (Go) Offers Gateway (Go) Model API (python) Model API (python) Experimentation Platform (Go) Feature Store (DynamoDB) Analytics (In-house solution + Looker) Data Lake (S3) A.pkl B.pkl 3. Offers Gateway requests the experimentation config Offer Personalization System Overview
  • 19. Backend Servers (Go) Offers Gateway (Go) Model API (python) Model API (python) Experimentation Platform (Go) Feature Store (DynamoDB) Analytics (In-house solution + Looker) Data Lake (S3) A.pkl B.pkl 4. Experimentation platform returns the test config Offer Personalization System Overview
  • 20. Backend Servers (Go) Offers Gateway (Go) Model API (python) Model API (python) Experimentation Platform (Go) Feature Store (DynamoDB) Analytics (In-house solution + Looker) Data Lake (S3) A.pkl B.pkl 5. Gateway sends request to the appropriate Model API Offer Personalization System Overview
  • 21. Backend Servers (Go) Offers Gateway (Go) Model API (python) Model API (python) Experimentation Platform (Go) Feature Store (DynamoDB) Analytics (In-house solution + Looker) Data Lake (S3) A.pkl B.pkl 6. Model API requests the user's features from a Feature Store Offer Personalization System Overview
  • 22. Backend Servers (Go) Offers Gateway (Go) Model API (python) Model API (python) Experimentation Platform (Go) Feature Store (DynamoDB) Analytics (In-house solution + Looker) Data Lake (S3) A.pkl B.pkl 7. Feature Store responds with features from the user Offer Personalization System Overview
  • 23. Backend Servers (Go) Offers Gateway (Go) Model API (python) Model API (python) Experimentation Platform (Go) Feature Store (DynamoDB) Analytics (In-house solution + Looker) Data Lake (S3) A.pkl B.pkl 8. Model API generates the recommendation Offer Personalization System Overview
  • 24. Backend Servers (Go) Offers Gateway (Go) Model API (python) Model API (python) Experimentation Platform (Go) Feature Store (DynamoDB) Analytics (In-house solution + Looker) Data Lake (S3) A.pkl B.pkl 9. Gateway forwards recommendation to backend servers Offer Personalization System Overview
  • 25. Backend Servers (Go) Offers Gateway (Go) Model API (python) Model API (python) Experimentation Platform (Go) Feature Store (DynamoDB) Analytics (In-house solution + Looker) Data Lake (S3) A.pkl B.pkl 10. Offer is shown to the user Offer Personalization System Overview
  • 26. Backend Servers (Go) Offers Gateway (Go) Model API (python) Model API (python) Experimentation Platform (Go) Feature Store (DynamoDB) Analytics (In-house solution + Looker) Data Lake (S3) A.pkl B.pkl During the process, all components are sending data to our storage that will feed into our monitoring system Offer Personalization System Overview
  • 27. Wildlife's ML library speeds up model training Application-agnostic MLFlow-integrated Runs locally or on Databricks clusters Standardized training and deployment Automated reporting: business metrics, model error, feature importance Hyperparameter optimization
  • 28. Example: training notebook walkthrough Step zero: Data Collection process creates the dataset (will not be covered) 1. Installation 2. Game-specific parameters a. Load dataset b. Define mapping of model output to server payload 3. Model training: the compound classifier a. Define training parameters b. Execute training 4. Test and evaluation 5. Deployment
  • 30. It's not just cool, it's profitable!
  • 31. So, what is next? Maybe Reinforcement Learning. We should find the sequence of offers that maximizes long-term rewards We should have a retraining framework that takes into account the explore-exploit tradeoff We should explore our search space wisely — too many dimensions, especially with content Yes, that is right, we are testing a Reinforcement Learning framework — stay tuned for news on that!
  • 33. There is much more to Data Science at Wildlife! ● Rating and matchmaking systems that predict user performance and create fair matchups for fun and engaging games ● Advanced experimentation techniques such as bayesian optimization, multi-armed and contextual bandits to test more hypotheses, learn and improve faster ● LTV models that allow for a optimized, highly profitable marketing operation ● Ads monetization system that continuously maximizes ads revenues
  • 35. Feedback Your feedback is important to us. Don’t forget to rate and review the sessions.