Dear Analyst #99: Hyperscaling at Uber Eats and using VBA to automate M&A models with Ryan Cunningham
Podcast: Play in new window | Download
Subscribe: Google Podcasts | Spotify | Stitcher | TuneIn | RSS
MLOps, neuromorphic computing, next-generation enterprises. These are concepts you generally don’t hear about in the field of data analytics. This episode shows that you can parlay a career in data analysis into any field you want. That’s exactly what Ryan Cunningham did to become a Senior Associate Builder at AI Fund. Ryan studied finance and computer science at Georgetown, and honed his modeling skills at Credit Suisse after graduation focusing on the oil and gas sector. At Uber, Ryan helped scale the Uber Eats product and worked on various moonshot products like Uber Elevate and Uber JUMP. After a stint at an AI gaming company, Ryan eventually joined AI Fund, an AI startup studio founded by Andrew Ng (founder of Google Brain and co-founder of Coursera). This episode follow Ryan’s journey writing VBA as a banker, challenging the status quo at Uber Eats, and diving into the world of AI.
VBA is the gateway drug to automation
If you’re in Excel long enough, you’ll eventually come across VBA macros. Either you use the ones your colleagues build or you dive into writing/recording the macro yourself. The reason I think VBA is the gateway to automation, generally, is because you are able to break Excel down into its building blocks. Furthermore, you can tie other Microsoft apps together using VBA. When I was a financial analyst, I automated the creation of reports in Excel and PowerPoint with the push of a button. That feeling was powerful and extremely gratifying. The next obvious question is: what else can be automated? You don’t realize it at the time, but the object-oriented programming skills you learn from VBA can be carried into web development, Python scripting, and more.
While at Georgetown, Ryan was introduced to VBA and quickly started using VBA in all of his classes since he was in Excel all the time. VBA is not the most popular programming language to learn. According to this source, it’s popularity has decreased 60% since 2004. Eventually, Microsoft’s Office Scripts (a flavor of TypeScript) should, in theory, replace VBA. But for those old Excel macros from the early 2000s, someone has to maintain or migrate those scripts.
In addition to VBA, Ryan taught himself Python in his free time while at university. Python wasn’t in the regular curriculum at Georgetown, so Ryan learned through Codeacademy. He built programs to scrape Twitter to calculate sentiment in Tweets. When Dogecoin came onto the scene in 2013, Ryan built a mini super computer with four Raspberry Pis to mine Dogecoin. He wrote a Python script to tie everything together so that he would get a Tweet when he successfully mined some Dogecoin.
M&A modeling at Credit Suisse
An investment banking job right out of college used be a coveted position since you get to learn a lot of analytical skills on the job. When Ryan first got into banking, he tried to get as much as he could out of the experience. He broke down his experience into three mental models:
- Perception – This is the part of the job where you’re doing the actual work. Modeling, analyzing financial statements, spreading comps, and putting together decks. You’re mostly being paid to execute, not to think too hard about it. This is the time to build your muscle memory.
- Cognition – At this stage, typically by the time you become a second year, you’ve got the fundamentals down and you can be trusted to think critically about the materials.
- Metacognition – This is the next step that many banking analysts don’t get to, according to Ryan. This is the stage where you are thinking about thinking, how best you can begin to scale yourself up through automation.
By automating a lot of his tasks with VBA, Ryan was able to get a lot of his weekends back. He was working with a VP at the time who was working on an M&A model. The model involved potential mergers between various satellite companies. The model took an hour and a half to get updated debt and EBITDA numbers. The model was difficult to run for just two companies, and Ryan’s VP wanted to run the model on six companies. Every time they wanted to update a deck, it would take a few hours for the model to run because there were 30 pairs of company combinations the model would have to crunch. Ryan first recorded a macro and went through the update process once in Excel. He re-factored the script to use relative references instead of absolute references, centralized the inputs, and made several other improvements to maximize efficiency. Eventually, the M&A model only took two minutes to update.
Scaling Uber Eats to 300 locations as a product analyst
Ryan joined Uber Eats in late 2016 right when Uber Eats had found product-market fit. As a product analyst, one of Ryan’s first projects was figuring out the ROI from the investments Uber Eats was making to acquire couriers and customers. At the time, Uber Eats’ modus operandi was “spend to win.” This means paid marketing, driver referrals, etc. Ryan noticed that there were diminishing returns with this strategy. Despite aggressive spending to acquire new couriers and promote eater growth, both new and existing couriers had lower throughput than expected. It was also difficult to get them to stick around for long. Multiple stakeholders were interested in Ryan’s analysis including the former CEO, Ryan Graves. Upon presenting his analysis to Ryan G., Ryan C. got called out for making a mistake.
Just like banking, numbers have to tie and balance out in the tech world too. If your numbers don’t tie, it’s really easy to lose your credibility. Ryan G. claimed Ryan C.’s numbers didn’t tie and that his findings were directional at best. Ryan C. made a mistake, was called out for it, and needed to do more homework.
The problem that Ryan was hinting at was that Uber Eats was investing a tremendous amount of money on supply acquisition, theorized at the time to directly correlate with demand growth, but wasn’t getting much of a return. Marginal demand was not enough to prevent diluting courier earnings with newly added courier supply. So utilization was low, and churn was high, creating a vicious spend cycle. Ryan’s hypothesis was that Uber Eats could reduce spend and improve courier utilization without sacrificing network reliability. Ultimately, he was successful in convincing Uber Eats leadership to execute on this hypothesis, and led a strike team across product, operations, and data science to resolve it. He referenced the Cold Start Problem (coined by Andrew Chen) when describing Uber Eats’ predicament at the time.
Understanding Uber’s data warehouse and other projects
Another one of Ryan’s projects at Uber Eats was understanding every single table in the data warehouse. He applied this knowledge of the data warehouse to other moonshot projects at Uber like Uber Elevate, Uber’s drone delivery and aerial ride-sharing initiative. This whitepaper from 2016 lays out Uber’s vision for Uber Elevate and it’s quite an interesting read. No tech moonshot would be complete without a demo video:
Using SQL, Excel, and his scripting skills, Ryan helped Uber Elevate figure out its market operating conditions. He ultimately owned the operating model across many of Uber’s other moonshots, including drone delivery and micromobility. By working with the data science team, he ran forward-looking simulations that would require much more sophistication than just VBA or Google Scripts. He even co-designed (and patented) an ambient noise model which the Uber Elevate team would use to plan its skyport network, which would blend in with ambient noise conditions in dense cities and over highways, while avoiding residential areas.
An interesting by-product of aerial ride-sharing is the ambient noise the air taxis create. The noise could blend in with the traffic if flying over a highway, but would introduce unwanted noise in a residential area. This may prevent the FAA from allowing you to land in certain areas.
The road to autonomous mobility
Aka self-driving cars. Ryan’s interests shifted more AI and eventually joined Andrew Ng’s startup studio, AI Fund. Unlike other venture funds, AI Fund provides AI companies with a co-founder or founder-in-residence. The fund’s economic returns and incentives are a bit different since a founder-in-residence from the fund is working at a company in the fund’s portfolio. The key insight AI Fund discovered is that there is a long tail of of businesses that don’t know how to apply AI to their workflows. This is the one of the segments AI Fund is going after.
Ryan discusses how AI Fund re-uses existing frameworks like “data-centric AI.” This framework was coined by Andrew Ng in the scope of one of his other companies, Landing AI. Most academics and researchers will simply swap in different models on the same dataset to fine tune the model. If you look at the dataset, however, you’ll notice there is a lot of bad and missing data. Going down this topic gets you into the burgeoning world of ML Ops. This part of the conversation was definitely outside of my expertise, so I’ll just leave this quote below from the Landing AI website:
Instead of focusing on the code, companies should focus on developing systematic engineering practices for improving data in ways that are reliable, efficient, and systematic. In other words, companies need to move from a model-centric approach to a data-centric approach.Andrew Ng
Podcasting for China Stories
Outside of AI Fund, Ryan is part of a group of English-native Mandarin speakers who read articles (volunteer-based) about Chinese tech and culture for China Stories. Ryan started learning Mandarin in July of 2020 and had a lifelong interest in voice acting and performance. According to Ryan, there’s a huge asymmetry in news shared from the Chinese community. When research papers are published in the United States, researchers in China will devour these tomes. Western researchers, however, don’t read as much published work from the Chinese community. Ryan cold DMed Kaiser Kuo, the editor-at-large at SupChina (the company that produces the China Stories podcast) and got the gig. Listen to one of Ryan’s latest episodes here on Chinese gamers.
Key takeaways for analysts
At the end of the conversation, Ryan gave his advice on what frameworks and languages analysts should learn to up-level their skills and careers. No matter the what skills you acquire in the data world, Ryan reiterated that storytelling (something we’ve heard over and over again on this podcast) is the most important skill to acquire.
Other Podcasts & Blog Posts
No other podcasts mentioned in this episode!
No comments yet.