Microsoft Finance ML Forecasting Journey: Part One

Going from 0 to 1 with machine learning
finance
machine-learning
forecasting
Author

Mike Tokic

Published

June 12, 2024

This is a multipart series:

Ever wonder how Microsoft Finance got started with machine learning? It didn’t just happen overnight. It started small and grew from calculated steps. In this post and a few others I want to tell the journey of how we got started. Gather round children! It’s story time.

Paradigm Shift

In the summer of 2015 AI and machine learning (ML) weren’t terms you’d hear every day. Maybe you’d hear the word “big data” being thrown around business circles but no one had a clue what it meant. There was a lot of data being captured about our world. Somehow we could “mine” the data to get some value out of it. No one really knew.

Earlier that year, something interesting happened at Microsoft. A new product called Azure Machine Learning was officially released. The service allowed anyone to start mining their data up in the cloud. You could train models and serve them through APIs. It was basically magic. Unfortunately in finance, those words meant nothing. To a Microsoft finance worker the term “train a model” meant training the new employee on building excel models. Everything was done by hand and with care. Especially forecasting our financial statements. The CFO of Microsoft, Amy Hood, thought differently. What if we could use the new product to improve some of the manual work we did in finance? Could we have these models be trained to forecast our business? It was a tough question. No one in finance at the time was really qualified to answer it. She had to go ask the expert.

Getting The Ball Rolling

Amy went to the legend himself. The head of Microsoft’s cloud, Scott Guthrie. King of the cloud and wearing red polo shirts. She wanted to see if Scott’s engineering team could help finance build machine learning models. Allowing finance to forecast the business. Thankfully Scott said yes and lent a few data scientists to help the finance org get off the ground with ML.

The big ticket item was forecasting revenue. Instead of starting small with one specific area we started very high level. Amy wanted a quarterly global revenue forecast by each of Microsoft’s major products. This forecast could be used internally to compare against the manual forecasts. Which are created by sales finance and product finance teams. The ML forecast could either confirm or contradict these bottoms up forecasts made by humans. Allowing finance to either adjust their forecasts. Or make sure they know why they are different than ML.

The results were strong. The ML forecast was around 1%-2% off on average, compared to the manual human forecast error of 2%-4%.

Keeping The Ball Rolling

The game officially changed. The finance team could now just rely 100% on ML going forward right? Not so fast! Who would keep training these models? What if we wanted to forecast at a more granular level? Scott’s data scientists couldn’t help forever. To fix this Amy had to hire some data science talent. People who knew what they were doing. Like the engineers on Scott’s team.

Hiring your first data scientist is a hard thing to do. Creating a career path for them in a non-technical team like finance makes it harder. As a first step, a team of vendor data scientists were hired. This was enough help to take the work done by Scott’s team and keep it going. Even expand it to other areas. The hope was to eventually turn a vendor data scientist team into a team of full time employees.

Lessons Learned

Going from zero ML work to your first forecast solution takes hard work and perseverance. Here are a few lessons Microsoft finance learned when starting out.

Borrow -> Rent -> Buy

Initially data scientists were borrowed from other teams at the company. Then they were rented from outside companies as vendors. Then finally once a strong data science practice was established after a few years, full time employees were hired. Many were vendors who turned into full time employees. This process was slow, but allowed finance the time to make sure a data science practice and career path could be built.

What’s the biggest opportunity?

The biggest opportunity to forecast with ML was revenue. We could have spread ourselves thin and tried to do the entire income statement. But we knew revenue was the hardest to forecast. So that’s where we started first.

Start at the top, work your way down

Starting first with worldwide revenue allowed finance to get good results without getting too deep into the weeds first. If we wanted to get an accurate daily forecast down to the sku level, that would have taken forever. Instead we started big and then eventually worked our way down. This process may not initially replace the manual forecast work being done. But it starts to get others in finance comfortable using ML in the decision making process. After finance leaders got used to seeing these ML forecasts, we could then start working on more granular forecasts that could replace more manual work.

Final Thoughts

Ok now you know how the ML ball got rolling in Microsoft finance. Before reading this article you might have thought we had this amazing ML kick-off with millions invested in the space. We definitely did not. Instead we started small in areas that had the highest ROI and worked our way from there. If your company is just starting out on your ML journey, I suggest you do the same. Small, incremental change can compound into enormous impact over the long run. That’s the kind of change that lasts.