Click the Original, Code and Reconstruction tabs to read about the issues and how they were fixed.

Original


Source: Howmuch.net.


Objective

The objective of the chart is to give insight of the top 25 US insurance firm rankedby the brokerage revenue generated by the firms. The companies where ranked based on their cash flow for the year 2018. The author validate the data over a period and multiple countries where considered and the top 25 companies are incorporated in the chart.
The target audience of this chart are the small firms that are looking for financial planning and this graph helps in getting information on the which are the biggest brokerage selling policies for the given year.

The visualisation chosen had the following three main issues:

  • Issue 1: Unconventional method
    The method used in this visualisation is an unconventional method which make use of circular barchart. The data used is quantitative regarding the brokerage of different countries and listing out the top 25. But the visualization makes it difficult for the audience to comprehent the data.

  • Issue 2: Colour Transition
    The colour used in the visualization is non conventional and the transition of colour across the group is also non evident. The colour chosen for the groups $1B - $4.99B, $500M - $999M and less than $500M is not clear and audience can easily misinterpret the groups.

  • Issue 3: Crowded The circular bar chart was chosen to represent the data. when the brokerage is reducing and when we consider the company list, the chart becomes crowded and it makes it difficult for the audience to understand the information regarding the companies and their brokerage

Reference

Code

The following code was used to fix the issues identified in the original.

library(readr)
library(readxl)
library(dplyr)
library(tidyr)
library(ggplot2)

getwd()
## [1] "/Users/joeljvc/Desktop"
setwd("/Users/joeljvc/Desktop")
top <- read_excel("top25 companies.xlsx")


names(top)[names(top) == "2018 brokerage revenue ($M)"] <- "Brokerage"

str(top)
## Classes 'tbl_df', 'tbl' and 'data.frame':    25 obs. of  5 variables:
##  $ 2019 Rank            : num  1 2 3 4 5 6 7 8 9 10 ...
##  $ 2018 Rank            : num  1 2 3 4 5 6 8 7 10 13 ...
##  $ Company              : chr  "Marsh & McLennan Cos. Inc." "Aon PLC" "Willis Towers Watson PLC" "Arthur J. Gallagher & Co." ...
##  $ Brokerage            : num  7524 4654 3954 3575 2016 ...
##  $ % increase (decrease): num  9.4 5.5 3.7 14.1 5.1 8.2 14.7 1.9 19.8 30.2 ...
top$Brokerage <- as.numeric(top$Brokerage)

top1 <- top[order(top$Brokerage),]

plot<-ggplot(data=top1, aes(x=reorder(Company,Brokerage) , y=Brokerage, label= Brokerage))+
  geom_bar(stat="identity",position="dodge",width = 1.0 , color = "black",fill = "steelblue") +
  labs(title = "Top 25 Largest US Insurance Firms",
       ylab = "Brokerage in millions",
       xlab = "Company") + 
  theme_minimal() + 
  geom_text(hjust = -0.15, size = 2.9)
exportplot= plot+ coord_flip()
exportplot

Data Reference

Reconstruction

Intial circular bar chart was a bit conjusted when we go down the rank and we can clearly see that the bar chart has eliminated this issue and we can directly get the top 25 list. Also the area issue when come we go down the line is also eliminated and each value is significantly differtiated from others which makes the comparison also easier.