Opportunity scoring - ML on sales pipeline

Overview of Opportunity scoring

Opportunity scoring designed to predict the likelihood of a win for each sales Opportunity in Dynamics CRM.

The model was built on historical Opportunity data and account related data available in Dynamics CRM out-of-box entities and fields.

In Dynamics CRM, after installation, you will be able to see not only a opportunity win score, but also an explanation of the key attributes that contributed to the Opportunity score. This is useful to identify potential steps that could improve the Opportunity win score.

Opportunity Scoring for Dynamics CRM is a template architecture and predictive service addition to Dynamics that computes a probability of success for each sales opportunity in the sales pipeline.

Opportunity Scoring uses a machine learning model trained on past sales data to predict the eventual probability that the sale will be won. Training and prediction are implemented with Azure Storage and Azure Machine Learning, orchestrated by Azure Scheduler, and executed within an Azure Web Job.

1. The download provides an advanced solution reference architecture that a IT developer can customize to build customized end-to-end solutions.

2. The documentation has step-by-step instructions to guide you through the installation.

3. Once installed you will see three Machine learning models, plus web services, endpoints, and retraining and scoring web jobs in your Azure ML subscription.

4. You will also see customizations applied to your Dynamics CRM instance to allow users to refresh their scores, view explanations why the opportunity got its score and view the history of previous scorings of opportunities.

The solution will configure a connection between Dynamics CRM and Azure services. Once set up the solution will copy your CRM online opportunity data into your Azure subscription, score your opportunities, and present the resulting scores in Dynamics CRM.

Architecture components of Opportunity scoring installer

Machine Learning model - "Opportunity score" built in Azure ML
Machine Learning model/techniques to provide insight of feature contribution and recommendation
Retraining Pipeline to automatically train model on a recurring basis
Scoring Pipeline to score model
Azure Web jobs for automated / scheduled run
Dynamics CRM forms
Installer for setting up opportunity scoring for Dynamics CRM
Azure Key Vault for storing all confidential information entered by the user. Only the user has access to the Key Vault (Microsoft does not have access to the Key Vault or data stored within the Key Vault) created by her/him in her/his Subscription.

How to install opportunity scoring for Dynamics CRM

Download zip file. Extract zip file.
2.Double click on executable.
3.Follow the wizard.
4. User (using Installer) would need to enter valid credentials for existing Dynamics CRM instance with administration rights & an Azure subscription.
5.Select the Subscription and Region where you want to install model and provision Azure resources.
6.You can (optionally) enter an email address and mail server to receive alerts from the retraining and scoring system.
7.The installer then creates the following required resources, in the selected subscription, for setting up the Opportunity Scoring model
8.i. Creates an Azure Storage account to be used by the model to store configuration files, logs for the model run and the monitoring files.
ii. Provisions and creates an Azure Machine Learning Work space in the selected region which will contain the copy of the Opportunity scoring models to be used for scoring the opportunities.
iii. Copies the Opportunity Scoring Model experiments to the created Azure ML work space
iv. Creates Azure web jobs which facilitate the automated run of the Opportunity model, facilitating the data ingestion from CRM, scoring the opportunities and writing back the scores to CRM. The web jobs are scheduled to run on a daily basis.
v. Provisions Azure Key Vault for safe keeping of sensitive data like CRM password, Azure Storage Key etc. This approach keeps the passwords protected from use by unauthorized use by any other application or user.
vi. Creates and uploads a configuration file to the Azure Storage account. The configuration file contains data required by the Opportunity Model run, such as CRM account URL, list of entities and attributes of CRM to be used, mail server information etc.
9.At the end of the successful installation you will get a path of a Text File for reference (with details of all the resources created and associated with the application for CRM Tenant). You can verify and see details of the all the resources created for the CRM Tenant. Log of Installation process to visualize the activities by stages is also generated and path provided in the Text file.