SlideShare a Scribd company logo
How Celtra Optimizes its Advertising Platformwith Databricks
Grega Kešpret, Director of Engineering, Analytics – Celtra
Denny Lee, Technology Evangelist – Databricks
December 9th, 2015
How Celtra Optimizes its
Advertising Platform
with Databricks
About Me: Grega Kešpret
Grega Kešpret is the Director of Engineering for Analytics. He works at
Celtra since 2012, where he helped build analytics pipeline and
optimization systems. Grega also leads the team of engineers and data
scientists at San Francisco and Ljubljana, working on their analytics
platform. Prior to Celtra, Grega worked at IBM, helping enterprise
customers adopt WebSphere Application Server and before that did a 8-
month internship at SANYO (Panasonic) in Japan, working on battery
systems. His current technical interests include databases, distributed
systems, functional programming and machine learning.
About Me: Denny Lee
Denny is a Technology Evangelist with Databricks; he is a hands-on data
sciences engineer with more than 15 years of experience developing
internet-scale infrastructure, data platforms, and distributed systems for
both on-premises and cloud. His key focuses surround solving complex
large scale data problems – providing not only architectural direction but
the hands-on implementation of these systems. He has extensive
experience in building greenfield teams as well as turn around / change
catalyst. Prior to joining Databricks, Denny worked as a Senior Director of
Data Sciences Engineering at Concur and was part of the incubation team
that built Hadoop on Windows and Azure (currently known as HDInsight).
How Celtra Optimizes its Advertising Platformwith Databricks
•  About Celtra & AdCreator
•  Event Data
•  AdTech Problems (Sessionization, Funnel Analytics)
•  Databricks Use Cases
•  Data Analysis Evolutionary Path
•  Main pain points from the past
•  Demo
•  Q&A
Agenda
Motivation
The analytics platform at Celtra has experienced tremendous growth
over the past few years in terms of size, complexity, number of users,
and variety of use cases.
Business Data Volume Data Complexity
Leading creative technology
company for data-driven brand
display and video advertising
across mobile, tablets and desktop
Powering the creative side of
advertising campaigns
SaaS platform to allow clients easily
create, manage, and traffic data-
driven dynamic ads, optimize them
on the go, and track their
performance with insightful
analytics
Celtra AdCreator
About Celtra & AdCreator
Trusted by +5000 brands
and agencies.
Unparalleled Distribution Options
Reach across endless list of large publishers and media owners, DSP’s and ad networks.
Certified and partnered with the top 25 global Ad Networks and
over 50 premium publishers
AdCreator is the most widely used creative, analytics and
optimization technology for display and video advertising
•  Bread and butter of our analytics data
•  Facts about what happened
•  creative X was served on placement Y at time Z
•  user A interacted with creative X at time Q
•  Automatically tracked
•  Behavioral data from users
•  ~2 billion events per day
•  1 TB new data per day (uncompressed)
•  Very sparse
•  Complex relationships between events
Event data
•  Combining discrete events into sessions
•  In first version, we used to compute simple counts of events
•  But, no “holistic” view over the whole session:
•  Very hard to troubleshoot/debug
•  Cannot check for/enforce causality (if X happened, Y must also have
happened)
•  Duplication leading to skewed rates (e.g. one user interacting)
•  Later events make you understand earlier arriving events better (e.g.
session duration, attribution, identity, etc.)
Sessionization
Why Spark for Event Analytics
One of the first companies to use Spark in production (v0.5)
Sessionization
Nice API
Expressive computation layer
Speed of innovation
Seamless integration with S3
Aggregated
Analytics data
Event data
+
Operational
data
Trackers
Funnel Analytics
Celtra Analytics Funnel View
•  Multi-step process
•  Enabled by sessionization
•  Originally developed in the context of e-commerce sites
•  Ad was requested, then served, then shown, then interacted with, then the
user expanded the ad, then watched a video, …
•  Not just whether X happened; but whether A, B and X happened
Funnel Analytics
XA
B
Production Use Case
But that’s just
the beginning
Consider the following sample questions:
•  When do users engage with creatives?
•  Do different groups of users behave differently?
•  Why is a certain rate low or high?
•  What is the adoption of recently rolled out feature?
•  Does it correlate with engagement?
•  What features are important when detect environment we run in?
In a traditional data warehouse, you’d figure out all the needed reports/questions in
advance, design the schema and that’s it.
Questions & Answers
Explanation
Insight
Question
Insight generation lifecycle
1. Ad-hoc queries for campaigns
•  Databricks allows us to easily run our increasingly complex ad-hoc queries
2. Exploratory data analysis
•  Derive value from data as soon as possible
3. Troubleshooting
•  The bar for reliability and correctness is very high
•  Why something broke? Why is certain rate low/high?
•  Quickly identify the root cause of production failures and minimize system downtime
Use cases
4. Compliance jobs
•  Regularly scheduled jobs that make various checks for compliance purposes (e.g. non-human
traffic)
5. Supporting product decisions with data
•  Some of this is not “Big Data”, but visualizations, precomputing different views, etc.
•  Example: pricing model analysis
•  Connecting to Databricks with Tableau
6. Predictive analytics
•  Example: dynamically detect environment in which
our tags run (in-app, mobile web)
Use cases
•  Need flexibility, not provided by precomputed aggregates (uniques, order
statistics, etc.)
•  Answers to questions that existing data model does not support (Demo)
•  Short development cycles and faster experimentation
•  Complex ecosystem + Wide creative capabilities = Diverse data
•  Data focused on the engagements of consumers with our clients’ ads
•  Constantly exploring new ways to leverage this information to improve our offering
•  Visualizations
•  Important aspect of big data mining
•  In 9 out of 10 notebooks, there is at least one visualization
Exploratory data analysis
Complex ecosystem / environment
•  Support all major mobile
platforms (IOS, Android,
Windows Phone) and desktop
•  Work on mobile web & in-app
•  Device fragmentation,
browser specifics
•  Errors will happen
Error in log parsing
Wrong tags being trafficked
Custom (wrong) code being executed
Internal service call failures
•  When stuff doesn’t work, we need to be able to
dig into the data easily and quickly
•  To understand the problem, we need to check:
ELB logs, event logs, operational data, creative structure, machine logs
Troubleshooting
Resulting in
Bad user experience
Wrong insights (wrong metrics)
Data analysis evolutionary path
Solution progression
Bash
Logcat
Spark
Spark-Shell
Databricks
•  Downloading event logs from S3
on a single machine, “grepping”,
doing simple counts in bash. Using
R or Python for analysis.
•  But: Slow download (single core,
one machine)
•  Solution: Written Logcat – Scala,
multi-threaded downloading from
S3, scale horizontally
Version 1 (with Bash)
Bash
Logcat
Spark
Spark-Shell
Databricks
Data analysis evolutionary path
Solution progression
•  Can download large amount of
logs
•  But: no shuffle, i.e. no
grouping/joining events
•  Solution: use Spark
Version 2 (with Logcat)
Bash
Logcat
Spark
Spark-Shell
Databricks
Data analysis evolutionary path
Solution progression
•  Can download large amounts,
do shuffle and perform data
analysis
•  But: package code into jar,
submit jar to the cluster, not
really interactive
•  Solution: spark-shell to the
rescue
Version 3 (with Spark)
Bash
Logcat
Spark
Spark-Shell
Databricks
Data analysis evolutionary path
Solution progression
•  Can download large amounts,
do shuffle and perform data
analysis interactively
•  But: need to provision clusters,
cannot do any statistical
processing, cannot visualize
results without moving data
(again)
•  Solution: some ideas, but then
saw Databricks demo at Spark
Summit 2014
Version 4 (with spark-shell)
Bash
Logcat
Spark
Spark-Shell
Databricks
Data analysis evolutionary path
Solution progression
•  Can download large amounts,
do shuffle and perform data
analysis interactively, visualize
results and perform statistical
processing
•  We can focus on drilling down
into the raw events, quickly
verify hypotheses and visualize
results, all of which would be
very difficult if not impossible
one year ago.
Version 5 (Databricks)
•  Complex setup and configuration required
•  Requires effort and experience
•  Analyses not reproducible and repeatable
•  No collaboration
•  Moving data between different stages in troubleshooting/analysis lifecycle
•  For example: Scala for aggregations, R for statistics and visualization
•  Heterogeneity of the various components (Spark in production, something
else for exploratory data analysis)
•  Analytics team (3-5 people) bottleneck
Main pain points from the past
•  Reduced the load on the analytics engineering team by expanding
access to the number of people able to work with the data directly by
a factor of four.
•  Before: Engineers, Analytics team (5 people)
•  Today: Engineers, Analysts, Ad ops, Support team, QA, Product (35 people, 20 active)
•  Increased the amount of ad-hoc analysis done six-fold, leading to
better informed product design and quicker issue detection and
resolution.
•  Increased collaboration and improved reproducibility and
repeatability of analyses.
Scaling Big Data Analysis Projects Six-Fold
Demo
Event data
+ + +
+
Operational
data
Databricks TableauBusiness
intelligence
Job/analysis
results
Access logsAggregated
analytics data
SumoLogic
BambooHR CircleCI
+
CloudWatch DynamoDB MongoDB Snowflake
Q&A
Appendix
•  Notebook sharing
•  public/ and private/ folders within each user’s home directory
•  Database default, tables called u_<username>_*	
  
