SlideShare a Scribd company logo
Open-Source RTB for Everyone
Developing Real Time
Bidding Solutions with
© Datacratic Inc. 2014 All Rights Reserved.
Overview
● The Project
● The Problems With RTB
o System
o Selection
o Value
● RTB Competitive
Landscape
● How RTBkit Addresses
the Problems with RTB
● Demo
© Datacratic Inc. 2014 All Rights Reserved.
A Little Bit About
A Little History
● Created by machine-learning and digital
marketing company Datacratic
● Code base evolved from running RTB in
production from 2011-2013
● Open sourced in Feb. 2013, with ongoing
support from Datacratic
● Apache-style governance started Jan. 2014
© Datacratic Inc. 2014 All Rights Reserved.
Participation and Governance
Participation and Governance
● Apache-style governance
o BDNFL - Benevolent
Dictator Not for Life
o Councillors
o Committers
● Outside contributions welcome
● Github pull request workflow --
committers review and merge
● Contributor guidelines
● Users can become
Contributors
● Contributors can become
Committers -- currently two
outside Committers
© Datacratic Inc. 2014 All Rights Reserved.
Support, Community, Adoption
Support and Community
● Free support from the
community and Datacratic
● 230 active developers
● 35 committers, 11 outside of
Datacratic
● Users in 25+ countries
● ~15 installations in prod: N.
America, Germany, France,
Russia, Argentina, China
● Datacratic supports
development, code review,
governance and evolution
● Participation and contributions
from Rubicon Project
© Datacratic Inc. 2014 All Rights Reserved.
Development Support
Development Support
● Getting Started Guide
● Developer Tutorials
● Working integration test system
o mock Exchange and Ad Server
o fixed-price Bidding Agent
● Example Code
● Documentation
● Ubuntu AMI
● Google Group support
● Pull request review and support
© Datacratic Inc. 2014 All Rights Reserved.
The Problems With RTB
SYSTEM VALUESELECTION
Provided by RTBkit Customized by User
General/Technical Specific/Business
© Datacratic Inc. 2014 All Rights Reserved.
Solves the RTB System Problem
SYSTEM SELECTION VALUE
Scale
Speed
Distribution
Reliability
General/Technical Specific/Business
Provided by RTBkit Customized by User
© Datacratic Inc. 2014 All Rights Reserved.
Addresses the RTB Selection Problem
SYSTEM SELECTION VALUE
Scale
Speed
Show user an ad?
What ad?
Distribution
Reliability
Provided by RTBkit Customized by User
General/Technical Specific/Business
© Datacratic Inc. 2014 All Rights Reserved.
Addresses the RTB Value Problem
SYSTEM SELECTION VALUE
Scale
Speed
Distribution
Show user an ad?
What ad?
What is it worth?
What should I pay?Reliability
General/Technical Specific/Business
Provided by RTBkit Customized by User
© Datacratic Inc. 2014 All Rights Reserved.
RTB Technology Landscape
System Pros Cons Degree of
Difficulty
Exchange /
DSP UI
Easy to get started ● Manual, hard to scale
● Lack of control over bidding
strategy and data
Low
Intermediate
Hosted
Bidding
● More control over bidding
strategy and use of data
● Don't have to do Ops
Strategy and use of data mediated by
vendor and product features
Medium
Roll Your Own
Bidder
Full control of all aspects of the
system
Solely responsible for everything Hardest
● Benefit from core problems
being solved
● Benefit from
● community
● Flexible customization
● Full control (optionally) but
requires digging in
● Responsible for ops
Hard
© Datacratic Inc. 2014 All Rights Reserved.
Addresses the System ProblemHow
Architectural Overview
RTBkit Core
● Router
● Banker
● Post Auction Service
● Service Monitor
● Agent Configuration Service
Plugins
● Exchange Connectors
● AdServer Connector
● Bidding Agent
● Augmenter
● Logger
© Datacratic Inc. 2014 All Rights Reserved.
Bidder Core Advantages
● Core working bidder system
● High-performance real-time components
● Multiple data center support
● Reliable global banker
● Guaranteed response time to exchanges
● High-performance parsing, routing, filtering,
logging and monitoring
● Arbitrary use of custom business logic and
your data
© Datacratic Inc. 2014 All Rights Reserved.
Inventory Integration
● Ships with 9 Exchange Connectors
o Rubicon Project
o AdX
o FBX
o AppNexus
o Nexage
o MoPub
o GumGum
o BidSwitch
● OpenRTB 2.1 compatible
© Datacratic Inc. 2014 All Rights Reserved.
Router Responsibilities
Router Responsibilities
● Gets bid requests from Exchange
Connector
● Uses Filters to filter eligible campaigns
● Passes bid requests through Augmenter
● Passes bid requests to Bidding Agents to
generate bid responses
● Communicates with Banker to guarantee no
overspend
● Guarantees timely response
© Datacratic Inc. 2014 All Rights Reserved.
Router Components
RTBkit
Exchange
Connector
Static
Filters
Augmentation
Loop
Dynamic
Filters
Auction
Loop
Slave
Banker
Master
Banker
Bidding
Agents
Augmenter
Post
Auction
Service
Agent
Config
RTBkitRouter
Exchanges
© Datacratic Inc. 2014 All Rights Reserved.
Router Data Flows
RTBkitRouter
Exchanges
Exchange
Connector
Static
Filters
Augmentation
Loop
Dynamic
Filters
Auction
Loop
Slave
Banker
Master
Banker
Bidding
Agents
Augmenter
Post
Auction
Service
Agent
Config
© Datacratic Inc. 2014 All Rights Reserved.
Bid Request Lifecycle
RTBkit
Router
Exchange
Connector
Static
Filters
Dynamic
Filters
Augmenter
Post
Auction
Service
Ad Server
Conversion
Source
Bidding
Agents
Ad Server
Connector
Exchanges
© Datacratic Inc. 2014 All Rights Reserved.
RTBkit Data Flows
Five asynchronous data
flows flow through the
Router:
● Bid request processing
● Banking updates
● Event Matching
● Notifying Bidding Agents
of Events
● Filtering and Bidding
Agent configuration
RTBkitRouter
Exchange
Connector
Static
Filters
Augmentation
Loop
Dynamic
Filters
Auction
Loop
Slave
Banker
Master
Banker
Bidding
Agents
Augmenter
Post
Auction
Service
Agent
Config
Exchanges
© Datacratic Inc. 2014 All Rights Reserved.
Ad Server and Conversion Integration
● Standard HTTP JSON connector for
receiving Wins, Clicks and Conversions
● Passes all events to PAS for matching
● Logs events and matched events
© Datacratic Inc. 2014 All Rights Reserved.
Post Auction Service
● Clearinghouse for matching all bids to Wins,
Clicks and Conversions
● Current bottleneck, can process events in
the hundreds / sec
● Recently improved: sharded hash tables,
one thread per core
● More improvements on the near roadmap
Post
Auction
Service
Router
Bids
Ad Server
Connector
Events
Shadow
Account
Bidding
Agents
Logger
Matched
Events
Matched
Events
Wins and
Inferred Losses
© Datacratic Inc. 2014 All Rights Reserved.
Banker Responsibilities and Design
Budget Management
● Single source of truth for budget
● Authorizes and caps spending
Designed for Reliability
● Designed for high-latency, low-bandwidth
● Insulates banker state by using "shadow
account" bookkeeping
● Totals always go up -- you can always
reason about the relative timing of entries
● Updates global state once per minute
● Atomic, idempotent persistence
Currency Support
● Strongly typed 64-bit int Currency, won't
allow cross-currency conversions
● Automatic scaling conversions (e.g. CPM to
micro-dollars)
© Datacratic Inc. 2014 All Rights Reserved.
Banker Account Types
● Budget Account
o All budget for Account tree set in
Master Banker Budget Account
o Cannot bid from this account
o Can transfer budget to child Spend
Accounts
o Only exists in the Master Banker
● Spend Account
o Must have a parent Budget Account
o Can bid from this account
o Can track spend directly
o Cannot have children
o Shadowed into separate processes
Budget Account
Spend
Account
Master Banker
Spend
Account
© Datacratic Inc. 2014 All Rights Reserved.
Account Hierarchies and Spend Tracking
● Spend accumulates from Children to Parents
● Temporary bookkeeping for bids happens in
shadow accounts in separate processes
● Shadows sync once per second
o Router shadow - tracks budget
committed to pending bids
o PAS shadow - tracks budget to debit on
Wins and to credit on Losses
Budget
A
Spend
A:B
Master Banker
Spend
A:C
Shadow
Spend
A:B
Router Slave Banker
Shadow
Spend
A:C
Shadow
Spend
A:C
PAS Slave
Banker
Shadow
Spend
A:B
© Datacratic Inc. 2014 All Rights Reserved.
Banker APIs
● REST API suitable for human reader and
outside tool integration
● Also used by Router, Post Auction Service
and Bidding Agents
● API wraps Account Type, Account
Hierarchy and Currency Pool concepts
© Datacratic Inc. 2014 All Rights Reserved.
Monitoring and Operations Tools
● Extensive instrumentation
● Lock-free, high-performance Carbon
logging library, with tunable sampling
rate, one-second granularity and useful
aggregate functions
● Can add any custom metrics
● Operational dashboard included
© Datacratic Inc. 2014 All Rights Reserved.
Monitoring and Operations Tools
● All standard and custom metrics
charted in graphite
© Datacratic Inc. 2014 All Rights Reserved.
Addresses the Selection ProblemHow
Filter Design and Features
● Router passes bid requests through
Filtering pipeline
● Bids must pass all filters to reach Agents
● Thread safe
● Useful primitives for custom filters
● Predefined Agent and Creative filters
● Designed to guarantee performance first,
be flexible and powerful second
© Datacratic Inc. 2014 All Rights Reserved.
Filter Levels
● Agent Filters
o Control whether Agent bids on bid
request
● Creative Filters
o Control whether Creative eligible to be
the one returned in bid response
Agent
Format
Location
Exchange
Language
Creative
Exchange
Location
Language
Host
URL
Segments
Hour of Week
Fold Position
User Partition
© Datacratic Inc. 2014 All Rights Reserved.
Filter Priorities and Performance
Filter Priorities and Performance
● Execution order optimized for performance
● Broad, inexpensive filters run first
● Expensive filters run later (or not at all!)
● Only fast filters on real-time thread
● Static filters support batch processing
● Filter matching tests match and retrieves
eligible creatives in one pass
Format
Location
Exchange
Language
Creative
Agent
Exchange
Location
Language
Host
URL
Segments
Hour of Week
Fold Position
User Partition
Agent
Bid
Request
Bid
RequestBid
RequestBid
Request
© Datacratic Inc. 2014 All Rights Reserved.
Augmenters: Your Logic and Data
Augmenters: Filter Based on Your Logic
and Data
● Bid Requests pass through Augmenter after
Filtering, before Bidding
● Custom filtering based on combinations of
bid request fields, your data, etc.
© Datacratic Inc. 2014 All Rights Reserved.
Augmenter Implementation
● Provides thread pool
● Enforces 5ms timeout
● Sync and async support
● Ships with Redis Augmenter
● Separate config for each Bidding Agent
● Can subscribe to other RTBkit data streams
to write data
o e.g. - frequency cap Augmenter
subscribes to PAS MATCHEDWINs
Router
Bid
Request
Wicked
Fast DB TM
Thread Pool
Augmenter
Impl.
Augmenter
Post
Auction
Service
Data Sink
Callback
Augmented
Bid
Request
© Datacratic Inc. 2014 All Rights Reserved.
Addresses the Value ProblemHow
Bidding Agent Configuration
● Bidding Agents configure the Router, PAS
and Augmenter
o creatives per campaign
o dynamic filters
o augmenters and augmenter filters
o ad markup
© Datacratic Inc. 2014 All Rights Reserved.
Custom Bidding Agent Implementation
● C++ or JavaScript
● Programmatic configuration
● Custom bidding logic based on
o bid attributes
o a custom Win Cost Model to adjust for
desired margin and data costs
● Custom Pacing logic supportedCustom Bidding
Agent
Configuration
Bidding Logic
Win Cost Model
Pacing
Currency Helpers
Router
Bid Request1Bid
Response
2
onWin
onLoss
onNoBudget
onTooLate
onDroppedBid
onInvalidBid
3
Post
Auction
Service
onImpression
onClick
onVisit 4
© Datacratic Inc. 2014 All Rights Reserved.
Augmenters: Your Logic and Data
Augmenters: Modify Bid Requests Based
on Your Logic and Data
● Allows you to augment the bid request,
adding any fields you want
● Augmented fields are then available to the
Bidding Agents
© Datacratic Inc. 2014 All Rights Reserved.
Future Directions
Already Delivered in 2014
● PAS horizontal scalability
Improved Packaging
● HTTP Bidding Agent API
This Year
● “RTBkit 2.0” support for HTTP
plugin APIs for
● Augmenter Data
● Loggers
● Analytic Tools
● Support third-party marketplace
for data, analytics, bid strategy,
etc.
© Datacratic Inc. 2014 All Rights Reserved.
RTBkit Resources
Links
● http://github.com/rtbkit
● http://rtbkit.org
● https://groups.google.com/a/rtbkit.
org/forum/#!forum/discuss
Developers Getting Started Guide
● https://github.com/rtbkit/rtbkit/wiki/
Getting-Started
© Datacratic Inc. 2014 All Rights Reserved.
About Datacratic
• Datacratic is an enterprise software company
that develops machine learning and artificial
intelligence technology, which enables real-
time machine based decisioning to be
deployed into a wide range of applications.
• Datacratic’s products are currently optimized for
Data Management Platforms (DMPs), Demand
Side Platforms (DSPs), Agency Trading Desks
(ATDs), E-Commerce web sites and others in
the real-time marketing ecosystem.
Mark Weiss @marksweiss
● Head of Customer Solutions at Datacratic
www.datacratic.com
opensource.datacratic.com/
We're hiring! datacratic.com/site/careers
© Datacratic Inc. 2014 All Rights Reserved.
You are Invited!
RTBkit Meetup September 4th, London, UK
Who should attend?
Developers or engineers with interested in Ad Technology & Real-Time bidding.
Hosted by:
Presenters:
James Prudhomme, CEO Datacratic & Miguel Sempere, Data Engineer Affectv
Q&A

