Skip to main content
Uber logo

Schedule rides in advance

Reserve a rideReserve a ride

Schedule rides in advance

Reserve a rideReserve a ride
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: