Last week, I asked my email newsletter readers to submit “one data analysis problem you are struggling with”. We called it BYOD – Bring your own data. More than 100 people have emailed various interesting (and often very difficult) problems. This week (between 16th of February to 20th of February), let’s take a look at some of these problems and solve them.
This problem is sent by Fiona.
Situation: Our commissions are growing way faster than revenues
Let’s say you are looking revenues & sales commissions of your company for last few years. The data looks like this:

And you want to highlight the fact that commissions are growing faster than revenues.
So you plot YoY growth rates for revenues & commissions.
Problem: The chart of YoY growth rates is not convincing
Take a look at the chart. It doesn’t convey the message that we want. At best it says “revenue growth is less than commission growth”

How to convey the message “Commission growth is a problem for us”?
Option 1. Use indexed charts
When comparing 2 sets of values (that are in different order of magnitudes) over time, we can use indexed charts. They can tell the story of how the values have changed over time clearly.
Here is the indexed chart for our data:

How to create this chart?
Simple. Just follow below steps.
- Calculate index values. Assume first year value for each series as 100 (so revenues = 100, commissions=100 in year 2010)
- For next year, calculate the value as this year value / first year value
- Plot these indexed values on a line chart
- Adjust the line chart axis minimum to 1 (or 100%) if all values are >1
- You are done
Option 2. Visualize ‘for every % in revenue growth, commission grows by…”
We can calculate what is the change in commission growth rate for every % growth in revenues & plot this. This will depict the situation in a powerful & dramatic fashion, like this:

How to create this chart?
Even simpler. Just do these steps:
- Calculate % values by dividing YoY commission growth with YoY revenue growth
- Plot this as a column chart
- Draw a line at 100%
- Add a text box at this line and write “Ideal” on it.
- You are done.
Download Revenue vs. Commission growth charts
Click here to download the example workbook. Examine the formulas & chart settings to learn better.
How would you present this information?
My favorite approach is to use indexed charts. They are designed for this exact purpose.
What about you? How would you visualize this kind of information? What charting techniques will you use to get your message across? Please share your inputs in the comments section.














12 Responses to “Analyzing Search Keywords using Excel : Array Formulas in Real Life”
Very interesting Chandoo, as always. Personally I find endless uses for formulae such as {=sum(if(B$2:B$5=$A2,$C$2$C$5))}, just the flexibility in absolute and relative relative referencing and multiple conditions gives it the edge over dsum and others methods.
I've added to my blog a piece on SQL in VBA that I think might be of interest to you http://aviatormonkey.wordpress.com/2009/02/10/lesson-one-sql-in-vba/ . It's a bit techie, but I think you might like it.
Keep up the good work, aviatormonkey
Hi Chandoo,
You might find this coded solution I posted on a forum interesting.
http://www.excelforum.com/excel-programming/680810-create-tag-cloud-in-vba-possible.html
[...] under certain circumstances. One of the tips involved arranging search keywords in excel using Array Forumlas. Basically, if you need to know how frequent a word or group of keywords appear, you can use this [...]
@Aviatormonkey: Thanks for sharing the url. I found it a bit technical.. but very interesting.
@Andy: Looks like Jarad, the person who emailed me this problem has posted the same in excelforum too. Very good solution btw...
Realy great article
"You can take this basic model and extend it to include parameters like number of searches each key phrase has, how long the users stay on the site etc. to enhance the way tag cloud is generated and colored."
How would you go about doing this? I think it would need some VB
Hi,
I found the usage very interesting, but is giving me hard time because the LENs formula that use ranges are not considering the full range, in other words, the LEN formula is only bringing results from the respective "line" cell.
Using the example, when I place the formula to calculate the frequency for "windows" brings me only 1 result, not 11 as displayed in the example. It seems that the LEN formula using ranges is considering the respective line within the range, not the full range.
Any hint?
@Thiago
You have to enter the formula as an Array Formula
Enter the Formula and press Ctrl+Shift+Enter
Not just Enter
Thank you, Hui! I couldn't work out how this didn't work
is there a limit to the number of lines it can analyse.
Ie i am trying to get this to work on a list of sentances 1500 long.
@Gary
In Excel 2010/2013 Excel is only limited by available memory,
So just give it a go
As always try on a copy of the file first if you have any doubts
Apologies if I am missing something, but coudn't getting frequency be easier with Countif formula. Something like this - COUNTIF(Range with text,"*"&_cell with keyword_&"*")
Apologies if I missed, but what is the Array Formula to:
1. Analyze a list of URL's or a list of word phrases to understand frequency;
2. List in a nearby column from most used words to least used words;
3. Next to the list of words the count of occurrences.