lambda architecture 2.0 for reactive ab testing

22
Lambda Architecture 2.0 for Data-Driven Business Team Trieu Nguyen - http://nguyentantrieu.info Truc Le - https://www.linkedin.com/pub/le-kien-truc/31/379/938 Data-driven + Lambda Architecture = growing business 2 mc2ads.com - Fast Data Labs

Upload: trieu-nguyen

Post on 14-Jul-2015

823 views

Category:

Data & Analytics


1 download

TRANSCRIPT

Page 1: Lambda Architecture 2.0 for Reactive AB Testing

Lambda Architecture 2.0 for Data-Driven Business

Team Trieu Nguyen - http://nguyentantrieu.info Truc Le - https://www.linkedin.com/pub/le-kien-truc/31/379/938

Data-driven + Lambda Architecture = growing business2

mc2ads.com - Fast Data Labs

Page 2: Lambda Architecture 2.0 for Reactive AB Testing

Key questions for us today ?1. What if the business is not driven by data?

2. What and why is Lambda Architecture?3. What problems did it solve for us?

Workshop with case study: Improving “Flappy bird” with A/B Testing Tool and Lambda Architecture 2.0

Page 3: Lambda Architecture 2.0 for Reactive AB Testing

Red bird Blue birdWhich bird could let you down soon ?OK, let’s play the Game ! Design it better with data

VS

Page 4: Lambda Architecture 2.0 for Reactive AB Testing

Data-driven game design for Flappy Bird !

Page 5: Lambda Architecture 2.0 for Reactive AB Testing

What if the business is not driven by data?

Refer: http://www.nytimes.com/2011/04/24/business/24unboxed.html

Page 6: Lambda Architecture 2.0 for Reactive AB Testing

What if the business is not driven by data?

Page 7: Lambda Architecture 2.0 for Reactive AB Testing

How ?Data-Driven Business

Page 8: Lambda Architecture 2.0 for Reactive AB Testing

1970s 1990s 2000s 2010s

Data Management Technology and Trends● Netty.io● Apache Storm● Apache Kafka● Apache Spark● RFX● ...

● Hadoop Ecosystem● NoSQL Ecosystem● ...

● Oracle● MySQL● PostgreSQL● ...

Page 9: Lambda Architecture 2.0 for Reactive AB Testing

Why is Lambda Architecture 2.0 ?It helps to organize your data infrastructure into understandable structure and react quickly to context changes

Page 10: Lambda Architecture 2.0 for Reactive AB Testing

“Vision Without Execution Is Just Hallucination”

Ok, cool ideas, but how we build it ? Our

Our

We are here

Page 11: Lambda Architecture 2.0 for Reactive AB Testing

Our goals

1. Understand the big picture2. See the reality3. Do actions to make it happenOk! Let’s make “Flappy bird” into “Happy bird” !

Page 12: Lambda Architecture 2.0 for Reactive AB Testing

What is Lambda Architecture 2.0 ?It’s just the architecture for data-driven business

for reacting to fast data

for data mining and machine learning on Big Data

for observable data

for SQL querying (SQL is true lambda language !?)

Page 13: Lambda Architecture 2.0 for Reactive AB Testing

Case study:Improving “Flappy bird” with A/B Testing Tool and Lambda Architecture 2.0

● Short introduction about A/B testing● Setup full open source technology stack● Run example code with Java and Python

Page 14: Lambda Architecture 2.0 for Reactive AB Testing

Our goal: Applying data-driven in Game Design

Page 15: Lambda Architecture 2.0 for Reactive AB Testing

forecasting

Make correct decision

Page 16: Lambda Architecture 2.0 for Reactive AB Testing

How? One of basic principle is “Test our theory”

From observable solutions, test them all to find the best one ! More at http://en.wikipedia.org/wiki/A/B_testing

Page 17: Lambda Architecture 2.0 for Reactive AB Testing

1. Working with A/B testing tool (using Abba framework)2. Let’s play Flappy Bird 2.0 !3. Collecting data → store data as stream (Kafka)4. Stream processing → real-time view processing (RFX)5. Batch processing → sampling AB Test (Spark) 6. Query processing → finding facts from experiment

(SQL over Phoenix / HBase)7. Collecting feedback data → Game Design Report

Steps

Page 18: Lambda Architecture 2.0 for Reactive AB Testing

For simple demo, we use Abba, a simple A/B testing self-hosted framework

Page 19: Lambda Architecture 2.0 for Reactive AB Testing

Why is reactive view in Lambda Architecture 2.0 ?UX is the key for successful product development, so we must react to bad UX quickly (with data)

Page 20: Lambda Architecture 2.0 for Reactive AB Testing

Technology stack ( 5D model )1) Data collector (I/O networking)

● Netty for event log collector and HTTP server (lambda2)2) Data persistence (aka: data storage)

● Kafka for distributed message storage (Apache Kafka)● HBase for scalable big table

3) Data processing● RFX with fast data processing (RFX framework)● Python for data sampling in A/B test experiments● Rx(Java/JS) for reacting to data experiment (reactivex)

4) Data analysis● measures of uncertainty(Python Dempster-Shafer theory)

5) Data ad-hoc reporting● SQL over Phoenix / HBase ( http://phoenix.apache.org )

Page 21: Lambda Architecture 2.0 for Reactive AB Testing

My email: [email protected] me @tantrieuf31

Page 22: Lambda Architecture 2.0 for Reactive AB Testing