Using SQL Server 2016 with R Services for Campaign Optimization

This post is authored by Nagesh Pabbisetty, Partner Director of Program Management at Microsoft.

We are happy to announce a new Campaign Optimization solution based on R Services in SQL Server 2016, designed to help customers apply machine learning to increase response rates from their leads. This post contains more information about this new solution.

Marketing organizations traditionally use a number of channels to reach and interact with customers. In addition to providing offers that are best suited for a given target segment, they also make use of the most appropriate communication medium, such as SMS, email or phone calls.

With our new Campaign Optimization solution, you can review a set of offers alongside a set of prospective customers and campaign business rules to figure out which offer should go out to which prospect, on what channels, and precisely when.

We have published this solution in the Cortana Intelligence Solutions Gallery. The solution provides a hands on experience by deploying into your Azure subscription. The deployment takes just a few clicks, getting the solution up and running by configuring it on our most popular VM, namely the Microsoft Data Science VM (DSVM) that comes loaded with all the tools that a data scientist will need. The code is also published on GitHub, so if you prefer to run this on your own machine entirely, you can the instructions that are available there.

We use a real world scenario involving the insurance industry. Model predictors include demographic information for the leads or prospects, historical campaign performance, and product-specific details. The model then predicts the probability that each lead in the database will make a purchase on a particular channel, and we predict this for each day of the week and at different times of the day. Recommendations on which channel, day of the week and time of the day to use, when targeting these users, are based on what the model predicts will have the highest probability of converting into a purchase. If the report needs to be updated, this can be done via the Power BI desktop that comes pre-installed in the VM.

Two Experiences, for Two Different Personas

  • The business manager responsible for the campaign needs leads to be targeted using the optimal channels and get the highest possible response rate. The manager uses the Power BI -powered dashboard to get a snapshot view where they can then quickly determine the right channels to use for each lead.


  • The data scientists who are testing and developing solutions can work from the convenience of their R IDE on their client machine, while pushing the compute to the SQL Server machine. They can also use PowerShell scripts or Jupyter Notebooks, in addition to using IDEs such as R Tools for Visual Studio. Completed solutions are deployed to SQL Server 2016 by embedding calls to R in stored procedures. These solutions can then be further automated with SQL Server Integration Services and the SQL Server agent.

We would love to hear your feedback, so do give the solution a try and write to us via email here.