•  problems with per-user databases (only works with Hive tables)
•  Always prefer Spot instances for ad-hoc clusters	
  
•  Name the cluster <username>, <username>2, <username>3, etc.
•  Prefer DBFS mounts over s3a:// URLs to get the benefits of Tachyon
Tips for using Databricks
•  If you want to preserve state, save it to a table (by e.g. CREATE	
  TABLE	
  
AS	
  SELECT	
  ...	
  FROM	
  ...) or to Parquet files on S3
•  Another option is to downscale the cluster to 1 node (all variables,
temporary tables etc. will be retained).
•  Prefer using Jobs for longer/larger tasks
•  Avoid high cardinality joins in Tableau, instead join the data in Spark/
Databricks
Tips for using Databricks
Ad

More Related Content

What's hot (19)

Agile Data Warehousing: Using SDDM to Build a Virtualized ODS
Agile Data Warehousing: Using SDDM to Build a Virtualized ODSAgile Data Warehousing: Using SDDM to Build a Virtualized ODS
Agile Data Warehousing: Using SDDM to Build a Virtualized ODS
Kent Graziano
 
Snowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD PipelinesSnowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD Pipelines
Drew Hansen
 
Smartsheet’s Transition to Snowflake and Databricks: The Why and Immediate Im...
Smartsheet’s Transition to Snowflake and Databricks: The Why and Immediate Im...Smartsheet’s Transition to Snowflake and Databricks: The Why and Immediate Im...
Smartsheet’s Transition to Snowflake and Databricks: The Why and Immediate Im...
Databricks
 
AWS User Group: Building Cloud Analytics Solution with AWS
AWS User Group: Building Cloud Analytics Solution with AWSAWS User Group: Building Cloud Analytics Solution with AWS
AWS User Group: Building Cloud Analytics Solution with AWS
Dmitry Anoshin
 
