Benchmarking Against the Average Value
Version Compatibility Notice
The content of this article is valid for the version of GoodData that was current as of 17 March 2021. Features or behavior in newer versions may differ.
When you measure activity or performance, it can be important to look not only at the absolute values but also to compare them to a benchmark.
A benchmark can be something as simple as an average value. For example, you can measure how many support tickets your agents answer every month.
Whatever your data model is, you start with a core metric # Answered Tickets
.
When you slice this metric by Agent, you can get something like this:
Agent | # Answered Tickets |
---|---|
Alice | 812 |
Bob | 320 |
Charlie | 12 |
David | 940 |
The numbers are for all time, so they can really vary (maybe Charlie started very recently). We better slice it by month, too. The last two months can look like this:
Month | February 2021 | March 2021 |
---|---|---|
Agent | # Answered Tickets | # Answered Tickets |
Alice | 132 | 75 |
Bob | 150 | 73 |
Charlie | 12 | |
David | 96 | 60 |
The average number of answered tickets in February is (132+150+96)/3 = 126 (Charlie didn’t work in February) and the average in March is (75+73+12+60)/4 = 55
The metric will use the BY ALL
keyword to not get sliced by agents:
Benchmark # Answered Tickets: SELECT (SELECT # Answered Tickets BY ALL Agent)/(SELECT COUNT(Agent) BY ALL Agent)
Both nested metric will still get sliced by Month because it is used in the insight.
Now we can create our final metric that will compare the numbers for each agent to the benchmark for the month.
Benchmark Delta: SELECT # Answered Tickets - Benchmark # Answered Tickets
Month | February 2021 | March 2021 |
---|---|---|
Agent | Benchmark Delta | Benchmark Delta |
Alice | +6 | +20 |
Bob | +24 | +18 |
Charlie | -43 | |
David | -30 | +5 |