Christian Mladenov @ Intuitics

Post on 15-Jul-2015

160 views 5 download

Tags:

Transcript of Christian Mladenov @ Intuitics

Building a web app on top of RChristian Mladenov, CEO

Why?

This happens quite often

This happens quite often

Decision maker

This happens quite often

Ad-hoc request

Decision maker

This happens quite often

Ad-hoc request

Develops analytics

code

Decision maker

Data scientist

Runs code

This happens quite often

Ad-hoc request

Develops analytics

code

Decision maker

Data scientist

Generates reportRuns code

This happens quite often

Ad-hoc request

Develops analytics

code

Decision maker

Data scientist

Generates report

Reads report

Runs code

This happens quite often

Ad-hoc request

Develops analytics

code

Decision maker

Data scientist

Generates report

Reads report

Runs code

Requests changes

This happens quite often

Ad-hoc request

Develops analytics

code

Decision maker

Data scientist

Adjusts parameters

Generates report

Reads report

Runs code

Requests changes

This happens quite often

Ad-hoc request

Develops analytics

code

Decision maker

Data scientist

Adjusts parameters

Generates report

Reads report

Runs code

Requests changes

This happens quite often

Ad-hoc request

Develops analytics

code

Decision maker

Data scientist

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

Problem in large organizations

Problem in large organizations

Manual loop wastes time

Problem in large organizations

Manual loop wastes time

Slower and less capable decision making

Problem in large organizations

Manual loop wastes time

Slower and less capable decision making

Inefficient data science

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

Solution

Solution

Self-service analytics web apps

Solution

Self-service analytics web apps

Decision makers get better insights, faster

Solution

Self-service analytics web apps

Decision makers get better insights, faster

Data scientists can focus on new knowledge

How?

Statistical languages

Statistical languages

Statistical languages

Statistical languages

R solutions

R solutions

RStudio Shiny

R solutions

RStudio Shiny

Custom web app (Python, Ruby, etc)

R solutions

RStudio Shiny

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

R solutions

RStudio Shiny

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

Integrated R: rJava, rpy2, RinRuby

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)

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

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

ComparisonRStudio Shiny Intuitics

ComparisonRStudio Shiny Intuitics

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

ComparisonRStudio Shiny Intuitics

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

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

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

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

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

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

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

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

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

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

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

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

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

Demonstration

Background

Background

FMCG company

Background

FMCG company

Forecasting script in R with parameters:

Background

FMCG company

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

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

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

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

Steps

1. Split R script into functions to allow interactivity

2. Create interface that links functions

3. Share a snapshot with a colleague

Thank you! !!

Christian Mladenov christian@intuitics.com

!www.intuitics.com

@intuitics facebook.com/intuitics