A Peek Under the Hood: How We Created Our Machine Learning Platform
I’m extremely proud to introduce Intelligent Business Payments Platform, our third generation of machine learning. It’s a smart service that helps our customers handle their invoices more quickly and efficiently than ever.
Our machine learning journey began in early 2017, and we’ve learned much along the way. Back then, we realized that our customers were uploading millions of invoices and documents every month to Bill.com.
This was not unexpected. After all, every organization deals with hundreds, maybe even thousands of bills per month. Bills to pay for everything from electronic equipment to contract workers to landscaping services—you name it.
Back in 2017, uploading these invoices to our system required a certain amount of manual entry. For instance, users needed to manually input information like the total invoice amount and due date. They also had to specify who in their organization needed to approve the invoice before it could be paid. And, if the invoice was over a certain amount, who else needed to sign off.
All of this manual entry took time—and we wanted to reduce it. We knew we could save our customers minutes and hours in their work week if we could cut back on the manual entry required when uploading bills, especially recurring bills like the phone bill and the electricity bill. This would enable our customers to spend time on more important tasks and grow their business.
How could we do this? We decided to teach our system to perform data entry functions on its own. To know, for instance, that the next time a phone bill comes in, it should be routed to Jane in operations for approval.
That’s when we started working on an Intelligent Virtual Assistant (IVA) that would view all customer bills and accurately categorize them without manual input.
Of course, we realized this would not be easy. So we brought in a really smart team of outsourced data scientists from Google to help us. We used Google Cloud and Google Vision to build our first set of machine learning models.
This was a really promising start but we soon realized we could do better in terms of accuracy. To get where we wanted to be, we knew we’d need to build a team in-house. So we did. And this team made tremendous progress. But it was still a part-time effort—the engineers on the team were dividing their time between the Intelligent Virtual Assistant and dealing with their regular jobs, like bug fixes, feature development and all the other tasks that keep us up and running.
We did not have a team of engineers focused exclusively on addressing our machine learning challenges and goals—and we knew we should. So, in 2018, we created an emerging technologies group inside of our engineering organization. To fill it out, we hired talented data scientists and machine learning engineers and assigned them to work on IVA full time.
Concurrently, we transitioned away from Google Cloud to AWS and Amazon SageMaker. And, as part of our third generation of machine learning, we started developing new machine learning models of our own.
We also began to sequence some of our models. When looking at invoices, we determined that one type of machine learning model was really good at detecting the vendor name, for instance, and another type was great at recognizing due dates. Once we started evolving our models and focusing on specialization within each invoice, our accuracy rates went through the roof and our errors went way down.
We also started to look closely at the documents customers were uploading to our system—and we realized that fewer than half of those documents were invoices. People were uploading things like contracts and vendor letters. This demanded better classification. We needed to train our system to determine what’s an invoice and what is not.
At the same time, we created specialized models that would enable us to determine if an invoice is sent directly from a user’s accounting system and, if so, what that system is: QuickBooks, Xero, NetSuite, Intacct or Square.
One of our latest machine learning models is called YOMO—You Only Miss Once. This model learns the vendor name after the first invoice and it never misses again. It also works across our network of millions of users, getting smarter every day. So if one customer enters an invoice from say, AT&T, the system recognizes every other invoice from AT&T across our entire user base.
The new platform is just as effective for long-tail invoices that come from smaller or infrequent vendors. Customers themselves can train the model by pointing and clicking on the vendor name in an uploaded invoice and the platform will remember that vendor going forward.
It’s also important to note that while the new Bill.com platform is continuing to learn from the collective input of all our customers, it is doing so in a way that completely protects your data. Our platform isn’t here to somehow profit from your data. It’s here to help you run your business better, period.
I knew we were getting pretty close to perfecting the platform around November of last year. How did I know? Because, as head of engineering, I have the privilege of getting weekly—sometimes daily—feedback from our CEO on how the product is working.
To be honest, in early 2018 I got lots of feedback about what wasn’t working so well with it. But, by the end of the year, I started getting complimentary emails from our CEO, who was increasingly impressed by the accuracy of our machine learning.
I have also been a user of IVA since February of 2018, and I started to notice significant improvements later that same year. The system began recognizing all the bills I uploaded from my mobile app. I knew we had turned the corner when my monthly sanitation bill was automatically recognized, categorized and ready for my approval. My CEO and I were having the same happy moment with our new platform!
Throughout development, we had close to 2,000 customers beta-testing the platform and they’ve put more than 1.5 million documents through the system. It’s not really a new feature. It’s an overnight success that was years in the making. And it will be helping our customers for years to come.
We hope you enjoy the new Bill.com platform as much as we’ve enjoyed creating it.