HOW TO SAVE PILEs of $$$ BY CREATING THE BEST DATA MODEL THE FIRST TIME (Ksc...
HOW TO SAVE  PILEs of $$$BY CREATING THE BEST DATA MODEL THE FIRST TIME (Ksc...HOW TO SAVE  PILEs of $$$BY CREATING THE BEST DATA MODEL THE FIRST TIME (Ksc...
HOW TO SAVE PILEs of $$$ BY CREATING THE BEST DATA MODEL THE FIRST TIME (Ksc...
Kent Graziano
 
Building Modern Data Platform with Microsoft Azure
Building Modern Data Platform with Microsoft AzureBuilding Modern Data Platform with Microsoft Azure
Building Modern Data Platform with Microsoft Azure
Dmitry Anoshin
 
Data modeling trends for analytics
Data modeling trends for analyticsData modeling trends for analytics
Data modeling trends for analytics
Ike Ellis
 
Data warehouse con azure synapse analytics
Data warehouse con azure synapse analyticsData warehouse con azure synapse analytics
Data warehouse con azure synapse analytics
Eduardo Castro
 
Demystifying Data Warehousing as a Service (GLOC 2019)
Demystifying Data Warehousing as a Service (GLOC 2019)Demystifying Data Warehousing as a Service (GLOC 2019)
Demystifying Data Warehousing as a Service (GLOC 2019)
Kent Graziano
 
Changing the game with cloud dw
Changing the game with cloud dwChanging the game with cloud dw
Changing the game with cloud dw
elephantscale
 
New! Real-Time Data Replication to Snowflake
New! Real-Time Data Replication to SnowflakeNew! Real-Time Data Replication to Snowflake
New! Real-Time Data Replication to Snowflake
Precisely
 
Data Vault Automation at the Bijenkorf
Data Vault Automation at the BijenkorfData Vault Automation at the Bijenkorf
Data Vault Automation at the Bijenkorf
Rob Winters
 
Does it only have to be ML + AI?
Does it only have to be ML + AI?Does it only have to be ML + AI?
Does it only have to be ML + AI?
Harald Erb
 
Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)
James Serra
 
Azure Data Factory V2; The Data Flows
Azure Data Factory V2; The Data FlowsAzure Data Factory V2; The Data Flows
Azure Data Factory V2; The Data Flows
Thomas Sykes
 
Agile Methods and Data Warehousing (2016 update)
Agile Methods and Data Warehousing (2016 update)Agile Methods and Data Warehousing (2016 update)
Agile Methods and Data Warehousing (2016 update)
Kent Graziano
 
A lap around Azure Data Factory
A lap around Azure Data FactoryA lap around Azure Data Factory
A lap around Azure Data Factory
BizTalk360
 
Zero to Snowflake Presentation
Zero to Snowflake Presentation Zero to Snowflake Presentation
Zero to Snowflake Presentation
Brett VanderPlaats
 
Introduction SQL Analytics on Lakehouse Architecture
Introduction SQL Analytics on Lakehouse ArchitectureIntroduction SQL Analytics on Lakehouse Architecture
Introduction SQL Analytics on Lakehouse Architecture
Databricks
 
Agile Data Warehousing: Using SDDM to Build a Virtualized ODS
Agile Data Warehousing: Using SDDM to Build a Virtualized ODSAgile Data Warehousing: Using SDDM to Build a Virtualized ODS
Agile Data Warehousing: Using SDDM to Build a Virtualized ODS
Kent Graziano
 
Snowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD PipelinesSnowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD Pipelines
Drew Hansen
 
Smartsheet’s Transition to Snowflake and Databricks: The Why and Immediate Im...
Smartsheet’s Transition to Snowflake and Databricks: The Why and Immediate Im...Smartsheet’s Transition to Snowflake and Databricks: The Why and Immediate Im...
Smartsheet’s Transition to Snowflake and Databricks: The Why and Immediate Im...
Databricks
 
AWS User Group: Building Cloud Analytics Solution with AWS
AWS User Group: Building Cloud Analytics Solution with AWSAWS User Group: Building Cloud Analytics Solution with AWS
AWS User Group: Building Cloud Analytics Solution with AWS
Dmitry Anoshin
 
HOW TO SAVE PILEs of $$$ BY CREATING THE BEST DATA MODEL THE FIRST TIME (Ksc...
HOW TO SAVE  PILEs of $$$BY CREATING THE BEST DATA MODEL THE FIRST TIME (Ksc...HOW TO SAVE  PILEs of $$$BY CREATING THE BEST DATA MODEL THE FIRST TIME (Ksc...
HOW TO SAVE PILEs of $$$ BY CREATING THE BEST DATA MODEL THE FIRST TIME (Ksc...
Kent Graziano
 
Building Modern Data Platform with Microsoft Azure
Building Modern Data Platform with Microsoft AzureBuilding Modern Data Platform with Microsoft Azure
Building Modern Data Platform with Microsoft Azure
Dmitry Anoshin
 
Data modeling trends for analytics
Data modeling trends for analyticsData modeling trends for analytics
Data modeling trends for analytics
Ike Ellis
 
Data warehouse con azure synapse analytics
Data warehouse con azure synapse analyticsData warehouse con azure synapse analytics
Data warehouse con azure synapse analytics
Eduardo Castro
 
Demystifying Data Warehousing as a Service (GLOC 2019)
Demystifying Data Warehousing as a Service (GLOC 2019)Demystifying Data Warehousing as a Service (GLOC 2019)
Demystifying Data Warehousing as a Service (GLOC 2019)
Kent Graziano
 
Changing the game with cloud dw
Changing the game with cloud dwChanging the game with cloud dw
Changing the game with cloud dw
elephantscale
 
New! Real-Time Data Replication to Snowflake
New! Real-Time Data Replication to SnowflakeNew! Real-Time Data Replication to Snowflake
New! Real-Time Data Replication to Snowflake
Precisely
 
Data Vault Automation at the Bijenkorf
Data Vault Automation at the BijenkorfData Vault Automation at the Bijenkorf
Data Vault Automation at the Bijenkorf
Rob Winters
 
Does it only have to be ML + AI?
Does it only have to be ML + AI?Does it only have to be ML + AI?
Does it only have to be ML + AI?
Harald Erb
 
Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)
James Serra
 
Azure Data Factory V2; The Data Flows
Azure Data Factory V2; The Data FlowsAzure Data Factory V2; The Data Flows
Azure Data Factory V2; The Data Flows
Thomas Sykes
 
Agile Methods and Data Warehousing (2016 update)
Agile Methods and Data Warehousing (2016 update)Agile Methods and Data Warehousing (2016 update)
Agile Methods and Data Warehousing (2016 update)
Kent Graziano
 
A lap around Azure Data Factory
A lap around Azure Data FactoryA lap around Azure Data Factory
A lap around Azure Data Factory
BizTalk360
 
Zero to Snowflake Presentation
Zero to Snowflake Presentation Zero to Snowflake Presentation
Zero to Snowflake Presentation
Brett VanderPlaats
 
Introduction SQL Analytics on Lakehouse Architecture
Introduction SQL Analytics on Lakehouse ArchitectureIntroduction SQL Analytics on Lakehouse Architecture
Introduction SQL Analytics on Lakehouse Architecture
Databricks
 

Similar to How Celtra Optimizes its Advertising Platform with Databricks (20)

Power to the People: A Stack to Empower Every User to Make Data-Driven Decisions
Power to the People: A Stack to Empower Every User to Make Data-Driven DecisionsPower to the People: A Stack to Empower Every User to Make Data-Driven Decisions
Power to the People: A Stack to Empower Every User to Make Data-Driven Decisions
Looker
 
Bridging the Gap: Analyzing Data in and Below the Cloud
Bridging the Gap: Analyzing Data in and Below the CloudBridging the Gap: Analyzing Data in and Below the Cloud
Bridging the Gap: Analyzing Data in and Below the Cloud
Inside Analysis
 
Agile data science
Agile data scienceAgile data science
Agile data science
Joel Horwitz
 
Big Data Analytics with Microsoft
Big Data Analytics with MicrosoftBig Data Analytics with Microsoft
Big Data Analytics with Microsoft
Caserta
 
Neo4j GraphDay Seattle- Sept19- Connected data imperative
Neo4j GraphDay Seattle- Sept19- Connected data imperativeNeo4j GraphDay Seattle- Sept19- Connected data imperative
Neo4j GraphDay Seattle- Sept19- Connected data imperative
Neo4j
 
Big Data at a Gaming Company: Spil Games
Big Data at a Gaming Company: Spil GamesBig Data at a Gaming Company: Spil Games
Big Data at a Gaming Company: Spil Games
Rob Winters
 
Tableau Drive, A new methodology for scaling your analytic culture
Tableau Drive, A new methodology for scaling your analytic cultureTableau Drive, A new methodology for scaling your analytic culture
Tableau Drive, A new methodology for scaling your analytic culture
Tableau Software
 
SPSChicagoBurbs 2019 - What is CDM and CDS?
SPSChicagoBurbs 2019 - What is CDM and CDS?SPSChicagoBurbs 2019 - What is CDM and CDS?
SPSChicagoBurbs 2019 - What is CDM and CDS?
Nicolas Georgeault
 
Before vs After: Redesigning a Website to be Useful and Informative for Devel...
Before vs After: Redesigning a Website to be Useful and Informative for Devel...Before vs After: Redesigning a Website to be Useful and Informative for Devel...
Before vs After: Redesigning a Website to be Useful and Informative for Devel...
Teresa Giacomini
 
Self-Service Analytics with Guard Rails
Self-Service Analytics with Guard RailsSelf-Service Analytics with Guard Rails
Self-Service Analytics with Guard Rails
Denodo
 
Top Business Intelligence Trends for 2016 by Panorama Software
Top Business Intelligence Trends for 2016 by Panorama SoftwareTop Business Intelligence Trends for 2016 by Panorama Software
Top Business Intelligence Trends for 2016 by Panorama Software
Panorama Software
 
Company Profile - NPC with TIBCO Spotfire solution
Company Profile - NPC with TIBCO Spotfire solution  Company Profile - NPC with TIBCO Spotfire solution
Company Profile - NPC with TIBCO Spotfire solution
Sirinporn Setworaya
 
Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31
Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31
Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31
TechSoup
 
2022 Trends in Enterprise Analytics
2022 Trends in Enterprise Analytics2022 Trends in Enterprise Analytics
2022 Trends in Enterprise Analytics
DATAVERSITY
 
Logitech - LOGITECH ACCELERATES CLOUD ANALYTICS USING DATA VIRTUALIZATION
Logitech - LOGITECH ACCELERATES CLOUD ANALYTICS USING DATA VIRTUALIZATIONLogitech - LOGITECH ACCELERATES CLOUD ANALYTICS USING DATA VIRTUALIZATION
Logitech - LOGITECH ACCELERATES CLOUD ANALYTICS USING DATA VIRTUALIZATION
Avinash Deshpande
 
Jan 2017 Investment Recommendation for Tableau
Jan 2017 Investment Recommendation for TableauJan 2017 Investment Recommendation for Tableau
Jan 2017 Investment Recommendation for Tableau
paulchenuva
 
resume4
resume4resume4
resume4
James Black
 
OC Big Data Monthly Meetup #6 - Session 1 - IBM
OC Big Data Monthly Meetup #6 - Session 1 - IBMOC Big Data Monthly Meetup #6 - Session 1 - IBM
OC Big Data Monthly Meetup #6 - Session 1 - IBM
Big Data Joe™ Rossi
 
SD Big Data Monthly Meetup #4 - Session 1 - IBM
SD Big Data Monthly Meetup #4 - Session 1 - IBMSD Big Data Monthly Meetup #4 - Session 1 - IBM
SD Big Data Monthly Meetup #4 - Session 1 - IBM
Big Data Joe™ Rossi
 
Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...
Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...
Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...
Memoori
 
Power to the People: A Stack to Empower Every User to Make Data-Driven Decisions
Power to the People: A Stack to Empower Every User to Make Data-Driven DecisionsPower to the People: A Stack to Empower Every User to Make Data-Driven Decisions
Power to the People: A Stack to Empower Every User to Make Data-Driven Decisions
Looker
 
Bridging the Gap: Analyzing Data in and Below the Cloud
Bridging the Gap: Analyzing Data in and Below the CloudBridging the Gap: Analyzing Data in and Below the Cloud
Bridging the Gap: Analyzing Data in and Below the Cloud
Inside Analysis
 
Agile data science
Agile data scienceAgile data science
Agile data science
Joel Horwitz
 
Big Data Analytics with Microsoft
Big Data Analytics with MicrosoftBig Data Analytics with Microsoft
Big Data Analytics with Microsoft
Caserta
 
Neo4j GraphDay Seattle- Sept19- Connected data imperative
Neo4j GraphDay Seattle- Sept19- Connected data imperativeNeo4j GraphDay Seattle- Sept19- Connected data imperative
Neo4j GraphDay Seattle- Sept19- Connected data imperative
Neo4j
 
Big Data at a Gaming Company: Spil Games
Big Data at a Gaming Company: Spil GamesBig Data at a Gaming Company: Spil Games
Big Data at a Gaming Company: Spil Games
Rob Winters
 
Tableau Drive, A new methodology for scaling your analytic culture
Tableau Drive, A new methodology for scaling your analytic cultureTableau Drive, A new methodology for scaling your analytic culture
Tableau Drive, A new methodology for scaling your analytic culture
Tableau Software
 
SPSChicagoBurbs 2019 - What is CDM and CDS?
SPSChicagoBurbs 2019 - What is CDM and CDS?SPSChicagoBurbs 2019 - What is CDM and CDS?
SPSChicagoBurbs 2019 - What is CDM and CDS?
Nicolas Georgeault
 
Before vs After: Redesigning a Website to be Useful and Informative for Devel...
Before vs After: Redesigning a Website to be Useful and Informative for Devel...Before vs After: Redesigning a Website to be Useful and Informative for Devel...
Before vs After: Redesigning a Website to be Useful and Informative for Devel...
Teresa Giacomini
 
Self-Service Analytics with Guard Rails
Self-Service Analytics with Guard RailsSelf-Service Analytics with Guard Rails
Self-Service Analytics with Guard Rails
Denodo
 
Top Business Intelligence Trends for 2016 by Panorama Software
Top Business Intelligence Trends for 2016 by Panorama SoftwareTop Business Intelligence Trends for 2016 by Panorama Software
Top Business Intelligence Trends for 2016 by Panorama Software
Panorama Software
 
Company Profile - NPC with TIBCO Spotfire solution
Company Profile - NPC with TIBCO Spotfire solution  Company Profile - NPC with TIBCO Spotfire solution
Company Profile - NPC with TIBCO Spotfire solution
Sirinporn Setworaya
 
Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31
Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31
Webinar: 5 Clear Steps to Get Your Nonprofit Cloud Ready - 2018-5-31
TechSoup
 
2022 Trends in Enterprise Analytics
2022 Trends in Enterprise Analytics2022 Trends in Enterprise Analytics
2022 Trends in Enterprise Analytics
DATAVERSITY
 
Logitech - LOGITECH ACCELERATES CLOUD ANALYTICS USING DATA VIRTUALIZATION
Logitech - LOGITECH ACCELERATES CLOUD ANALYTICS USING DATA VIRTUALIZATIONLogitech - LOGITECH ACCELERATES CLOUD ANALYTICS USING DATA VIRTUALIZATION
Logitech - LOGITECH ACCELERATES CLOUD ANALYTICS USING DATA VIRTUALIZATION
Avinash Deshpande
 
Jan 2017 Investment Recommendation for Tableau
Jan 2017 Investment Recommendation for TableauJan 2017 Investment Recommendation for Tableau
Jan 2017 Investment Recommendation for Tableau
paulchenuva
 
OC Big Data Monthly Meetup #6 - Session 1 - IBM
OC Big Data Monthly Meetup #6 - Session 1 - IBMOC Big Data Monthly Meetup #6 - Session 1 - IBM
OC Big Data Monthly Meetup #6 - Session 1 - IBM
Big Data Joe™ Rossi
 
SD Big Data Monthly Meetup #4 - Session 1 - IBM
SD Big Data Monthly Meetup #4 - Session 1 - IBMSD Big Data Monthly Meetup #4 - Session 1 - IBM
SD Big Data Monthly Meetup #4 - Session 1 - IBM
Big Data Joe™ Rossi
 
Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...
Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...
Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...
Memoori
 
Ad

Recently uploaded (20)

Introcomputerscienceand datascience.pptx
Introcomputerscienceand datascience.pptxIntrocomputerscienceand datascience.pptx
Introcomputerscienceand datascience.pptx
abdulrehmanbscsf22
 
computer organization and assembly language.docx
computer organization and assembly language.docxcomputer organization and assembly language.docx
computer organization and assembly language.docx
alisoftwareengineer1
 
How iCode cybertech Helped Me Recover My Lost Funds
How iCode cybertech Helped Me Recover My Lost FundsHow iCode cybertech Helped Me Recover My Lost Funds
How iCode cybertech Helped Me Recover My Lost Funds
ireneschmid345
 
i_o updated.pptx 6=₹cnjxifj,lsbd ধ and vjcjcdbgjfu n smn u cut the lb, it ও o...
i_o updated.pptx 6=₹cnjxifj,lsbd ধ and vjcjcdbgjfu n smn u cut the lb, it ও o...i_o updated.pptx 6=₹cnjxifj,lsbd ধ and vjcjcdbgjfu n smn u cut the lb, it ও o...
i_o updated.pptx 6=₹cnjxifj,lsbd ধ and vjcjcdbgjfu n smn u cut the lb, it ও o...
ggg032019
 
Geometry maths presentation for begginers
Geometry maths presentation for begginersGeometry maths presentation for begginers
Geometry maths presentation for begginers
zrjacob283
 
Defense Against LLM Scheming 2025_04_28.pptx
Defense Against LLM Scheming 2025_04_28.pptxDefense Against LLM Scheming 2025_04_28.pptx
Defense Against LLM Scheming 2025_04_28.pptx
Greg Makowski
 
History of Science and Technologyandits source.pptx
History of Science and Technologyandits source.pptxHistory of Science and Technologyandits source.pptx
History of Science and Technologyandits source.pptx
balongcastrojo
 
AllContacts Vs AllSubscribers - SFMC.pptx
AllContacts Vs AllSubscribers - SFMC.pptxAllContacts Vs AllSubscribers - SFMC.pptx
AllContacts Vs AllSubscribers - SFMC.pptx
bpkr84
 
CTS EXCEPTIONSPrediction of Aluminium wire rod physical properties through AI...
CTS EXCEPTIONSPrediction of Aluminium wire rod physical properties through AI...CTS EXCEPTIONSPrediction of Aluminium wire rod physical properties through AI...
CTS EXCEPTIONSPrediction of Aluminium wire rod physical properties through AI...
ThanushsaranS
 
brainstorming-techniques-infographics.pptx
brainstorming-techniques-infographics.pptxbrainstorming-techniques-infographics.pptx
brainstorming-techniques-infographics.pptx
maritzacastro321
 
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptxmd-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
fatimalazaar2004
 
Flip flop presenation-Presented By Mubahir khan.pptx
Flip flop presenation-Presented By Mubahir khan.pptxFlip flop presenation-Presented By Mubahir khan.pptx
Flip flop presenation-Presented By Mubahir khan.pptx
mubashirkhan45461
 
presentation of first program exist.pptx
presentation of first program exist.pptxpresentation of first program exist.pptx
presentation of first program exist.pptx
MajidAzeemChohan
 
03 Daniel 2-notes.ppt seminario escatologia
03 Daniel 2-notes.ppt seminario escatologia03 Daniel 2-notes.ppt seminario escatologia
03 Daniel 2-notes.ppt seminario escatologia
Alexander Romero Arosquipa
 
shit yudh slideshare power likha point presen
shit yudh slideshare power likha point presenshit yudh slideshare power likha point presen
shit yudh slideshare power likha point presen
vishalgurjar11229
 
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjks
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjksPpt. Nikhil.pptxnshwuudgcudisisshvehsjks
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjks
panchariyasahil
 
Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...
Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...
Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...
gmuir1066
 
AI Competitor Analysis: How to Monitor and Outperform Your Competitors
AI Competitor Analysis: How to Monitor and Outperform Your CompetitorsAI Competitor Analysis: How to Monitor and Outperform Your Competitors
AI Competitor Analysis: How to Monitor and Outperform Your Competitors
Contify
 
Minions Want to eat presentacion muy linda
Minions Want to eat presentacion muy lindaMinions Want to eat presentacion muy linda
Minions Want to eat presentacion muy linda
CarlaAndradesSoler1
 
Digilocker under workingProcess Flow.pptx
Digilocker  under workingProcess Flow.pptxDigilocker  under workingProcess Flow.pptx
Digilocker under workingProcess Flow.pptx
satnamsadguru491
 
Introcomputerscienceand datascience.pptx
Introcomputerscienceand datascience.pptxIntrocomputerscienceand datascience.pptx
Introcomputerscienceand datascience.pptx
abdulrehmanbscsf22
 
computer organization and assembly language.docx
computer organization and assembly language.docxcomputer organization and assembly language.docx
computer organization and assembly language.docx
alisoftwareengineer1
 
How iCode cybertech Helped Me Recover My Lost Funds
How iCode cybertech Helped Me Recover My Lost FundsHow iCode cybertech Helped Me Recover My Lost Funds
How iCode cybertech Helped Me Recover My Lost Funds
ireneschmid345
 
i_o updated.pptx 6=₹cnjxifj,lsbd ধ and vjcjcdbgjfu n smn u cut the lb, it ও o...
i_o updated.pptx 6=₹cnjxifj,lsbd ধ and vjcjcdbgjfu n smn u cut the lb, it ও o...i_o updated.pptx 6=₹cnjxifj,lsbd ধ and vjcjcdbgjfu n smn u cut the lb, it ও o...
i_o updated.pptx 6=₹cnjxifj,lsbd ধ and vjcjcdbgjfu n smn u cut the lb, it ও o...
ggg032019
 
Geometry maths presentation for begginers
Geometry maths presentation for begginersGeometry maths presentation for begginers
Geometry maths presentation for begginers
zrjacob283
 
Defense Against LLM Scheming 2025_04_28.pptx
Defense Against LLM Scheming 2025_04_28.pptxDefense Against LLM Scheming 2025_04_28.pptx
Defense Against LLM Scheming 2025_04_28.pptx
Greg Makowski
 
History of Science and Technologyandits source.pptx
History of Science and Technologyandits source.pptxHistory of Science and Technologyandits source.pptx
History of Science and Technologyandits source.pptx
balongcastrojo
 
AllContacts Vs AllSubscribers - SFMC.pptx
AllContacts Vs AllSubscribers - SFMC.pptxAllContacts Vs AllSubscribers - SFMC.pptx
AllContacts Vs AllSubscribers - SFMC.pptx
bpkr84
 
CTS EXCEPTIONSPrediction of Aluminium wire rod physical properties through AI...
CTS EXCEPTIONSPrediction of Aluminium wire rod physical properties through AI...CTS EXCEPTIONSPrediction of Aluminium wire rod physical properties through AI...
CTS EXCEPTIONSPrediction of Aluminium wire rod physical properties through AI...
ThanushsaranS
 
brainstorming-techniques-infographics.pptx
brainstorming-techniques-infographics.pptxbrainstorming-techniques-infographics.pptx
brainstorming-techniques-infographics.pptx
maritzacastro321
 
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptxmd-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
md-presentHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHation.pptx
fatimalazaar2004
 
Flip flop presenation-Presented By Mubahir khan.pptx
Flip flop presenation-Presented By Mubahir khan.pptxFlip flop presenation-Presented By Mubahir khan.pptx
Flip flop presenation-Presented By Mubahir khan.pptx
mubashirkhan45461
 
presentation of first program exist.pptx
presentation of first program exist.pptxpresentation of first program exist.pptx
presentation of first program exist.pptx
MajidAzeemChohan
 
shit yudh slideshare power likha point presen
shit yudh slideshare power likha point presenshit yudh slideshare power likha point presen
shit yudh slideshare power likha point presen
vishalgurjar11229
 
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjks
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjksPpt. Nikhil.pptxnshwuudgcudisisshvehsjks
Ppt. Nikhil.pptxnshwuudgcudisisshvehsjks
panchariyasahil
 
Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...
Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...
Adobe Analytics NOAM Central User Group April 2025 Agent AI: Uncovering the S...
gmuir1066
 
AI Competitor Analysis: How to Monitor and Outperform Your Competitors
AI Competitor Analysis: How to Monitor and Outperform Your CompetitorsAI Competitor Analysis: How to Monitor and Outperform Your Competitors
AI Competitor Analysis: How to Monitor and Outperform Your Competitors
Contify
 
Minions Want to eat presentacion muy linda
Minions Want to eat presentacion muy lindaMinions Want to eat presentacion muy linda
Minions Want to eat presentacion muy linda
CarlaAndradesSoler1
 
Digilocker under workingProcess Flow.pptx
Digilocker  under workingProcess Flow.pptxDigilocker  under workingProcess Flow.pptx
Digilocker under workingProcess Flow.pptx
satnamsadguru491
 
Ad

How Celtra Optimizes its Advertising Platform with Databricks

  • 2. Grega Kešpret, Director of Engineering, Analytics – Celtra Denny Lee, Technology Evangelist – Databricks December 9th, 2015 How Celtra Optimizes its Advertising Platform with Databricks
  • 3. About Me: Grega Kešpret Grega Kešpret is the Director of Engineering for Analytics. He works at Celtra since 2012, where he helped build analytics pipeline and optimization systems. Grega also leads the team of engineers and data scientists at San Francisco and Ljubljana, working on their analytics platform. Prior to Celtra, Grega worked at IBM, helping enterprise customers adopt WebSphere Application Server and before that did a 8- month internship at SANYO (Panasonic) in Japan, working on battery systems. His current technical interests include databases, distributed systems, functional programming and machine learning.
  • 4. About Me: Denny Lee Denny is a Technology Evangelist with Databricks; he is a hands-on data sciences engineer with more than 15 years of experience developing internet-scale infrastructure, data platforms, and distributed systems for both on-premises and cloud. His key focuses surround solving complex large scale data problems – providing not only architectural direction but the hands-on implementation of these systems. He has extensive experience in building greenfield teams as well as turn around / change catalyst. Prior to joining Databricks, Denny worked as a Senior Director of Data Sciences Engineering at Concur and was part of the incubation team that built Hadoop on Windows and Azure (currently known as HDInsight).
  • 6. •  About Celtra & AdCreator •  Event Data •  AdTech Problems (Sessionization, Funnel Analytics) •  Databricks Use Cases •  Data Analysis Evolutionary Path •  Main pain points from the past •  Demo •  Q&A Agenda
  • 7. Motivation The analytics platform at Celtra has experienced tremendous growth over the past few years in terms of size, complexity, number of users, and variety of use cases. Business Data Volume Data Complexity
  • 8. Leading creative technology company for data-driven brand display and video advertising across mobile, tablets and desktop Powering the creative side of advertising campaigns SaaS platform to allow clients easily create, manage, and traffic data- driven dynamic ads, optimize them on the go, and track their performance with insightful analytics Celtra AdCreator About Celtra & AdCreator
  • 9. Trusted by +5000 brands and agencies.
  • 10. Unparalleled Distribution Options Reach across endless list of large publishers and media owners, DSP’s and ad networks. Certified and partnered with the top 25 global Ad Networks and over 50 premium publishers AdCreator is the most widely used creative, analytics and optimization technology for display and video advertising
  • 11. •  Bread and butter of our analytics data •  Facts about what happened •  creative X was served on placement Y at time Z •  user A interacted with creative X at time Q •  Automatically tracked •  Behavioral data from users •  ~2 billion events per day •  1 TB new data per day (uncompressed) •  Very sparse •  Complex relationships between events Event data
  • 12. •  Combining discrete events into sessions •  In first version, we used to compute simple counts of events •  But, no “holistic” view over the whole session: •  Very hard to troubleshoot/debug •  Cannot check for/enforce causality (if X happened, Y must also have happened) •  Duplication leading to skewed rates (e.g. one user interacting) •  Later events make you understand earlier arriving events better (e.g. session duration, attribution, identity, etc.) Sessionization
  • 13. Why Spark for Event Analytics One of the first companies to use Spark in production (v0.5) Sessionization Nice API Expressive computation layer Speed of innovation Seamless integration with S3 Aggregated Analytics data Event data + Operational data Trackers
  • 15. •  Multi-step process •  Enabled by sessionization •  Originally developed in the context of e-commerce sites •  Ad was requested, then served, then shown, then interacted with, then the user expanded the ad, then watched a video, … •  Not just whether X happened; but whether A, B and X happened Funnel Analytics XA B
  • 18. Consider the following sample questions: •  When do users engage with creatives? •  Do different groups of users behave differently? •  Why is a certain rate low or high? •  What is the adoption of recently rolled out feature? •  Does it correlate with engagement? •  What features are important when detect environment we run in? In a traditional data warehouse, you’d figure out all the needed reports/questions in advance, design the schema and that’s it. Questions & Answers
  • 20. 1. Ad-hoc queries for campaigns •  Databricks allows us to easily run our increasingly complex ad-hoc queries 2. Exploratory data analysis •  Derive value from data as soon as possible 3. Troubleshooting •  The bar for reliability and correctness is very high •  Why something broke? Why is certain rate low/high? •  Quickly identify the root cause of production failures and minimize system downtime Use cases
  • 21. 4. Compliance jobs •  Regularly scheduled jobs that make various checks for compliance purposes (e.g. non-human traffic) 5. Supporting product decisions with data •  Some of this is not “Big Data”, but visualizations, precomputing different views, etc. •  Example: pricing model analysis •  Connecting to Databricks with Tableau 6. Predictive analytics •  Example: dynamically detect environment in which our tags run (in-app, mobile web) Use cases
  • 22. •  Need flexibility, not provided by precomputed aggregates (uniques, order statistics, etc.) •  Answers to questions that existing data model does not support (Demo) •  Short development cycles and faster experimentation •  Complex ecosystem + Wide creative capabilities = Diverse data •  Data focused on the engagements of consumers with our clients’ ads •  Constantly exploring new ways to leverage this information to improve our offering •  Visualizations •  Important aspect of big data mining •  In 9 out of 10 notebooks, there is at least one visualization Exploratory data analysis
  • 23. Complex ecosystem / environment •  Support all major mobile platforms (IOS, Android, Windows Phone) and desktop •  Work on mobile web & in-app •  Device fragmentation, browser specifics
  • 24. •  Errors will happen Error in log parsing Wrong tags being trafficked Custom (wrong) code being executed Internal service call failures •  When stuff doesn’t work, we need to be able to dig into the data easily and quickly •  To understand the problem, we need to check: ELB logs, event logs, operational data, creative structure, machine logs Troubleshooting Resulting in Bad user experience Wrong insights (wrong metrics)
  • 25. Data analysis evolutionary path Solution progression Bash Logcat Spark Spark-Shell Databricks •  Downloading event logs from S3 on a single machine, “grepping”, doing simple counts in bash. Using R or Python for analysis. •  But: Slow download (single core, one machine) •  Solution: Written Logcat – Scala, multi-threaded downloading from S3, scale horizontally Version 1 (with Bash)
  • 26. Bash Logcat Spark Spark-Shell Databricks Data analysis evolutionary path Solution progression •  Can download large amount of logs •  But: no shuffle, i.e. no grouping/joining events •  Solution: use Spark Version 2 (with Logcat)
  • 27. Bash Logcat Spark Spark-Shell Databricks Data analysis evolutionary path Solution progression •  Can download large amounts, do shuffle and perform data analysis •  But: package code into jar, submit jar to the cluster, not really interactive •  Solution: spark-shell to the rescue Version 3 (with Spark)
  • 28. Bash Logcat Spark Spark-Shell Databricks Data analysis evolutionary path Solution progression •  Can download large amounts, do shuffle and perform data analysis interactively •  But: need to provision clusters, cannot do any statistical processing, cannot visualize results without moving data (again) •  Solution: some ideas, but then saw Databricks demo at Spark Summit 2014 Version 4 (with spark-shell)
  • 29. Bash Logcat Spark Spark-Shell Databricks Data analysis evolutionary path Solution progression •  Can download large amounts, do shuffle and perform data analysis interactively, visualize results and perform statistical processing •  We can focus on drilling down into the raw events, quickly verify hypotheses and visualize results, all of which would be very difficult if not impossible one year ago. Version 5 (Databricks)
  • 30. •  Complex setup and configuration required •  Requires effort and experience •  Analyses not reproducible and repeatable •  No collaboration •  Moving data between different stages in troubleshooting/analysis lifecycle •  For example: Scala for aggregations, R for statistics and visualization •  Heterogeneity of the various components (Spark in production, something else for exploratory data analysis) •  Analytics team (3-5 people) bottleneck Main pain points from the past
  • 31. •  Reduced the load on the analytics engineering team by expanding access to the number of people able to work with the data directly by a factor of four. •  Before: Engineers, Analytics team (5 people) •  Today: Engineers, Analysts, Ad ops, Support team, QA, Product (35 people, 20 active) •  Increased the amount of ad-hoc analysis done six-fold, leading to better informed product design and quicker issue detection and resolution. •  Increased collaboration and improved reproducibility and repeatability of analyses. Scaling Big Data Analysis Projects Six-Fold
  • 32. Demo Event data + + + + Operational data Databricks TableauBusiness intelligence Job/analysis results Access logsAggregated analytics data SumoLogic BambooHR CircleCI + CloudWatch DynamoDB MongoDB Snowflake
  • 33. Q&A
  • 35. •  Notebook sharing •  public/ and private/ folders within each user’s home directory •  Database default, tables called u_<username>_*   •  problems with per-user databases (only works with Hive tables) •  Always prefer Spot instances for ad-hoc clusters   •  Name the cluster <username>, <username>2, <username>3, etc. •  Prefer DBFS mounts over s3a:// URLs to get the benefits of Tachyon Tips for using Databricks
  • 36. •  If you want to preserve state, save it to a table (by e.g. CREATE  TABLE   AS  SELECT  ...  FROM  ...) or to Parquet files on S3 •  Another option is to downscale the cluster to 1 node (all variables, temporary tables etc. will be retained). •  Prefer using Jobs for longer/larger tasks •  Avoid high cardinality joins in Tableau, instead join the data in Spark/ Databricks Tips for using Databricks