Moving Microsoft’s financial reporting processes to Microsoft Azure

Jayapalan stands in front of his three-monitor workstation in his office.
Helping transform Microsoft’s financial reporting processes has been very rewarding, says Sudhahar Jayapalan, a principal software engineering manager for Microsoft Finance Engineering. (Photo by Sudhahar Jayapalan)

Managing Microsoft’s financial reporting processes is a formidable task.

Although Microsoft had a reliable system in place, fresh thinking was needed to respond to increasing complexity and much higher volumes of financial data.

In short, the company needed to rethink how it automates its financial reporting.

Our goal was to modernize our financial reporting processes and make them more digital as part of our digital transformation journey, and we wanted to make effective use of the Microsoft Azure product stack—Azure Data Services, Azure Data Lake, almost anything Azure.

– Bridgette Link, general manager, Microsoft Finance Business Intelligence group

The Microsoft Finance Engineering group, the organization that powers the number crunchers on the business side of Microsoft, used Microsoft Azure to create a tool that the company’s financial experts can use to understand and analyze those massive financial figures more easily. Microsoft Azure allowed the team to unlock value in the financial information and connect that information to key stakeholders.

Dubbed Mercury 2.0, the effort aims to streamline and simplify the task of creating reports for the many Microsoft lines of business and operations in more than 100 countries and regions around the world.

“We have lots of complexity in our various financial processes,” says Bridgette Link, the general manager for the Finance Business Intelligence group at Microsoft. “Our goal was to modernize our financial reporting processes and make them more digital as part of our digital transformation journey, and we wanted to make effective use of the Microsoft Azure product stack—Azure Data Services, Azure Data Lake, almost anything Azure.”

Mercury is the backbone of the company as far as producing its financial statements. It’s what Wall Street gets. It’s what all of our filings are based on, so you can’t find a system more important for financial compliance and the reporting of our numbers.

– Arthur So, director, Microsoft Finance Business Intelligence group

Mercury 2.0 is designed to handle a wide range of financial information including earnings releases, financial filings, financial closes, expense allocation, operational reporting, and more. It also seeks to automate more financial processes, simplify them where possible, and standardize across different business units.

 

Key components of Mercury 2.0 include Microsoft Power BI and Excel on one side, the finance data lake on the other, and Spark in the middle, working as a data traffic cop.

Making things simpler and faster isn’t easy. This chart shows the complex web of data sources and analytical tools used in Mercury 2.0 to accelerate and refine Microsoft’s financial reporting processes. Mercury 2.0 follows on in the footsteps of Mercury 1.0, which has been crunching Microsoft’s numbers for the past decade.

“Mercury is the backbone of the company as far as producing its financial statements,” says Arthur So, director of Finance Business Intelligence for Microsoft. “It’s what Wall Street gets. It’s what all of our filings are based on, so you can’t find a system more important for financial compliance and the reporting of our numbers.”

[Learn how to create a data governance structure that accelerates digital transformation. Watch this video about how Microsoft manages its corporate firewalls with Microsoft Azure Firewall Manager.]

Upgrading Mercury 1.0

Mercury 1.0 has been a company powerhouse, but it was time for an update.

“We did a darned good job with Mercury 1.0,” says Timm Rulison, principal program manager for Finance Engineering. “But like anybody else, we had changes in our business processes, such as moving to a consumption-based (subscription) model, which is lower margin but higher volume. As a result, we’ve just seen an exponential explosion in revenue data.”

Spark is a programming language that takes all of the data and moves that into a single pipeline. That gives you much greater scale, as well as access to virtualization that you don’t necessarily get through SQL.

– Timm Rulison, principal program manager, Microsoft Finance Engineering

Mercury 1.0 is based on Microsoft SQL Server, a venerable relational database management tool that was launched in 1989, a time when the internet had only 100,000 host machines. And although SQL is a rock-solid product, even its modern iterations aren’t designed as “big data” solutions.

