Archive for category Goal Chart

Add insight to your pipeline with Advanced Goal Charts

The goal charts in CRM are already quite complex and hold a lot of information. The goal charts are combination of the Column and Point charts and display 4 different series (or Legend Entries). So why would I possibly want to make that even more complex. Well, some selling scenarios do require a more nuanced look at your pipeline.

First lets have a look at the built-in “Goal Progress (Money)” chart.

  • Target – the blue bull’s eye shows what we are aiming for
  • Today’s Target – the triangle is a calculated measure of where we should be today
  • In-Progress is the current value of our pipeline
  • Actual is the value of Won Opportunities

Once you have gotten used to seeing that many legends on one chart, this chart is actually very good and easy to read. I scan it and see if the green bar meets the triangle and if the grey bar is higher than the blue dot.

In business terms that would sound more like “Is my actual revenue for this sales period on track and do I have enough Opportunities of high enough value to meet my sales goal for the period”.

Where this chart is lacking information, is that the In-Progress series only show you the combined value of your pipeline. You actually have no idea if these are new Opportunities early in their development phase, or if contracts are almost ready to be signed. Maybe that’s why its the color grey.

“Weighted Revenue” (Est. Revenue * Probability of Winning%) is often used to calculate how much you reasonably can espect to close. Whether or not your probability is based on a defined gated sales process, or an estimate entered by the User, is really up to what works best for your business. For this specific scenario I prefer the gated sales process as it not only tells you the likelihood of winning, but also more importantly, gives you an indication of how far in the sales process you actually are.

You can read more about sales processes and weighted revenue on Richard Knudson’s very fine I won’t go into much detail here on exactly how to add Weighted Revenue to an Opportunity using Processes.

Back to the chart. It would be fairly easy to just change the goal so it rolls up weighted revenue instead of the Est. Revenue. However, that would only give us a view of how much our weighted revenue is. That might be equally as confusing as just having the whole pipeline. We also want to add the rest of the pipeline so we know what our full pipeline value is.

Enter “Floating Revenue”

When calculating the Weighted Revenue, as a part of the process, make sure you also have a field called Floating Revenue where you insert the remaining amount (Est. Revenue – Weighted Revenue = Floating Revenue). In the Process you would add Est. Revenue to your new field and in the next step decrement it by the value in Weighted Revenue.

We also need to add the Floating Revenue as a Roll Up field for the Goal. Luckily, up to three Roll-Up fields on one Goal Metric is supported. I’d suggest using a new Goal Metric rather than to edit the existing one.

For our Goal Metric for the Advanced Goal Chart we have:

  • inprogressmoney – Weighted Revenue (originally for Est. Revenue)
  • actualmoney – Actual Revenue (same as the orginal Goal Metric)
  • customrollupfieldmoney – Floating Revenue (the new roll-up field)

Now that we have the data being rolled into the Goal, we need to modify the chart to display the extra data. Export the chart “Goal Progress (Money)” and use it as a base.

Notice the actualmoney and inprogressmoney fields. We will need to add the Floating Revenue to the list of attributes as well as for the measurecollection and the Series. We will get into that later. Note that the order here is relevant as we want to keep the stacked column chart with Actual Revenue on the bottom, then Weighted Revenue and finally topping up with the Floating Revenue.

Here are the additions to the xml file.

In the fetch collection I’ve added Floating Revenue – schema name on the Goal entity is customrollupfieldmoney.

The new field also needs to be added in the measurecollection

Finally we can add the extra Series. Since the Floating Revenue is fairly similar to Weighted Revenue from a charting perspective, we can just copy that series and make modifications to it.

In addition to copying the series I modified the color property for the both the Weighted and Floating Revenue. I gave Weighted Rev. the DarkGray color, and Floating Rev. the LightGray color. Using the color names make it easier to not get them mixed up, rather than modifying the RGB values.

Let’s import it back into CRM and see what happens. And remember to use the Advanced Goal Chart with the Advanced Goal Metric.

So far, so good. The data is now being displayed as intended with the full pipeline broken into two, giving us an idea of where we are in the sales process for those Opportunities. However, there are still some items we can clean up before it’s really good.