More Related Content

Similar to Developing Real Time Bidding Solutions with RTBkit Webinar On Demand

Atmosphere Coffee Break - Scripting & Order Entry
Atmosphere Coffee Break - Scripting & Order EntryAtmosphere Coffee Break - Scripting & Order Entry
Atmosphere Coffee Break - Scripting & Order Entry
IntelePeer
 
Business Technology Brief
Business Technology BriefBusiness Technology Brief
Business Technology Brief
King's College London
 
apidays LIVE New York 2021 - Microservice Authorization with Open Policy Agen...
apidays LIVE New York 2021 - Microservice Authorization with Open Policy Agen...apidays LIVE New York 2021 - Microservice Authorization with Open Policy Agen...
apidays LIVE New York 2021 - Microservice Authorization with Open Policy Agen...
apidays
 
HBaseCon 2013: Realtime User Segmentation using Apache HBase -- Architectural...
HBaseCon 2013: Realtime User Segmentation using Apache HBase -- Architectural...HBaseCon 2013: Realtime User Segmentation using Apache HBase -- Architectural...
HBaseCon 2013: Realtime User Segmentation using Apache HBase -- Architectural...
Cloudera, Inc.
 
DevOps best practices in microservices | Walkingtree Technologies
DevOps best practices in microservices | Walkingtree TechnologiesDevOps best practices in microservices | Walkingtree Technologies
DevOps best practices in microservices | Walkingtree Technologies
Walking Tree Technologies
 
