Why did I write this application…

I have spent several years working for a software company as a quality assurance engineer. Customers raise issues with the software and the records are stored in Dynamics 365 CRM. I learned to use the saved views to prepare the data I needed to analyse. These views allow you to filter and format data in CRM easily through a user interface and then save the views for later use. For analysis of the data there are not too many tools available, so you are left with downloading the information in Excel.

Don’t get me wrong Excel is a great tool for many things but sifting through loads of customer verbatim looking for trends is not one of them. Lets assume that I had 300 verbatim to look through and each one took me a minute to read, mark as reviewed and tag with keywords. Now I need to search for other records for keywords I picked out and see if any of the other records may be the same issue to identify a trend. The first one may take a minute, but after about 30 minutes of this I am glazing over. Oh by the way, after 30 minutes you have done 10% of the data and you have another four and half hours left to get through the rest.

So I looked at what I was doing to find trends and decided to add some Natural Language Processing (NLP) to make it easier. Here is how Customer Verbatim was born:

1. Utilise saved views to extract and filter the data. Save the views for later use and change the date filter in CRM to get fresh data each time I am ready to do analysis.

2. Download the data from CRM which includes a unique key and the verbatim. You may want to include other fields like creation date, to help determine if other records were raised at the same time.

3. Run the (NLP) on the data to extract keywords for each record, then group the records by keyword so that similar records are grouped together. The number of grouped records required for acceptance is entered in settings so you do not have to see keywords with only one or two records.

NOTE: This is the important part of what Customer Verbatim achieves. It does not care what the verbatim says or means, just that there were a group of people who said the same thing. Usually verbatim text written by a customer is not correct grammar or even coherent thoughts so trying to analyse this scratching is beyond even advanced NLP. Customer Verbatim just gives you the starting point to look into the individual issues further to see if they are similar.

4. The next step is to get rid of the keywords I already know, or words that are specific to every issue. For example these words can be: your company name, the name of the product or anything that may happen in many verbatim. I call these noise words so Customer Verbatim saves a list of these that can be applied to the analysis results to minimise the results even further.

5. I only want to read the verbatim once, but I may need a reminder about what I read. Customer Verbatim allows you to tag the record with free form text and a switch that you have read it previously. If this record shows up grouped with another keyword you can skip reviewing it again.

6. Customer verbatim also allows you to quickly open the record in your CRM organisation if you need further information and the data is not in fields you included in the saved view.

I have been using this tool for about a year and I can run through 300 records in about half and hour, and usually find an emerging trend. My first cut is to just run through the keywords selected from the analysis looking for that moment when I see something that does not make sense or I have not seen before. For some reason the new trends seem to be in the keywords that have 3 records grouped with them.

To get the full use of this tool you need to run it on a few data sets so that you build up your noise word list and see if it will help you quickly find issues before they become trends. I hope you will find it useful and time saving enough to give it 5 stars.

Ideas for version 3

Hello:

Thanks for visiting. Hopefully you are enjoying Customer Verbatim Version 2. Here are some my ideas for Version 3. If you think any of them are the most important then email admin@customerverbatim.com. I have not turned on comments here due to spam issues and I don’t want to make people store their email addresses to post. I am working onĀ  getting a plug-in to allow voting.

Display Names instead of logical names:

  • Display names for fields in View Mapping, and analysis output – this may be hard, will have to probably implement languages first (see languages)

Entity and View Screen

  • Keyboard press of a letter should jump to that letter in the entity list.

Analysis area:

  • Have a grid view of keyword records and extension properties, which you can copy.
  • Add a “copy all” to a keyword records so you do not have to copy one at time.
  • When sorting keywords a double click on Keyword or Frequency should change the ascending / descending of the sort.

State / Profile:

  • Multiple profiles/settings/noise word list
  • Save the state of an editing session
  • Save and import noise words list
  • Save and import configuration file
  • Noise words should be profile specific
  • Clear the settings
  • <li”>Copy the settings

Language:

  • Add language features as requested – mainly the stop word list is not only English
  • Add language as a configuration parameter for text analytics
  • In entities we are getting localized label get the users language code instead of 1033

Welcome to Customer Verbatim Blog

Welcome to Customer Verbatim which has finally shipped in the Windows Store. If you don’t have a copy yet then download it now from the Windows Store.

I have decided to make it free because this was just an experiment in creating a UWP application for Dynamics 365 and getting it into the store. I did have some fun creating a Modern Responsive CSS website and enjoyed playing with the graphics in my attempt at a brand. If you do find any issues with the app please send email to admin@customerverbatim.com and I will see if I can get them fixed. I have some ideas for version 3 and depending on usage I will try and get a way to have them voted up.

I think the big limitation for an application accessing Dynamics 365 CRM making it mainstream is the client id which needs to be created by a global admin. I am all for security and all, but if a browser can access the Web API without a second key then why does an application need one? Therefore, the next experiment will be to see if this application can be built into a Power App inside of the CRM sandbox. The view and data will already be available and a plug-in can do the heavy lifting for the text analytics. It will just be a matter of getting a canvas app to display the output properly.

I hope you enjoy the app and if so use the link in the App Info pane to give it 5 stars!!!