Machine learning for Dynamics, Part 1: Microsoft’s ML packages in SQL and R Server

By:  Mark Anderson

They are top tech, software and internet companies; yet officials from Amazon, Baidu, Facebook, Google, IBM, Intel, Microsoft, NVIDIA, and Tesla have all recently stated they are becoming artificial intelligence (AI) companies. And this fad is no flash in the pan. AI is sweeping across the business world because computer power (especially GPU co-processor speeds) and the big data sets to train AI networks have both reached tipping-point levels. The speed of the first and the vast sizes of the second have enabled real-world applications of this previously theoretical and academic field of study.

For Dynamics ERP and CRM users, the upshot is that those same “smarts” which allow your smartphone (or smart home device like Amazon’s Alexa) to understand your speech can also be put to use in your workflows at the office. Over this three-part series, MSDynamicsWorld will feature some top experts describing recent machine learning use cases in Dynamics applications or, in this case, SQL Server and R Server environments.

A smart time sheet for more accurate billing

Steven Borg is a cofounder and strategist at Northwest Cadence in Bellevue, Wash. He says SQL Server is an ideal engine for batch processing in particular – scheduled analytics that can run in the background or overnight and don’t require much input or tweaking on the part of the user.

“The nice thing is, your data is already in SQL Server, so for [companies running applications with SQL Server] to do some kind of processing, they can do it without having to shuttle a bunch of data around,” Borg says. “It’s fast, it’s efficient, and it’s easy to get started.”

For instance, says Ryan Chynoweth, data analytics developer at Northwest Cadence, one application recently came in the form of time sheets for a law firm. This firm had many clients, compounded with multiple ways to bill time for each individual client. And so a problem this law firm encountered, he says, was that not all lawyers judged their time – and the billing code they use for logging that time – according to the same criteria.

And yet if a client discovers an error or discrepancy in its bill, it can rightly call the law firm’s entire price quote into question, causing confusion and lost time and untold difficulties retracing everyone’s steps and winning back the client’s confidence. This problem could be avoided, Chynoweth says, if the firm uses a smarter time sheet system up front.

So Chynoweth says using R code in SQL Server, he was able to put together a smart time sheet system for this client law firm that has helped it use better and more consistent billing codes.

Using the MicrosoftML package that’s part of Microsoft R Server 9.0, Chynoweth says Redmond’s machine learning libraries can be flexibly applied to make a time sheet smart. In particular, his solution for the law firm used the function rxNeuralNet to study the firm’s backlog of correct time sheets and develop machine learning models that “understood” situations that might occasion one billing code over another. Then the machine learning solution surfaced the top five candidate billing codes for any given entry on a new time sheet entry, and populated those codes into a drop-down menu for a lawyer or paralegal to choose when billing for their time.

“From a business standpoint, lawyers no longer need to guess at what the billing code should most appropriately be,” Borg says. “They’re given the top five choices, so they can make quick, informed decisions that are more likely to be correct than if they just picked them from a random list.”

DynamicsFocus, LLC. is the leading source of Microsoft Dynamics recruiting in North America, learn why here

Super-easy machine learning for complex business problems

Chynoweth says that this small example of MicrosoftML in a law firm’s workflow could be applied broadly and across numerous industries.

“Companies and individuals now have open access to powerful machine learning packages,” he says. “Microsoft have open-sourced a lot of their neural network and powerful machine learning algorithms. It just makes it super easy to do that kind of machine learning.”

Other equally powerful MicrosoftML functions like rxLogit and rxLogisticRegression, for instance, allowed Chynoweth to develop smart solutions that enable clients to better understand customer churn.

Borg says companies are sometimes alerted to customers who are preparing to leave for a competitor when that customer makes repeated calls to a customer help desk. Human sales reps can pick up on that and devote time and resources to trying to keep those customers from churning.

But, he says, churning customers interact with a company’s website differently than do regular customers, in ways that it is difficult for humans to pick up.

“People might be hitting your website once every three to four days, on a fairly regular basis,” Borg says. “But then they hit your website repeatedly over the course of a day or two, and then they have a gap of four days, five days, six days without hitting your website at all. That may be an indicator that they’re about to churn as a customer. But the likelihood of a human finding out that level of detail is almost impossible.

“Computers can be sifting and digging through that data to identify that reasonable churn trivially,” he says. “That’s what they do.”

For readers seeking more details and sample code, Chynoweth points to three recent blogs he wrote on the Northwest Cadence website that provide greater detail on using SQL Server and the MicrosoftML R library to develop smart solutions to clients’ challenges.

Next time: Machine learning with Dynamics 365.

About Mark Anderson

Mark Anderson is a science and technology journalist, author and copywriter. Based in western Massachusetts, he’s written for many top publications and about everything from IT to genomics to energy. He recently launched a business copywriting service and is the author of two nonfiction books about science, history and literature.