Why Care Risk Choose PostgreSQL
Why Care Risk Choose PostgreSQLWhy Care Risk Choose PostgreSQL
Why Care Risk Choose PostgreSQL
EDB
 
Frugal Services Deck_2024 (Short).pdf
Frugal Services Deck_2024    (Short).pdfFrugal Services Deck_2024    (Short).pdf
Frugal Services Deck_2024 (Short).pdf
Frugal Testing
 
WSO2Con EU 2015: API Management Strategies and Best Practices
WSO2Con EU 2015: API Management Strategies and Best PracticesWSO2Con EU 2015: API Management Strategies and Best Practices
WSO2Con EU 2015: API Management Strategies and Best Practices
WSO2
 
How we solved Real-time User Segmentation using HBase
How we solved Real-time User Segmentation using HBaseHow we solved Real-time User Segmentation using HBase
How we solved Real-time User Segmentation using HBase
DataWorks Summit
 
WSO2- OSC Korea - Accelerating Digital Businesses with APIs
WSO2- OSC Korea - Accelerating Digital Businesses with APIsWSO2- OSC Korea - Accelerating Digital Businesses with APIs
WSO2- OSC Korea - Accelerating Digital Businesses with APIs
WSO2
 
BPM, SaaS or Custom Development – Making the Right Choice
BPM, SaaS or Custom Development – Making the Right ChoiceBPM, SaaS or Custom Development – Making the Right Choice
BPM, SaaS or Custom Development – Making the Right Choice
Bonitasoft
 
