Did Jeff just chart?

Share

Facebook
Twitter
LinkedIn

Chandoo: Did somebody just chart?
Jeff: Yes. Yes I did. More on that later. But first, let’s take a sniff of Mike Alexander’s outliers, shall we?

Over at the bacon bits blog, Mike has an interesting post on using something called the Tukey Method to identify outliers in a data set. That article is worth reading for John Walkenbach’s comment alone.

Here’s Mike’s sample dataset, with the data points identified as outliers highlighted in orange:
Chandoo_Visually eyeballing data to identidy outliers_Output

The Tukey method that Mike blogs about constructs a fence around “reasonable” readings, and that fence is described mathematically by an arbitrary numerical factor:
(Quartile 1) – (Arbitrary_Factor × IQR)
(Quartile 3) + (Arbitrary_Factor × IQR)

Typically a factor of 1.5 is used. Check out Mike’s blog for a detailed explanation of this stuff.

That’s all good, but it also produces a fairly arbitrary cut-off, depending on what factor you use. So rather than using an algorithm to determine outliers, my preference is to sort the data from lowest to highest value, then plot it and look at the resulting shape:
Chandoo_Visually eyeballing data to identify outliers_Data

—Edit— Jon says in the comments:
Your line chart would be easier to read if you’d used markers. I use markers to indicate where the data actually IS, and help show that the line only ties the data together and doesn’t indicate more data, until the points are nearly touching.

Trust Jon to chart in my face. But he’s right. So here it is:
Chandoo_Did you just chart_Mikes Data with markers

[Aside: That chart’s done in Excel 2013. What’s weird is that those markers aren’t centered on the line, but seem to sit just above it by a point or two. Whoops, Microsoft.]

And here it is with data labels, so it’s easier to see the actual values:
Chandoo_Did you just chart_Mikes Data with markers and data labels

Some may say that the data labels are redundant, because you can gauge the values from the axis. My mature response to that is “Ffffffrrrrrt”. I like the data labels…once I’ve used the line to quickly judge what may be outliers, the labels let me confirm the jump in values without having to move my head back and forth like I’m watching Roger Federer play Andy Murry at Wimbledon.

In fact, maybe I can combine the marker with the labels, and get rid of that axis altogether:
Chandoo_Did you just chart_Mikes Data with combined markers and data labels

Hey, that looks cool. Anyone going to get Tufte on me?
—Edit over—

This is akin to making a bunch of actors line up in order of shortest to tallest, and saying:
Okay…Elijah, Dominic, Billy, and Sean…you’re shortest. And by golly, you four look a lot shorter than the others. You guys can be the Hobbits.
Chandoo_Did you just chart_LOTR cast

[Aside: I recreated the below graph from one a site called SFScope. Check out the outliers at both ends, and click on the picture to visit the original]
Chandoo_Did you just chart_LOTR graph

I like this graphical approach. I think it takes less effort to visually identify outliers than to programatically identify them. For instance, let’s look at Mike’s sample data again for a moment:
Chandoo_Did you just chart_Mikes Data with combined markers and data labels

Looking at this data, I visually identify pretty much the same outliers as Tukey would – points 1,2,3, 19, and 20. In addition, it looks like that 4th data point – with a value of 13 – looks like it has outlier stamped all over it too, when you see it in context of the other data.

Another benefit of plotting ranked data is that it also allows you to ask questions about interesting trends within the datapoints that clearly are not outliers. For instance, what’s the deal with the sudden ‘acceleration’ in the trend between datapoints 16 and 17 caused by? Understanding drastic changes within non-outlier points might be worth as much money to a business as understanding the outliers themselves.

Lose the horizontal axis?

Sometimes with larger datasets, that horizontal axis can be distracting, because Excel only has enough space along that axis to display the labels for every nth rank.

For instance, take the below graph, which looks at just how much money an organization receives from each of its customers by way of annual membership subscription each year:
Chandoo_Did you just chart_Subscriptions with axis

See what I mean? You find yourself trying to decipher the trend in the data labels, and this really draws your eye away from the incredible trend shown in the graph above.

So let’s just delete them:
Chandoo_Did you just chart_Subscriptions without axis

That’s much less distracting. Wow: many of our customers hardly subscribe to anything, and a few practically keep this place afloat!

What else can we show on a graph like this?

Sorting your data like this also lends itself to visually segmenting your customers by how much they contribute to your total revenue.

For instance, the below graph shows just how many customers it takes to account for each subsequent 25% of revenue, and what the average annual subscription within each group is. This gives you a real appreciation into just how valuable your larger customers are in comparison to smaller customers:
Chandoo_Did you just chart_Segmented by 25pc

Wow, half our subscription revenue comes from our Key Accounts and Large Customers groups, who make up just 10% of our subscription base. Let’s be especially nice to those customers. And lots of our effort is spent in servicing small clients that don’t buy much. Can we grow their business? Should we sack some of them as customers, so we can spend that effort finding bigger ones?

