Uber’s Financial Cloud Platform – How A Massive Global Ride Sharing Company is Forecasting it’s Finances with Machine Learning & Data Science
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.
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.
As we can see in the diagram the cloud platform consists of UI, Backend computation & an Infrastructure 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
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.
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.
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.
Recommended Read: Master System Design For Your Interviews Or Your Web Startup
Subscribe to the newsletter to stay notified of the new posts.
I am Shivang, the author of this writeup. You can read more about me here.
More on the Blog
- Distributed Systems & Scalability #1 – Heroku Client Rate Throttling
- Zero to Software/Application Architect – Learning Track
- Java Full Stack Developer – The Complete Roadmap – Part 2 – Let’s Talk
- Java Full Stack Developer – The Complete Roadmap – Part 1 – Let’s Talk
- Best Handpicked Resources To Learn Software Architecture, Distributed Systems & System Design