*** NOTE: ALL INFORMATION IS ACCURATE AT DATE OF PUBLISHING ***
If the title of this article seems familiar, it’s because it’s based on a presentation I did with the same name. This was originally put together for the D365UG/CRMUG Virtual Summer Camp, but seemed like it might be a ‘real world’ use case that could be of value. So, here it is in blog form!
So what is Net Promoter Score? Net Promoter Score (NPS) is a customer loyalty metric developed by Fred Reichheld, Bain & Company, and Satmetrix 2003. The NPS is calculated based on responses to a single question (on a scale from 0 to 10):
How likely is it that you would recommend our company/product/service to a friend or colleague?
So how is it calculated? Based on responses, customers will be classed as one of the following:
- Promoter (score 9-10) – will continue to buy from you, refer you and promote you
- Passive (score 7-8) – satisfied but unenthusiastic. Could be easily swayed by competitors
- Detractor (score 0-6) – unhappy customer who can damage your brand and impede growth through negative word-of-mouth.
The Net Promoter Score formula then gives you the NPS. % PROMOTERS – % DETRACTORS = NPS. The score can range from a low of -100 (all Detractors) to a high of 100 (all Promoters).
So how can we add this to our Dynamics 365 environment? There is a bit of set up to get started, but it’s well worth it if your organisation wants to start capturing and understanding their Net Promoter Score. The first thing is to configure and set up Voice of the Customer. It’s a free survey tool from Microsoft. You can check out some of the Voice of the Customer videos I have done to get you started. You could also use a custom survey entity, or surveys that are part of ClickDimensions. The VoC solution comes with a global option set installed called Net Promoter Score. Make sure you add this if you are going to use a different survey tool. Now using that option set, create a NPS Type field on the Contact entity.
Including the NPS Type field, add the rest of these fields to the Contact entity. This will allow us to see the most recent NPS score given, and for which survey, and what the previous information given was. This could be helpful to see if a Contact’s perception or opinion has changed drastically, and what caused this. Or, hopefully, where it’s improved!
For the Account entity go ahead and add the following fields. On the Account we will be able to track all of the Contacts who have provided an NPS score, giving us the ability to capture the number of Promoters, Passives and Detractors, then the percentage of each. This then allows us to get the NPS for each Account. Very helpful for Account Managers to see which companies are happy overall.
For the Active Contacts and NPS Contacts, these will be added as you see below, giving us the ability to see how many Contacts exist overall on an Account, and how many of them have actually provided Net Promoter Score data.
For the numbers of each type of NPS contact, we can do a Count with a filter for the NPS Type field (3 needed – one for each type), and for the percentage we will do a calculated field setting the number of each type divided by the number of NPS contacts, multiplied by 100 (3 needed – one for each type).
Finally on the Account we need the calculated field to figure out the Net Promoter Score.
You’ll then need to add some fields to the Business Unit entity, which will be the exact same fields you added to the Account entity. The only difference being that the related entity will be the Contacts (Owning Business Unit). Make sure you add all of the fields to your Contact form. Leave the fields open for now. We will need a couple of workflows. Once those are created, you can then make the fields read only so they are only ever updated when new surveys are completed.
Then make sure to add your new fields to the Account form, and also to your Business Unit form.
Next, create and field on the Survey Response entity (VoC). This will be a whole number field. Go ahead and add it to the NPS section on the form.
Create your survey, and make sure to add the Net Promoter Score element to it.
When a survey is completed, the standard VoC functionality will update the NPS Type field on the survey response, but not the NPS number. Let’s fix that with a workflow. This will run on the Question Response entity. Your condition should check to make sure the Question Net Promoter Score field equals Yes. If it does, update the related Survey Response record.
Make sure you use the Question Response – Value As Decimal to populate the NPS field.
Next we want to make sure the Contact record gets updated with their latest NPS details each time they complete a survey with the NPS question on it. Run the workflow on the Survey Response entity, and start when the NPS field changes. Check to make sure it contains data, then update the Contact record.
The first four fields on the Contact should be populated from the related Survey Response record. The second four fields should be populated from the Contact itself. This gives us the previous data, and the most recent data.
Now when your survey results start coming in, you will see the details not only populated on the Contact, but also on their related Account record like you see below.
You can then get your overall Organisation NPS by looking at your Business Unit.
If you wanted to provide further value to the Account Manager, or anyone interested in getting an overview of an Account, you could create a Word Document template similar to the one below. Quick and easy, and no developer knowledge needed. Just make sure you add in the business unit entity relationship when creating the document so you can show the overall NPS, and the Contact entity relationship so you can add related Contacts and use a repeater to show them all.
Check out the latest post:
D365 Account & Contact Management Using Power Automate
This is just 1 of 357 articles. You can browse through all of them by going to the main blog page, or navigate through different categories to find more content you are interested in. You can also subscribe and get new blog posts emailed to you directly.