First let’s fix the legend texts to something better than “Custom Rollup Field (Money)” etc.

Adding the “LegendText=”XYZ” will allow you to modify the legends to something more sensible and utilize space better. In this case there’s really no reason to add the “(Money)” to the end of every description.

It’s getting better, but we can stil do some improvements.

Let’s remove the “Name”. We do not need to display that the title of the Series is “Name”. In this case referring to the Goal Name. We can’t actually remove it, but we can make it transparent by changing the color.

The Y-axis can be improved a little by writing $100k instead of 100,000. That’s a lot of zeros to repeat on this chart.

We do that by adding “Format” property and setting it to $#,#,k.

I would like to do the same for my Actual Revenue by adding the figure to the chart.

I’ve changed the IsValueShowAsLabel to “True” and added the same format to the label.

NOTE: Here on the Series the property is called “LabelFormat”. On the Axis it is just “Format”.

Let’s have a look at how we are doing.

Starting to look like the finished product. Now this chart has one drawback that I want to fix. While I can easily hover my mouse over the grey parts of the stacked column to get the value, I still only get the value of either the Weighted or Floating revenue. The chart will not give me the full value of the pipeline. I can’t just look at the full height of the column either, as that includes the Won revenue. I would need to do some extra math here in order to get the full pipeline value. That is something I’d expect the chart to do for me.

To get the full pipeline value on the chart we need to add it as a field to the Goal Record. We can’t just add an extra rollup field as only 3 are allowed. However, all we need is a process that aggregates the Weighted and Floating Revenue to a new money field every time the Goal Record is recalculated.

I’ll add the new Series to the xml file in the same manner I added Floating Revenue to the fetch collection, measurecollection and Series.

For the Series I copied the “Target” series.

I added the IsValueShownAsLabel property, set the LabelFormat and increased the font to 12px. I also changed all the marker colors to “Transparent” so we do not see a Marker on the chart. Just the full value of the pipeline. Note that I added the IsVisibleInLegend=”False” as I do not want it to show up on the legend. I also removed the name of the series that I copied from.

Now, let’s have one more look at the chart.

Now we have a Goal Chart displaying the Won revenue and the pipeline divided into how much its weighted displayed against our goal and how far we should be today.

When reaching towards the end of a goal period, this chart makes it easy for Sales Managers to see how close their sales people are to reaching their goals. If your pipeline is mostly LightGrey, it means you are probably working with mostly new Opportunities making it unlikely that you will reach your goal. On the other hand, if the pipeline is mostly DarkGrey, you are far in your sales process and all the more likely to close within the goal’s period.

Note: The term “Floating Revenue” is something I invented for this chart. Not sure if there’s an official term for it, but “Floating Revenue” seems to make sense and works well opposite the term “Weighted Revenue”. “Floating Revenue”, you read it here first 🙂

Now that we have gotten this far, why not try and over-engineer this thing a little.

Since Weighted and Floating Revenue isn’t an exact science, we can add some approximation to how the chart is viewed. To do this, we will change the grading in the pipeline so it changes according how much of the revenue is weighted, without giving the exact amount.

Gradient colors xml

Click to enlarge

We wil add a TopBottom grading on the colors and make sure the gradients meet each other, where the Floating Revenue turns into Weighted Revenue. In the example above I’m using the grey color (RGB 100,100,100) but I’m using it in the ARGB format so I can make the gradient go from very transparent to almost solid.

ARGB goes from 0, completely transparent, to 255 completely solid. More on that in this blog post.

For Floating Revenue I’ll start the transparency 20 and go to 120. For Weighted Revenue I’ll continue from 120 and go to 220.

In the example below, it should be clear which of the two goals is further in their sales process, and thus more likely to reach their target. The gradient also makes it clearer that the 475k is the value of the full pipeline.


The colors can be modified to make the transition more or less apparent depending on how much emphasis you want to give it. You could also make a 10 or 20 point difference in the color grading so you have subtle indicator as to exactly where Weighted and Floating Revenue meet. I could also remove either “Floating” or “Weighted” in the Legend and just have the In-Progress value.


, , , , ,