Using revenue ‘buckets’ of 25% was a fairly arbitrary choice. What if we designed a chart template that let you dynamically choose different sized revenue buckets, as well as let you use more buckets if you wanted to?
For instance, looking at the above graph, it looks to me that we have a whole bunch of ‘Tiny Customers’. And we also might want to segment that group of Median customers that all have exactly the same sized subscription into a group of their own.

Well, the chart template I’ve put together for this post lets you do just that:
Chandoo_Did you just chart_more segmentation Excel 2013
Wow. Jeff charted again. Man, look at all those time-wasting small accounts…they’re about as welcome as a chart in an elevator!

Note that the above graph was produced using Excel 2013. Excel 2013 automatically puts in those grey lines connecting the data lables with the series. Those are called Leader Lines. They rock.

Unfortunately, earlier versions of Excel only use leader lines for pie charts. But fear not, intrepid reader, for my chart template uses a bit of VBA to automatically puts lines in for you using shapes, if you’re using Excel 2010:
Chandoo_Did you just chart_more segmentation Excel 2010

What’s cool about this template is that all the data labels are dynamic: change the ‘breakpoints’ between groups or the number of groups in the ‘Controls’ table [see screenshot below], and the details within the data labels are updated automatically. Bing!
Chandoo_Did you just chart_controls

I modified a version of Jon Peltier’s great Label Last Point routine to refresh the placement of the data labels. (Thanks, Jon). Here’s the template, so you can play around in the privacy of your own screen:
Segmenting customers by revenue contribution_V1 [Not tested in Excel 2007 or earlier]

Oh yes. I most definitely charted, boss.

Updates

—Update 1—
Prompted by some great action in the comments below, I whipped up this redesign in both gray and white:
Chandoo_Did you just chart_Redux 3
While I like the grey, I do think it’s harder on the eyes than black text on white background. And I don’t think a grey chart would work well on say a dashboard. But that said, there’s no doubt in my mind that this chart is sexier than my original. Might look nice in the Economist. Here’s a link to the revised sample file: Segmenting-customers-by-revenue-contribution_with_Leader_Lines V1

—Update 2—
Kaiser Fung has some great ideas on how to redesign this in his post Visualizing Uneven Distributions. Go check it out, and be sure to subscribe to both his Junk Charts blog as well as his Big Data, Plainly Spoken blog. Both are gold. Both will make you a better analyst.

Added by Chandoo

If you like this chart, chances are you are going to love the below too:

Facebook
Twitter
LinkedIn

Share this tip with your colleagues

Excel and Power BI tips - Chandoo.org Newsletter

Get FREE Excel + Power BI Tips

Simple, fun and useful emails, once per week.

Learn & be awesome.

Welcome to Chandoo.org

Thank you so much for visiting. My aim is to make you awesome in Excel & Power BI. I do this by sharing videos, tips, examples and downloads on this website. There are more than 1,000 pages with all things Excel, Power BI, Dashboards & VBA here. Go ahead and spend few minutes to be AWESOME.

Read my storyFREE Excel tips book

Overall I learned a lot and I thought you did a great job of explaining how to do things. This will definitely elevate my reporting in the future.
Rebekah S
Reporting Analyst
Excel formula list - 100+ examples and howto guide for you

From simple to complex, there is a formula for every occasion. Check out the list now.

Calendars, invoices, trackers and much more. All free, fun and fantastic.

Advanced Pivot Table tricks

Power Query, Data model, DAX, Filters, Slicers, Conditional formats and beautiful charts. It's all here.

Still on fence about Power BI? In this getting started guide, learn what is Power BI, how to get it and how to create your first report from scratch.

