christian mladenov @ intuitics

59
Building a web app on top of R Christian Mladenov, CEO

Upload: papisio

Post on 15-Jul-2015

162 views

Category:

Data & Analytics


5 download

TRANSCRIPT

Page 1: Christian Mladenov @ Intuitics

Building a web app on top of RChristian Mladenov, CEO

Page 2: Christian Mladenov @ Intuitics

Why?

Page 3: Christian Mladenov @ Intuitics

This happens quite often

Page 4: Christian Mladenov @ Intuitics

This happens quite often

Decision maker

Page 5: Christian Mladenov @ Intuitics

This happens quite often

Ad-hoc request

Decision maker

Page 6: Christian Mladenov @ Intuitics

This happens quite often

Ad-hoc request

Develops analytics

code

Decision maker

Data scientist

Page 7: Christian Mladenov @ Intuitics

Runs code

This happens quite often

Ad-hoc request

Develops analytics

code

Decision maker

Data scientist

Page 8: Christian Mladenov @ Intuitics

Generates reportRuns code

This happens quite often

Ad-hoc request

Develops analytics

code

Decision maker

Data scientist

Page 9: Christian Mladenov @ Intuitics

Generates report

Reads report

Runs code

This happens quite often

Ad-hoc request

Develops analytics

code

Decision maker

Data scientist

Page 10: Christian Mladenov @ Intuitics

Generates report

Reads report

Runs code

Requests changes

This happens quite often

Ad-hoc request

Develops analytics

code

Decision maker

Data scientist

Page 11: Christian Mladenov @ Intuitics

Adjusts parameters

Generates report

Reads report

Runs code

Requests changes

This happens quite often

Ad-hoc request

Develops analytics

code

Decision maker

Data scientist

Page 12: Christian Mladenov @ Intuitics

Adjusts parameters

Generates report

Reads report

Runs code

Requests changes

This happens quite often

Ad-hoc request

Develops analytics

code

Decision maker

Data scientist

Page 13: Christian Mladenov @ Intuitics

Adjusts parameters

Generates report

Reads report

Runs code

Requests changes

This happens quite often

Ad-hoc request

Develops analytics

code

Decision maker

Data scientist

Runs code Generates report

Adjusts parameters

Reads report Requests changes

Page 14: Christian Mladenov @ Intuitics

Problem in large organizations

Page 15: Christian Mladenov @ Intuitics

Problem in large organizations

Manual loop wastes time

Page 16: Christian Mladenov @ Intuitics

Problem in large organizations

Manual loop wastes time

Slower and less capable decision making

Page 17: Christian Mladenov @ Intuitics

Problem in large organizations

Manual loop wastes time

Slower and less capable decision making

Inefficient data science

Page 18: Christian Mladenov @ Intuitics

Problem in large organizations

Manual loop wastes time

Slower and less capable decision making

€20M+ annual loss in a 2000-people organization

Inefficient data science

Page 19: Christian Mladenov @ Intuitics

Solution

Page 20: Christian Mladenov @ Intuitics

Solution

Self-service analytics web apps

Page 21: Christian Mladenov @ Intuitics

Solution

Self-service analytics web apps

Decision makers get better insights, faster

Page 22: Christian Mladenov @ Intuitics

Solution

Self-service analytics web apps

Decision makers get better insights, faster

Data scientists can focus on new knowledge

Page 23: Christian Mladenov @ Intuitics

How?

Page 24: Christian Mladenov @ Intuitics

Statistical languages

Page 25: Christian Mladenov @ Intuitics

Statistical languages

Page 26: Christian Mladenov @ Intuitics

Statistical languages

Page 27: Christian Mladenov @ Intuitics

Statistical languages

Page 28: Christian Mladenov @ Intuitics

R solutions

Page 29: Christian Mladenov @ Intuitics

R solutions

RStudio Shiny

Page 30: Christian Mladenov @ Intuitics

R solutions

RStudio Shiny

Custom web app (Python, Ruby, etc)

Page 31: Christian Mladenov @ Intuitics

R solutions

RStudio Shiny

Custom web app (Python, Ruby, etc)Remote R: OpenCPU, rServe, rApache, httpuv

Page 32: Christian Mladenov @ Intuitics

R solutions

RStudio Shiny

Custom web app (Python, Ruby, etc)Remote R: OpenCPU, rServe, rApache, httpuv

Integrated R: rJava, rpy2, RinRuby

Page 33: Christian Mladenov @ Intuitics

R solutions

RStudio Shiny

Custom web app (Python, Ruby, etc)Remote R: OpenCPU, rServe, rApache, httpuv

Integrated R: rJava, rpy2, RinRuby

Native (local or remote R)

Page 34: Christian Mladenov @ Intuitics

R solutions

RStudio Shiny

Custom web app (Python, Ruby, etc)Remote R: OpenCPU, rServe, rApache, httpuv

Integrated R: rJava, rpy2, RinRuby

Native (local or remote R)RGtk2, tcltk, Excel+VBA

Page 35: Christian Mladenov @ Intuitics

R solutions

RStudio Shiny

Custom web app (Python, Ruby, etc)Remote R: OpenCPU, rServe, rApache, httpuv

Integrated R: rJava, rpy2, RinRuby

Native (local or remote R)RGtk2, tcltk, Excel+VBA

Intuitics

Page 36: Christian Mladenov @ Intuitics

ComparisonRStudio Shiny Intuitics

Page 37: Christian Mladenov @ Intuitics