Enter the Microsoft Apache Spark connector, which can tackle the large-scale data processing the Microsoft Azure stack is designed to perform.

“Spark is a programming language that takes all of the data and moves that into a single pipeline,” Rulison says. “That gives you much greater scale, as well as access to virtualization that you don’t necessarily get through SQL.”

Moreover, Spark allows a process called “sharding” that breaks massive amounts of data into smaller chunks that can be distributed across a wide range of cloud-based high-performance servers.

As both the database size and number of transactions increase, so does the response time for querying the database. Costs associated with maintaining a huge database can also skyrocket due to the number and quality of computers you need to manage your workload. By moving Microsoft’s financial reporting processes to Microsoft Azure and using data shards, on the other hand, hardware and software requirements can be managed on less expensive servers.

“Because of statutory requirements, we have to submit data going back 10 years,” Rulison says. “That’s a huge amount of data, so we shard it month by month. Sometimes we can combine several months or years into a single shard.”

A faster way to handle complex financials

The automated financial reporting used in Mercury 2.0 is beginning to roll out, and is demonstrating several advantages of a near-real-time data platform over the older but still capable SQL-based system.

Most importantly, it’s incredibly fast. Mercury 1.0 processed financial data in batches, sometimes with only a few data publications in a day.

“Mercury 2.0 can process financial data to generate reports as soon as transactions are recorded in the SAP ledger in near-real time,” says Sudhahar Jayapalan, a principal software engineering manager for Finance Engineering. “A batch system takes time to create those reports for financial users.”

Mercury 2.0 is built for future data growth, with the ability to autoscale as workloads grow. Its architecture is designed to intake both batch and event streams of data to process, then distribute it to multiple endpoints to address different scenarios in data consumption. Users can choose to receive data insights using a variety of tools such as Microsoft Power BI, Excel, Web Reports, and a mobile app.

“We’ll be a lot more efficient and automated when Mercury 2.0 is fully operational,” Jayapalan says. “We expect to see a 20 to 30 percent improvement in performance along with the data at speed to users. And we’ll keep improving the system, so it reflects how its users utilize the core statutory financial systems.”

Providing a personalized experience is another objective of Mercury 2.0.

“The system is designed to use AI and machine learning to determine user needs based on their daily interactions,” Jayapalan says.

Other improvements include a more graphical, user-friendly interface—including a voice command feature, the Microsoft Cortana natural speech language product, to reference particular types of information—as well as embedded analytics to enhance or replace manual work performed by accountants.

A great collaboration

Link sees Mercury as a notable example of collaboration between quite different teams—in this case, finance and engineering.

“Finance was very enthusiastic about the capabilities we could give them with Microsoft Azure,” she says. “In fact, their enthusiasm sort of caught us off guard. I really owe a lot of thanks and gratitude to the engineering team.”

Not only does Mercury 2.0 offer a more user-friendly and detailed experience, it also emphasizes the solid reliability and foundational numbers Microsoft requires.

“We can serve up more customer enrichment and better customer analytics,” So says. “With Mercury 2.0, we can store the preferences of a user—such as information they might want about incoming costs—and proactively alert them when certain conditions are met.”

Mercury 2.0 is also designed to offer mobile usability by narrowing down financial information to key numbers a user might need.

“Jamming a million reports onto a phone isn’t really a true mobile experience,” So says. “But there are things that are optimized for a small device.”

Finally, because Microsoft is hardly the only multinational corporation with complex financial reporting requirements, Mercury 2.0 clearly has commercial potential.

“A modern profit and loss system is key for any publicly listed company,” Jayapalan says. “If Microsoft can run that sort of system on Microsoft Azure, so can other big companies.”

In the coming months, Link says, Microsoft will continue refining Mercury 2.0 and rolling it out to additional parts of the company. “This is a showcase for demonstrating to our customers the capabilities of Azure,” she says.

Learn how to create a data governance structure that accelerates digital transformation.

Watch this video about how Microsoft manages its corporate firewalls with Microsoft Azure Firewall Manager.

Recent