This post is a part of Made @ HubSpot, an internal thought series through which we extract lessons from experiments conducted by our very own HubSpotters.
Mark is the managing sales director at his company, and his job is to help businesses grow better. He spends each day meeting prospects and clients, understanding their core needs, attending conferences, and exchanging information.
Mark operates in the finance sector, where information is primarily exchanged with business cards. When he receives new cards from contacts, he sits down at his laptop, opens his CRM, and manually transcribes the information.
Mark doesn’t always enjoy this process, but each and every business card is important, and he needs to capture that information for his CRM.
Sound like a clunky, monotonous, time-consuming process? It is, and Mark isn’t alone.
HubSpot recently conducted a survey on how sales teams operate, and they found that salespeople spend 20% of their time on data entry activities, such as inputting lead information, adding notes, and attaching documents.
That’s almost two hours of an eight-hour workday … which is valuable time that could be spent on other revenue-generating activities.
At HubSpot, we decided this wasn’t good enough. We dug deeper into that 20% and tried to understand how and where this data entry was happening.
We found that although modern technology is universal, salespeople still depend on exchanging contacts the old fashion way — through business cards. From conferences to one-to-one meetings to baseball games, this was happening everywhere.
We started with a rudimentary version that used a simple, rule-based model, allowing for quick release and market validation. For example, if a piece of data was a number, the Business Card Scanner tool recognized it as a phone number. If the data included an @ symbol, the tool captured it as an email address.
Upon release, the Business Card Scanner tool quickly became an invaluable tool for traveling sales representatives. We saw an immediate boost in usage, about 20% week-over-week.
With validation in place, we started brainstorming version two of the Business Card Scanner. We were working in a competitive space and needed to differentiate our product. With the feature already in the market, we had a rich pool of users telling us the same thing: they wanted the Business Card Scanner to be quick, accurate and cheap.
As we dug deeper, it became evident that no matter how seamless and accurate the business card data extraction was, salespeople wanted the technology to classify the data for them. We needed to approach this problem systematically.
We divided the challenge into three phases:
Optical Image Recognition (OCR), and
The first phase, Capture, was all about image detection and capture, photo perspective corrections, edge detection, cropping and other factors that prepared the image for step two.
For the next phase, OCR, we used Google Cloud Vision to extract the business card text. As we developed this solution, we researched and benchmarked four OCR tools using the business card data from version one. These included two open-sourced tools (Tesseract 3 and Tesseract 4) and two proprietary solutions (Amazon Rekognition and Google Cloud Vision). Google Cloud Vision consistently came out on top.
The final phase, Classification, was where the fun happened. It was the perfect problem for machine learning and artificial intelligence to tackle. At a high level, machine learning is all about attempting to copy human decision making. If a human is given unlimited time and the right data, they’d be able to make the right decision — this is what artificial intelligence attempts to emulate.
This was the exact challenge we had with the Business Card Scanner. Our goal was that when someone used the tool to scan a card, it would automatically set the text to the CRM property they wanted. For example, if a job title was pulled from a business card, the tool would set that data as the Job Title in the CRM.
Before we started doing this prediction, we needed to train the machine learning model to know which field in the business card corresponded to the proper CRM property.
To train the model, we released version two of the Business Card Scanner to our iOS users as they’d been asking for the tool since the Android release. We also wanted our machine learning model to capture and learn from how the users manually set CRM properties for the scanned data.
Once our model captured enough classification data, the team was able to devise a predictive model that would classify key properties without any user input — with 95% accuracy. That meant that for every 100 properties scanned into the Business Scanner Tool, only five would need manual changes.
This would be how our product stood out among competitors.
It was time to release our final version to our users. We’d gone from a tool that required users to manually select the CRM properties friction. Our new version was also twice as fast — what used to take over 10 seconds now took merely five.