31 Responses to “Beautiful Budget vs. Actual chart to make your boss love you”

  1. Harry says:

    Would be considerably easier just to have a table with the variance shown.

  2. Jomili says:

    On Step 3, how do you "Add budget and actual values to the chart again"?

    • Chandoo says:

      There are a few ways to do it.

      Easy:
      1) Copy just the numbers from both columns (Select, CTRL+C)
      2) Select the chart and hit CTRL+V to paste. This adds them to chart.

      Traditional:
      1) Right click on chart and go to "select data..."
      2) From the dialog, click on "Add" button and add one series at a time.

      • Neeraj Agarwal says:

        One more way to accomplish it is just select the columns into chart. Press Ctrl+C and then press Ctrl+V

        Regards
        Neeraj Kumar Agarwal

  3. TheQ47 says:

    Unfortunately, this doesn't seem to work for me in Excel 2010. The "Var 1" and "Var 2" columns cannot combine two fonts to display the symbol and the figure side-by-side.
    Secondly, there is no option to Click on “Value from cells” option when formatting the label options. The only options provided are Series Name, Category Name or Value.

    • Chandoo says:

      @TheQ47... the emoji font also has normal English letters, so if you use that font, then you should be ok. I am assuming your computer doesn't have that font or hasn't been upgraded for emoji support.
      Reg. Excel 2010, you can manually link each label to a cell value. Just select one label at a time (click on labels, wait a second, click on an individual label) and press = and link it to the label var 1 or var 2.

  4. Neeraj Agarwal says:

    I am using excel 2010, please explain how to apply Step 12

    Regards
    Neeraj Kumar Agarwal

  5. mariann says:

    Hi Chandoo,

    I just found your website, and really love it. It helps me a lot to be an Excel expert 😉

    Currently I am facing with a problem at step 11:
    Var1 Var2
    D30%
    A5%
    B0%
    B4%
    B7%
    C10%
    C13%
    D27%
    I42%

    Though at mapping table, I used windings, here formula uses calibra. How I can change it? I am able to change only the whole cell. In this case numbers will be Windings too.

    Thanks for your help!

    • Chandoo says:

      Hi Mariann... Welcome to Chandoo.org and thanks for your comment.

      If you wanted to use symbols from wingdings and combine them with % numbers, then you need to setup two labels. One with symbol, in wingdings font and another with value in normal font. Just add the same series again to the chart, make it invisible, add labels. You may need to adjust the alignment / position of label so everything is visible.

  6. […] firs article explains how you can enhance your charts with symbols. You can simply insert any supported symbol into your data and charts. To some extend you can […]

  7. Franciele says:

    You're a good person, thank you to share your knowledge with us, I will try to do in my work

  8. Ali says:

    Great visualization of variance. My question is that is this possible in powerbi?

    How would you go about it?

  9. NARUTO says:

    HELLO, WHY CANT I FIND VALUES FOR LABELS IN EXCEL 2013

  10. Amol says:

    Dear chanddo sir,

    What to do if we have dynamic range for Chart. How this will work. can you able to make the same thing works on dynamic range.

  11. Ricardo says:

    Sir Chandoo,

    Good Day!
    First, I'd like to say that I am very grateful for your work and for sharing all these things with us.

    I tried to do this chart but it seems that the symbols don't work with text (abs(var%),"0%") unless we keep the Windings font style.
    The problem is, it converts the text into symbol as well and you wont see the 0% anymore. I'm using Windows 7.

  12. MF says:

    WOW - Segoe UI Emoji
    This is the greatest discovery for me this month 🙂 Thanks for sharing.

    Here's my two-cents:
    https://wmfexcel.com/2019/02/17/a-compelling-chart-in-three-minutes/

  13. Renuka says:

    Sir This is awesome chart, and very easy to made because of your way to explain is very simple , everyone can do. Thank you

    one problem i am facing, I hv made this chart , but when i am inserting data table to chart it is showing two times , how can i resolve this

  14. renuka says:

    in this chart when i am adding new month data for example first i made this chart jan to mar but when i add data for the apr month graphs updated automatically but labels are missing for that new month

    • Chandoo says:

      Hi Renuka,

      Please make sure the formulas for labels are also calculated for extra months. Just drag down the series and set label range to appropriate address.

  15. Justine says:

    So I am playing with the Actual chart here - but amounts are bigger than your - you have 600 as Budget - my budget is 104,000 - is there a way to shorten that I am unaware of

    thank you - I LOVE YOUR SITE

  16. Arvind says:

    Thanks for the tips and tricks on Excel. In the Planned versus Actual chart examples, you use multiple values (ex. multiple Categories in above). How can this be done when we have only 1 set of values? For example if I have only this:
    Planned Actual
    SOW Budget 417480 367551

    How can I create a single bar chart like the one above?

  17. JEREMIAH KOOL says:

    Thank you Chandoo.
    This one is just perfect for my Quarterly Review presentation on Operational Budget against Actual Performance for the Hospital I'm currently working with.

    Just Subscribed today (10 minutes ago)

  18. Shawn says:

    Is there a way to make the table of data into a pivot table to be able to add a slicer for the graph due to many different categories and months?

  19. Mihail says:

    Hi, I tried to modify you template with something appropriate for me, and I found a problem. this template was modified by me started with excel 2010, then 2016 and finally 2019. Same thing - somehow appear an error - or didn't show the emoticons for positive percentage or doubled the emoticons for some rows. I suspect to be from excel. if is need it I can sand you my xlsx for study. Please help if you can.

  20. Saidatta Pati says:

    Hi Chandoo,
    Could you please check the Var Formula in Step1. You have mentioned budget-actual and when i did this i got different values but when reversed like actual-budget i got the actual value what you have demonstrated in step1.
    Please share your view.

  21. Dan says:

    This is a great chart (budget vs. actual). However, in trying recreate it, I cannot color in the UP Down bars individually, and they all become formatted with the same color. I'm using Office 365. Look forward to the feedback.

    Thanks.
    Dan

  22. sathik says:

    pls explain in detail step 7

  23. Arun says:

    While in the Excel sheet you have used following formula for Var
    Var = Actual - Budget
    But
    in the note, you have written
    Var = Budget - Actual

  24. aye myat maw says:

    Good Presentation and Data information.thank you so much chandoo.

Leave a Reply