ITMAGINATION - competences, facts, technologies, clients
ITMAGINATION - competences, facts, technologies, clientsITMAGINATION - competences, facts, technologies, clients
ITMAGINATION - competences, facts, technologies, clients
ITMAGINATION
 
Fintech Primitives - Wealth Management - MF Pro - Distributor
Fintech Primitives - Wealth Management - MF Pro - DistributorFintech Primitives - Wealth Management - MF Pro - Distributor
Fintech Primitives - Wealth Management - MF Pro - Distributor
Jainendra Sinha
 
Report Manager 4.3 Launch
Report Manager 4.3 LaunchReport Manager 4.3 Launch
Report Manager 4.3 Launch
Solarwinds N-able
 
CompeteWorkshop_ALLSLIDESv2
CompeteWorkshop_ALLSLIDESv2CompeteWorkshop_ALLSLIDESv2
CompeteWorkshop_ALLSLIDESv2
Adam Hecht
 
YOUBORA Analytics - QoS, QoE, CDN Switching
YOUBORA Analytics - QoS, QoE, CDN SwitchingYOUBORA Analytics - QoS, QoE, CDN Switching
YOUBORA Analytics - QoS, QoE, CDN Switching
Diane Strutner
 
Youbora presentation
Youbora presentationYoubora presentation
Youbora presentation
Diane Strutner
 
