Measuring Repeat Business in CRM Online

As CRM Online consultants at xRM (, we listen to the needs of our clients and then make their vision a reality. This goes beyond implementing requests verbatim. It is important to take in the requirements, understand the driving factors behind them, and deliver a solution that meets the objectives beyond the explicit request of the client.

Recently a client expressed a need to differentiate revenue between first-time and repeat customers. Technically, a simple option set would accomplish this. The requested label of the field was “Client Type,” and the options were simply “New” and “Existing.” However, this solution would lead to less-than-reliable data as it would require user input to set the value. The client was concerned that in adopting a new CRM platform, users would often forget or not have time to verify whether the opportunity was new or repeat business. Fortunately, we settled on a simple way to systematically track repeat business by using a custom rollup field and a workflow.

For those of you uninitiated, a rollup field calculates an aggregate value computed over the child records related to a parent record. In this example, we use a rollup field to count the number of won opportunities related to an account. The process is quite simple.

From the entity in question, Account in this scenario, create a new field. (See below.) In the Type section, select “Whole Number” as the Data Type and “Rollup” as the Field Type. Next, click the Edit button.

Note that once you click the Edit button, CRM Online creates the field and the Data Type field can no longer be modified.

Measuring Repeat Business in CRM Online

The Rollup Field window opens. (See below.) In the RELATED ENTITY section, we choose the entity on which we want to perform the calculation, “Opportunities (Account)” in this example, which means any Opportunity records related to the Account record that has the rollup field. Next, we can optionally specify any filters. In this situation, we define an existing customer as any Account with one or more won opportunities. Therefore, we filter the Opportunities with “If Status equals ‘Won’”. Lastly, we set the aggregation, which will count the number of Opportunities that pass the filter, and then we click Save and Close.

Measuring Repeat Business in CRM Online

It’s important to understand that rollup fields operate on an asynchronous process, and the roll-up is performed every hour. A rollup calculation can be manually triggered by clicking the refresh icon in the actual rollup field on the form.

For testing purposes, it can be good to place the newly created field on the form somewhere to verify that it is calculating correctly. However, the field does not need to be present on any form for the Workflow that we will design shortly to function properly.

Before we can create the workflow, we need the “Client Type” field to exist. The customer in this example wanted the field to reside on the Opportunity entity. This is a simple option set where the values are “New” and “Existing”.

Once the necessary fields are in place, we can design the Workflow. This workflow is triggered whenever a new Opportunity record is created.

The first step is a Check Condition that checks if the Parent Account of the Opportunity has a Won Opportunities value greater than zero.

Measuring Repeat Business in CRM Online

If the Won Opportunities is greater than zero, then the workflow updates the Client Type to “Existing”. Otherwise, the Client Type is set to “New”.

Measuring Repeat Business in CRM Online

This workflow takes the human error component out of properly categorizing repeat business per these specifications. There is not only one way to design this workflow. The requirements of the scenario should dictate how the workflow should be written. What defines a repeat customer? Is there more than one way to establish a customer in CRM Online than with a won Opportunity? What other kinds of automation can be implemented from this logic? These are all important questions that need to be answered. As expert CRM Online consultants, xRM can help you achieve the optimal solutions.

You can learn more tips, tricks, and tutorials for Microsoft Dynamics CRM, please check out our xRM blog and our Success Portal. If you would like to receive training from our team of experts, please inquire about our QuickStart Training.

Read More

Option Set vs. Two Options in CRM Online

When creating custom fields in Microsoft Dynamics CRM Online, the most important step isn’t the field name, nor the placement on the form. The most important part of creating a custom field is selecting the correct data type. As CRM Online consultants at xRM (, we work with clients in analyzing their data to ensure that the fields in which their data is entered are set up for optimal scalability and reporting capabilities.

In this post, we want to focus on two specific data types with similar sounding names but different uses: Option Set and Two Options. The former is a field that houses a predefined set of Options, sometimes referred to as a picklist or drop-down menu. The latter is quite simply a binary input.

One example of an Option Set could be a list of 50 Options representing the states of the USA. Such an Option Set is great for reporting because it prevents users from inputting inconsistent values intended to mean the same thing, compromising the data integrity. For example, three users could input the state in three different California addresses differently: “CA,” “Cali,” and “California”. This would become disastrous for reporting. Say a user were to run a report that asked, “Show me all accounts that are located in ‘CA.’” Accounts whose addresses had been recorded as “Cali” or “California” would not be returned as results, thus reporting a faulty number.

Two Options fields on the other hand can only house two inputs. By default, the values are “Yes” and “No,” though they can be modified. Two Options fields can also be rendered as radio buttons, a list, or a check box.

There we have it—two different data types for two very distinct purposes, right? Actually, in scenarios where the input seems to be only two values, it might not always be clear which data type to use.

A common mistake we see is administrators creating a Two Options field to collect data that seems like it only has two values but really needs three. Why is this a mistake? Let’s pretend the question is, “Do you like vegetables?” While this is a “yes” or “no” answer, configuring the attribute as a Two Options data type and displaying the field as a checkbox on the form means the input already has a default value, either checked or unchecked, yes or no. That would imply we’ve already asked the question and recorded the response. If the default is “No,” we assume no one likes vegetables until they indicate the affirmative. It also becomes impossible to know which records have indeed answered the question, since neither “yes” nor “no” means “unanswered”.

An Option Set allows administrators to create a field that has no default value and can still provide the user two options to choose from as input. In reality, no default selection means there is an additional (empty) input, which becomes the default. Such a field makes it clear which records have indeed indicated a response to either question we posed previously, because if the field is empty, it means the user hasn’t made a choice. If we also set the field as required on the form, we can force the user to make a purposeful choice, because a form cannot be saved while a required field is empty.

It may seem silly or superfluous to dwell on what appears to be a minute detail. But understand that once a data type has been specified for an attribute, it cannot be changed. To resolve a change from a Two Options field to an Option Set would require creating a new custom field, migrating previous values (if you deem them still reliable) to the new field, and updating any views, charts, dashboards, reports, workflows, mappings or other features that depended on the old field. That’s quite an effort to correct a mistake that seemed minute initially.

It’s very important to have an understanding of the purpose of a field before designing it. What questions will it answer? What workflows will it trigger? These are questions that xRM can help you answer if you need such assistance.

You can learn more tips, tricks, and tutorials for Microsoft Dynamics CRM, please check out our xRM blog and our Success Portal. If you would like to receive training from our team of experts, please inquire about our QuickStart Training.

Read More