As you read this write up, Uber has expanded across more than 600 cities. Has around 75 million active riders, over 3 million active drivers, handling over 15 million trips every single day. Sustaining its world dominance in taxi cab & peer to peer ride-sharing service.

The key thing in the sustenance of this dominance is its dexterity in Financial Forecasting.
And Uber achieves that with the help of it’s Financial Cloud Platform, which emerges to be a game changer in budget forecasting, targeting expectations & managing operations for the global market.

Ideally, companies plan annually or quarterly but when we are talking about a company of the size of Uber.
Annual or even quarterly planning is ineffective.
Uber is spread across the globe in different cities, different markets & has ever-changing goals. They require something more dynamic, something which would enable them to change & execute things on the fly.

This pain point led to the development of Uber’s Financial Cloud Platform, which uses Machine Learning & Data Science tech to make the entire planning process smooth.

For a full list of all the real-world software architecture posts on the blog here you go.

 

Financial Planning Cycle

The planning cycle is split up into three phases:

Strategic: This means the long-term forecast. Coming up with a strategy for Budget allocation & target expectation across the company & it’s global market.

Operations: After a certain strategy is in place the city teams and systems start execution keeping in mind the set budgets and target expectations.

Insights: As the operations are in progress, constant monitoring is required to keep an eye on the performance of the business. Assessing if a re-evaluation or any adjustment in the targets is required. Based on the Insights
recommendations & feedback for the next forecast cycle is made.

 

Understanding the Financial Cloud Platform

The engineers at Uber needed to build something which could scale on time, location, incorporate new updated business models at the same time, a user interface which would enable the financial planning team to do the budget allocation, scenario planning collaborating concurrently in real time.
This would avert the need to share spreadsheets by emailing each other eventually saving a big chunk of time.

 

Recommended ReadBest handpicked resources to build a solid foundation in software architecture & system design

Software architecture system design learning track

 

Platform Architecture

 

Uber financial platform system architecture
Uber’s Financial Cloud Platform System Architecture Source

As we can see in the diagram the cloud platform consists of UI, Backend computation & an Infrastructure layer.

 

UI Layer

The UI layer consists of three components Marketing Spend, Financial Planning & a Dashboard.
This enables the financial planning team to do the budget allocation, scenario planning collaborating concurrently in real time, as stated earlier. The team can compare scenarios, adjust business models, optimize budget etc.

 

Backend Services – The Middle Layer

The middle layer holds the business logic. It is the Scenario Optimization & Computation platform. It helps teams to compute what metrics they can move to get the desired results.

A financial planning scenario consists of business metric and computations arranged into a workflow.
The middle layer computes Dynamic On-Demand Planning, Building Business Scenarios & Scenario-Based Planning etc. Uber also uses it’s machine learning platform Michaelangelo here to assist the computations.

A typical business scenario used in the forecast would be

Uber business forecasting scenario
A scenario for Uber’s ride-sharing business Source

Computation Algorithm

Here is a gist of the computation algorithm:

It’s like a big while loop iterating over the data set. With millions of iterations, it creates scenarios for each city like the spending scenario & then computes the metric in these scenarios. The algorithm keeps track of the iterations & figures out the largest aggregated trip. In short the maximum amount spent on a trip.

The entire computation uses some of the optimization algorithms like mathematical optimization, convex optimization, gradient descent.

To educate yourself on software architecture from the right resources, to master the art of designing large scale distributed systems that would scale to millions of users, to understand what tech companies are really looking for in a candidate during their system design interviews. Read my blog post on master system design for your interviews or web startup.

 

Infrastructure Layer

The last layer is the data pipeline, financial data warehouse & metric store. It is the layer serving the data to the platform. A data pipeline moves the data around throughout the system. As per the business requirements, it may converge data from several origins to the data warehouse to be used for analytics & other purposes.

The financial data store is the source of truth for the cloud platform.

This was a short discussion on the financial forecasting cloud platform of the biggest radio taxi, cab sharing service on the planet.

Source for this write-up;

 

Recommended Read: Master System Design For Your Interviews Or Your Web Startup

Best handpicked resources to build a solid foundation in software architecture & system design

Subscribe to the newsletter to stay notified of the new posts.

 

Well, Guys!! This is pretty much it. If you liked the write-up, share it with your folks. Consider following 8bitmen on Twitter,     Facebook,          LinkedIn to stay notified of the new content published.

I am Shivang, the author of this writeup. You can read more about me here.

 

More on the Blog

A Practical Guide to Picking the Right Cloud Provider for Your Application

How Evernote migrated & scaled their cloud with Google Cloud Platform

How Does PayPal Processes Billions of Messages Per Day with Reactive Streams?

Is My Data Safe in the Cloud? – A Deep Dive – All Your Questions Answered

What Database Does Facebook Use? – A 1000 Feet Deep Dive