Drawbridge_MeetUp_June19_072414
Drawbridge_MeetUp_June19_072414Drawbridge_MeetUp_June19_072414
Drawbridge_MeetUp_June19_072414
Nitin Panjwani
 
Full Service Ownership
Full Service OwnershipFull Service Ownership
Full Service Ownership
Mandi Walls
 
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
Chris Schalk
 

Similar to Developing Real Time Bidding Solutions with RTBkit Webinar On Demand (20)

Atmosphere Coffee Break - Scripting & Order Entry
Atmosphere Coffee Break - Scripting & Order EntryAtmosphere Coffee Break - Scripting & Order Entry
Atmosphere Coffee Break - Scripting & Order Entry
 
Business Technology Brief
Business Technology BriefBusiness Technology Brief
Business Technology Brief
 
apidays LIVE New York 2021 - Microservice Authorization with Open Policy Agen...
apidays LIVE New York 2021 - Microservice Authorization with Open Policy Agen...apidays LIVE New York 2021 - Microservice Authorization with Open Policy Agen...
apidays LIVE New York 2021 - Microservice Authorization with Open Policy Agen...
 
HBaseCon 2013: Realtime User Segmentation using Apache HBase -- Architectural...
HBaseCon 2013: Realtime User Segmentation using Apache HBase -- Architectural...HBaseCon 2013: Realtime User Segmentation using Apache HBase -- Architectural...
HBaseCon 2013: Realtime User Segmentation using Apache HBase -- Architectural...
 
DevOps best practices in microservices | Walkingtree Technologies
DevOps best practices in microservices | Walkingtree TechnologiesDevOps best practices in microservices | Walkingtree Technologies
DevOps best practices in microservices | Walkingtree Technologies
 
Why Care Risk Choose PostgreSQL
Why Care Risk Choose PostgreSQLWhy Care Risk Choose PostgreSQL
Why Care Risk Choose PostgreSQL
 
Frugal Services Deck_2024 (Short).pdf
Frugal Services Deck_2024    (Short).pdfFrugal Services Deck_2024    (Short).pdf
Frugal Services Deck_2024 (Short).pdf
 
WSO2Con EU 2015: API Management Strategies and Best Practices
WSO2Con EU 2015: API Management Strategies and Best PracticesWSO2Con EU 2015: API Management Strategies and Best Practices
WSO2Con EU 2015: API Management Strategies and Best Practices
 
How we solved Real-time User Segmentation using HBase
How we solved Real-time User Segmentation using HBaseHow we solved Real-time User Segmentation using HBase
How we solved Real-time User Segmentation using HBase
 
WSO2- OSC Korea - Accelerating Digital Businesses with APIs
WSO2- OSC Korea - Accelerating Digital Businesses with APIsWSO2- OSC Korea - Accelerating Digital Businesses with APIs
WSO2- OSC Korea - Accelerating Digital Businesses with APIs
 
BPM, SaaS or Custom Development – Making the Right Choice
BPM, SaaS or Custom Development – Making the Right ChoiceBPM, SaaS or Custom Development – Making the Right Choice
BPM, SaaS or Custom Development – Making the Right Choice
 
ITMAGINATION - competences, facts, technologies, clients
ITMAGINATION - competences, facts, technologies, clientsITMAGINATION - competences, facts, technologies, clients
ITMAGINATION - competences, facts, technologies, clients
 
Fintech Primitives - Wealth Management - MF Pro - Distributor
Fintech Primitives - Wealth Management - MF Pro - DistributorFintech Primitives - Wealth Management - MF Pro - Distributor
Fintech Primitives - Wealth Management - MF Pro - Distributor
 
Report Manager 4.3 Launch
Report Manager 4.3 LaunchReport Manager 4.3 Launch
Report Manager 4.3 Launch
 
CompeteWorkshop_ALLSLIDESv2
CompeteWorkshop_ALLSLIDESv2CompeteWorkshop_ALLSLIDESv2
CompeteWorkshop_ALLSLIDESv2
 
YOUBORA Analytics - QoS, QoE, CDN Switching
YOUBORA Analytics - QoS, QoE, CDN SwitchingYOUBORA Analytics - QoS, QoE, CDN Switching
YOUBORA Analytics - QoS, QoE, CDN Switching
 
Youbora presentation
Youbora presentationYoubora presentation
Youbora presentation
 
Drawbridge_MeetUp_June19_072414
Drawbridge_MeetUp_June19_072414Drawbridge_MeetUp_June19_072414
Drawbridge_MeetUp_June19_072414
 
Full Service Ownership
Full Service OwnershipFull Service Ownership
Full Service Ownership
 
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
 

Recently uploaded

How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 

Recently uploaded (20)

How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 

Developing Real Time Bidding Solutions with RTBkit Webinar On Demand

  • 1. Open-Source RTB for Everyone Developing Real Time Bidding Solutions with © Datacratic Inc. 2014 All Rights Reserved.
  • 2. Overview ● The Project ● The Problems With RTB o System o Selection o Value ● RTB Competitive Landscape ● How RTBkit Addresses the Problems with RTB ● Demo © Datacratic Inc. 2014 All Rights Reserved.
  • 3. A Little Bit About
  • 4. A Little History ● Created by machine-learning and digital marketing company Datacratic ● Code base evolved from running RTB in production from 2011-2013 ● Open sourced in Feb. 2013, with ongoing support from Datacratic ● Apache-style governance started Jan. 2014 © Datacratic Inc. 2014 All Rights Reserved.
  • 5. Participation and Governance Participation and Governance ● Apache-style governance o BDNFL - Benevolent Dictator Not for Life o Councillors o Committers ● Outside contributions welcome ● Github pull request workflow -- committers review and merge ● Contributor guidelines ● Users can become Contributors ● Contributors can become Committers -- currently two outside Committers © Datacratic Inc. 2014 All Rights Reserved.
  • 6. Support, Community, Adoption Support and Community ● Free support from the community and Datacratic ● 230 active developers ● 35 committers, 11 outside of Datacratic ● Users in 25+ countries ● ~15 installations in prod: N. America, Germany, France, Russia, Argentina, China ● Datacratic supports development, code review, governance and evolution ● Participation and contributions from Rubicon Project © Datacratic Inc. 2014 All Rights Reserved.
  • 7. Development Support Development Support ● Getting Started Guide ● Developer Tutorials ● Working integration test system o mock Exchange and Ad Server o fixed-price Bidding Agent ● Example Code ● Documentation ● Ubuntu AMI ● Google Group support ● Pull request review and support © Datacratic Inc. 2014 All Rights Reserved.
  • 8. The Problems With RTB SYSTEM VALUESELECTION Provided by RTBkit Customized by User General/Technical Specific/Business © Datacratic Inc. 2014 All Rights Reserved.
  • 9. Solves the RTB System Problem SYSTEM SELECTION VALUE Scale Speed Distribution Reliability General/Technical Specific/Business Provided by RTBkit Customized by User © Datacratic Inc. 2014 All Rights Reserved.
  • 10. Addresses the RTB Selection Problem SYSTEM SELECTION VALUE Scale Speed Show user an ad? What ad? Distribution Reliability Provided by RTBkit Customized by User General/Technical Specific/Business © Datacratic Inc. 2014 All Rights Reserved.
  • 11. Addresses the RTB Value Problem SYSTEM SELECTION VALUE Scale Speed Distribution Show user an ad? What ad? What is it worth? What should I pay?Reliability General/Technical Specific/Business Provided by RTBkit Customized by User © Datacratic Inc. 2014 All Rights Reserved.
  • 12. RTB Technology Landscape System Pros Cons Degree of Difficulty Exchange / DSP UI Easy to get started ● Manual, hard to scale ● Lack of control over bidding strategy and data Low Intermediate Hosted Bidding ● More control over bidding strategy and use of data ● Don't have to do Ops Strategy and use of data mediated by vendor and product features Medium Roll Your Own Bidder Full control of all aspects of the system Solely responsible for everything Hardest ● Benefit from core problems being solved ● Benefit from ● community ● Flexible customization ● Full control (optionally) but requires digging in ● Responsible for ops Hard © Datacratic Inc. 2014 All Rights Reserved.
  • 13. Addresses the System ProblemHow
  • 14. Architectural Overview RTBkit Core ● Router ● Banker ● Post Auction Service ● Service Monitor ● Agent Configuration Service Plugins ● Exchange Connectors ● AdServer Connector ● Bidding Agent ● Augmenter ● Logger © Datacratic Inc. 2014 All Rights Reserved.
  • 15. Bidder Core Advantages ● Core working bidder system ● High-performance real-time components ● Multiple data center support ● Reliable global banker ● Guaranteed response time to exchanges ● High-performance parsing, routing, filtering, logging and monitoring ● Arbitrary use of custom business logic and your data © Datacratic Inc. 2014 All Rights Reserved.
  • 16. Inventory Integration ● Ships with 9 Exchange Connectors o Rubicon Project o AdX o FBX o AppNexus o Nexage o MoPub o GumGum o BidSwitch ● OpenRTB 2.1 compatible © Datacratic Inc. 2014 All Rights Reserved.
  • 17. Router Responsibilities Router Responsibilities ● Gets bid requests from Exchange Connector ● Uses Filters to filter eligible campaigns ● Passes bid requests through Augmenter ● Passes bid requests to Bidding Agents to generate bid responses ● Communicates with Banker to guarantee no overspend ● Guarantees timely response © Datacratic Inc. 2014 All Rights Reserved.
  • 20. Bid Request Lifecycle RTBkit Router Exchange Connector Static Filters Dynamic Filters Augmenter Post Auction Service Ad Server Conversion Source Bidding Agents Ad Server Connector Exchanges © Datacratic Inc. 2014 All Rights Reserved.
  • 21. RTBkit Data Flows Five asynchronous data flows flow through the Router: ● Bid request processing ● Banking updates ● Event Matching ● Notifying Bidding Agents of Events ● Filtering and Bidding Agent configuration RTBkitRouter Exchange Connector Static Filters Augmentation Loop Dynamic Filters Auction Loop Slave Banker Master Banker Bidding Agents Augmenter Post Auction Service Agent Config Exchanges © Datacratic Inc. 2014 All Rights Reserved.
  • 22. Ad Server and Conversion Integration ● Standard HTTP JSON connector for receiving Wins, Clicks and Conversions ● Passes all events to PAS for matching ● Logs events and matched events © Datacratic Inc. 2014 All Rights Reserved.
  • 23. Post Auction Service ● Clearinghouse for matching all bids to Wins, Clicks and Conversions ● Current bottleneck, can process events in the hundreds / sec ● Recently improved: sharded hash tables, one thread per core ● More improvements on the near roadmap Post Auction Service Router Bids Ad Server Connector Events Shadow Account Bidding Agents Logger Matched Events Matched Events Wins and Inferred Losses © Datacratic Inc. 2014 All Rights Reserved.
  • 24. Banker Responsibilities and Design Budget Management ● Single source of truth for budget ● Authorizes and caps spending Designed for Reliability ● Designed for high-latency, low-bandwidth ● Insulates banker state by using "shadow account" bookkeeping ● Totals always go up -- you can always reason about the relative timing of entries ● Updates global state once per minute ● Atomic, idempotent persistence Currency Support ● Strongly typed 64-bit int Currency, won't allow cross-currency conversions ● Automatic scaling conversions (e.g. CPM to micro-dollars) © Datacratic Inc. 2014 All Rights Reserved.
  • 25. Banker Account Types ● Budget Account o All budget for Account tree set in Master Banker Budget Account o Cannot bid from this account o Can transfer budget to child Spend Accounts o Only exists in the Master Banker ● Spend Account o Must have a parent Budget Account o Can bid from this account o Can track spend directly o Cannot have children o Shadowed into separate processes Budget Account Spend Account Master Banker Spend Account © Datacratic Inc. 2014 All Rights Reserved.
  • 26. Account Hierarchies and Spend Tracking ● Spend accumulates from Children to Parents ● Temporary bookkeeping for bids happens in shadow accounts in separate processes ● Shadows sync once per second o Router shadow - tracks budget committed to pending bids o PAS shadow - tracks budget to debit on Wins and to credit on Losses Budget A Spend A:B Master Banker Spend A:C Shadow Spend A:B Router Slave Banker Shadow Spend A:C Shadow Spend A:C PAS Slave Banker Shadow Spend A:B © Datacratic Inc. 2014 All Rights Reserved.
  • 27. Banker APIs ● REST API suitable for human reader and outside tool integration ● Also used by Router, Post Auction Service and Bidding Agents ● API wraps Account Type, Account Hierarchy and Currency Pool concepts © Datacratic Inc. 2014 All Rights Reserved.
  • 28. Monitoring and Operations Tools ● Extensive instrumentation ● Lock-free, high-performance Carbon logging library, with tunable sampling rate, one-second granularity and useful aggregate functions ● Can add any custom metrics ● Operational dashboard included © Datacratic Inc. 2014 All Rights Reserved.
  • 29. Monitoring and Operations Tools ● All standard and custom metrics charted in graphite © Datacratic Inc. 2014 All Rights Reserved.
  • 31. Filter Design and Features ● Router passes bid requests through Filtering pipeline ● Bids must pass all filters to reach Agents ● Thread safe ● Useful primitives for custom filters ● Predefined Agent and Creative filters ● Designed to guarantee performance first, be flexible and powerful second © Datacratic Inc. 2014 All Rights Reserved.
  • 32. Filter Levels ● Agent Filters o Control whether Agent bids on bid request ● Creative Filters o Control whether Creative eligible to be the one returned in bid response Agent Format Location Exchange Language Creative Exchange Location Language Host URL Segments Hour of Week Fold Position User Partition © Datacratic Inc. 2014 All Rights Reserved.
  • 33. Filter Priorities and Performance Filter Priorities and Performance ● Execution order optimized for performance ● Broad, inexpensive filters run first ● Expensive filters run later (or not at all!) ● Only fast filters on real-time thread ● Static filters support batch processing ● Filter matching tests match and retrieves eligible creatives in one pass Format Location Exchange Language Creative Agent Exchange Location Language Host URL Segments Hour of Week Fold Position User Partition Agent Bid Request Bid RequestBid RequestBid Request © Datacratic Inc. 2014 All Rights Reserved.
  • 34. Augmenters: Your Logic and Data Augmenters: Filter Based on Your Logic and Data ● Bid Requests pass through Augmenter after Filtering, before Bidding ● Custom filtering based on combinations of bid request fields, your data, etc. © Datacratic Inc. 2014 All Rights Reserved.
  • 35. Augmenter Implementation ● Provides thread pool ● Enforces 5ms timeout ● Sync and async support ● Ships with Redis Augmenter ● Separate config for each Bidding Agent ● Can subscribe to other RTBkit data streams to write data o e.g. - frequency cap Augmenter subscribes to PAS MATCHEDWINs Router Bid Request Wicked Fast DB TM Thread Pool Augmenter Impl. Augmenter Post Auction Service Data Sink Callback Augmented Bid Request © Datacratic Inc. 2014 All Rights Reserved.
  • 36. Addresses the Value ProblemHow
  • 37. Bidding Agent Configuration ● Bidding Agents configure the Router, PAS and Augmenter o creatives per campaign o dynamic filters o augmenters and augmenter filters o ad markup © Datacratic Inc. 2014 All Rights Reserved.
  • 38. Custom Bidding Agent Implementation ● C++ or JavaScript ● Programmatic configuration ● Custom bidding logic based on o bid attributes o a custom Win Cost Model to adjust for desired margin and data costs ● Custom Pacing logic supportedCustom Bidding Agent Configuration Bidding Logic Win Cost Model Pacing Currency Helpers Router Bid Request1Bid Response 2 onWin onLoss onNoBudget onTooLate onDroppedBid onInvalidBid 3 Post Auction Service onImpression onClick onVisit 4 © Datacratic Inc. 2014 All Rights Reserved.
  • 39. Augmenters: Your Logic and Data Augmenters: Modify Bid Requests Based on Your Logic and Data ● Allows you to augment the bid request, adding any fields you want ● Augmented fields are then available to the Bidding Agents © Datacratic Inc. 2014 All Rights Reserved.
  • 40. Future Directions Already Delivered in 2014 ● PAS horizontal scalability Improved Packaging ● HTTP Bidding Agent API This Year ● “RTBkit 2.0” support for HTTP plugin APIs for ● Augmenter Data ● Loggers ● Analytic Tools ● Support third-party marketplace for data, analytics, bid strategy, etc. © Datacratic Inc. 2014 All Rights Reserved.
  • 41. RTBkit Resources Links ● http://github.com/rtbkit ● http://rtbkit.org ● https://groups.google.com/a/rtbkit. org/forum/#!forum/discuss Developers Getting Started Guide ● https://github.com/rtbkit/rtbkit/wiki/ Getting-Started © Datacratic Inc. 2014 All Rights Reserved.
  • 42. About Datacratic • Datacratic is an enterprise software company that develops machine learning and artificial intelligence technology, which enables real- time machine based decisioning to be deployed into a wide range of applications. • Datacratic’s products are currently optimized for Data Management Platforms (DMPs), Demand Side Platforms (DSPs), Agency Trading Desks (ATDs), E-Commerce web sites and others in the real-time marketing ecosystem. Mark Weiss @marksweiss ● Head of Customer Solutions at Datacratic www.datacratic.com opensource.datacratic.com/ We're hiring! datacratic.com/site/careers © Datacratic Inc. 2014 All Rights Reserved.
  • 43. You are Invited! RTBkit Meetup September 4th, London, UK Who should attend? Developers or engineers with interested in Ad Technology & Real-Time bidding. Hosted by: Presenters: James Prudhomme, CEO Datacratic & Miguel Sempere, Data Engineer Affectv
  • 44. Q&A