ComparisonRStudio Shiny Intuitics

R framework + server. Server and interface built with code locally

Page 38: Christian Mladenov @ Intuitics

ComparisonRStudio Shiny Intuitics

R framework + server. Server and interface built with code locally

Web platform. Stateless R functions, interface built with drag & drop

Page 39: Christian Mladenov @ Intuitics

ComparisonRStudio Shiny Intuitics

R framework + server. Server and interface built with code locally

Web platform. Stateless R functions, interface built with drag & drop

Cloud + on-premise

Page 40: Christian Mladenov @ Intuitics

ComparisonRStudio Shiny Intuitics

R framework + server. Server and interface built with code locally

Web platform. Stateless R functions, interface built with drag & drop

Cloud + on-premise Cloud + on-premise. REST API

Page 41: Christian Mladenov @ Intuitics

ComparisonRStudio Shiny Intuitics

R framework + server. Server and interface built with code locally

Web platform. Stateless R functions, interface built with drag & drop

Cloud + on-premise Cloud + on-premise. REST API

Same development environment

Page 42: Christian Mladenov @ Intuitics

ComparisonRStudio Shiny Intuitics

R framework + server. Server and interface built with code locally

Web platform. Stateless R functions, interface built with drag & drop

Cloud + on-premise Cloud + on-premise. REST API

Same development environment Code needs to be imported

Page 43: Christian Mladenov @ Intuitics

ComparisonRStudio Shiny Intuitics

R framework + server. Server and interface built with code locally

Web platform. Stateless R functions, interface built with drag & drop

Cloud + on-premise Cloud + on-premise. REST API

Same development environment Code needs to be imported

Highly customizable

Page 44: Christian Mladenov @ Intuitics

ComparisonRStudio Shiny Intuitics

R framework + server. Server and interface built with code locally

Web platform. Stateless R functions, interface built with drag & drop

Cloud + on-premise Cloud + on-premise. REST API

Same development environment Code needs to be imported

Highly customizable

Active community

Page 45: Christian Mladenov @ Intuitics

ComparisonRStudio Shiny Intuitics

R framework + server. Server and interface built with code locally

Web platform. Stateless R functions, interface built with drag & drop

Cloud + on-premise Cloud + on-premise. REST API

Same development environment Code needs to be imported

Highly customizable

Active community

RMarkdown integration

Page 46: Christian Mladenov @ Intuitics

ComparisonRStudio Shiny Intuitics

R framework + server. Server and interface built with code locally

Web platform. Stateless R functions, interface built with drag & drop

Cloud + on-premise Cloud + on-premise. REST API

Same development environment Code needs to be imported

Highly customizable Not only R (import/export)

Active community

RMarkdown integration

Page 47: Christian Mladenov @ Intuitics

ComparisonRStudio Shiny Intuitics

R framework + server. Server and interface built with code locally

Web platform. Stateless R functions, interface built with drag & drop

Cloud + on-premise Cloud + on-premise. REST API

Same development environment Code needs to be imported

Highly customizable Not only R (import/export)

Active community Long-running computations

RMarkdown integration

Page 48: Christian Mladenov @ Intuitics

ComparisonRStudio Shiny Intuitics

R framework + server. Server and interface built with code locally

Web platform. Stateless R functions, interface built with drag & drop

Cloud + on-premise Cloud + on-premise. REST API

Same development environment Code needs to be imported

Highly customizable Not only R (import/export)

Active community Long-running computations

Save and share app snapshotsRMarkdown integration

Page 49: Christian Mladenov @ Intuitics

ComparisonRStudio Shiny Intuitics

R framework + server. Server and interface built with code locally

Web platform. Stateless R functions, interface built with drag & drop

Cloud + on-premise Cloud + on-premise. REST API

Same development environment Code needs to be imported

Highly customizable Not only R (import/export)

Active community Long-running computations

Save and share app snapshots

Export, dashboards, recurring reports

RMarkdown integration

Page 50: Christian Mladenov @ Intuitics

Demonstration

Page 51: Christian Mladenov @ Intuitics

Background

Page 52: Christian Mladenov @ Intuitics

Background

FMCG company

Page 53: Christian Mladenov @ Intuitics

Background

FMCG company

Forecasting script in R with parameters:

Page 54: Christian Mladenov @ Intuitics

Background

FMCG company

Forecasting script in R with parameters:Country & product (build a model based on newest data)

Page 55: Christian Mladenov @ Intuitics

Background

FMCG company

Forecasting script in R with parameters:Country & product (build a model based on newest data)

Next 3 months: price, marketing budget, # of pages in catalog, competition strength

Page 56: Christian Mladenov @ Intuitics

Background

FMCG company

Forecasting script in R with parameters:Country & product (build a model based on newest data)

Next 3 months: price, marketing budget, # of pages in catalog, competition strength

Monthly forecast cycle: many what-if scenario runs

Page 57: Christian Mladenov @ Intuitics

Background

FMCG company

Forecasting script in R with parameters:Country & product (build a model based on newest data)

Next 3 months: price, marketing budget, # of pages in catalog, competition strength

Monthly forecast cycle: many what-if scenario runs

Aim: turn the script into an interactive app

Page 58: Christian Mladenov @ Intuitics

Steps

1. Split R script into functions to allow interactivity

2. Create interface that links functions

3. Share a snapshot with a colleague

Page 59: Christian Mladenov @ Intuitics

Thank you! !!

Christian Mladenov [email protected]

!www.intuitics.com

@intuitics facebook.com/intuitics