Skip to main content
Uber logo

Start ordering with Uber Eats

Order nowOrder now

Start ordering with Uber Eats

Install the appInstall the app
Engineering

Building Automated Feature Rollouts on Robust Regression Analysis

July 17, 2018 / Global
Featured image for Building Automated Feature Rollouts on Robust Regression Analysis
Figure 1: The Auto Rollouts system consists of a configuration layer written in Go, an analytics engine written in Java and Scala, a user interface layer written in ReactJs, and a data lake, where the ETLs are run, that leverages Hadoop and Presto.
Figure 2: To make regressions more visible during a rollout, we built an analytics dashboard that provides an overview of the impact of a feature across different metrics.
Figure 3: The Crash Metrics display of the analytics dashboard shows which crash events are being regressed.
Figure 4: The Mobile Metrics panel shows if any of the flows were affected by the new feature.
Figure 5: This graph shows how the MDE decreases as we increase the sample size.
Figure 6: The UI lets developers choose to automate a rollout, and set its timing.
Figure 7: The Rollout Configuration processor takes a new feature through each stage of the life cycle.
Tim Knapik

Tim Knapik

Tim Knapik is an engineer on Uber’s Experimentation Platform team.

Mandie Liu

Mandie Liu

Mandie Liu is a data scientist on Uber’s Experimentation Platform team.

David Schnurr

David Schnurr

David Schnurr is an engineer on Uber’s Movement team.

Sisil Mehta

Sisil Mehta

Sisil Mehta is a senior software engineer on the Uber Freight team.

Anando Sen

Anando Sen

Anando Sen is a senior product manager on Uber’s Developer Platform team.

Posted by Tim Knapik, Mandie Liu, David Schnurr, Sisil Mehta, Anando Sen

Category: