This research paper is important to draw insights from, because these will applause the growth of Norway’s Business Development and hopefully will act as an example to inspire big nations. Let’s witness how this beautiful country evolved and explore this significant dataset - the journey of it’s formulation.
On the morning of 10 January 2017, Opplysningsrådet for Veitrafikken (OFV), Norwegian road association, held a business breakfast for its member organizations, where they presented the annual presentation under the title “Car Year 2016. Status and trends” (Bilåret 2016 - status og trender).
Among the highlights for the year, OFV reported all-time-high sales of electric cars, with fully electric and plug-in hybrid cars accounting for 40,2% of all new car sales (compare to 7.4% for Sweden and 3.6% for Denmark).
No other country in the world has this level of popularity of battery-equipped vehicles! In November 2016, 12 out of 15 most popular cars sold in Norway were either hybrids of fully electric vehicles with BWM-i3 snapping the title as the most popular car in Norway, ahead of undisputed leader of the last decade VW Golf (including eGolf), according to bilnorge.no. Among 10 most popular cars for the year, OFV reported, there was only one(!) fossil fuel vehicle.
OFV makes annual forecast of new passenger car sales. Short summary of their methodology:
Based on OFV statistics over several years.
Taking into account the actual monthly figures for the last four years.
Actual same-month sales for the previous year is combined with the average for the eight previous months, weighed by the month’s proportion in a year, adjusted by year’s actual sales compared with those of the last year.
OFV forecast for 2016 was 157 500 new passenger cars. Actual sales were 154 603 cars. Applying the same model for 2017, OFV forecasts 152 400 new passenger cars to be sold in Norway.
This is the database collected consistently by OFV to track Car Selling business in Norway. We have collected the dataset of 10 Yrs. (2007-2017) comprising of 2694 rows and 6 columns. It has detailed nos. of cars sold of 20+ brands each having their 2-5 models of them. It also gives timely selling analysis based on months and years. Desription of the column names is as follows:
Year - year of sales Month - month of sales Make - car make (e.g. Volkswagen, Toyota, Tesla) Model - car model (e.g. BMW-i3, Volkswagen Golf, Tesla S75) Quantity - number of units sold Pct - percent share in monthly total
We will study this valuable dataset to analyse the matrix of different cars and predict their future business and market in the country. We expect that the monthly profit shared by different models is positively correlated with their numbers sold.
Hypothesis H1: * Models having high quantity of sales will produce more average percentage in total monthly profit. *
This data was collected strategically with the well - defined system of OFV. It has 2694 data entries of different models sold in different regular time frames for the past 10 years. Opplysningsrådet for Veitrafikken (OFV) is a politically independent membership organization that works to get politicians and authorities to build safer and more efficient roads in Norway. The organization has about 60 members, representing different types of road users. Members are leading players in road safety, car owner associations, public transportation companies, shippers, car dealers, oil companies, banking, finance and insurance, road builders and general contractors.OFV has continuosly been investing a prominent amount of time and energy to illustrate travel matrix and ensuring road safety.
Owing ot it’s rich dataset of 23 brands and their respective models, formulation of contigency tables were bound to be produced undoubtely to understand and compare numbers.
We expected here gradual growth of luxury cars (Toyota, Volkswagen, Volvo, BMW etc etc.) and decaying of monotonous models (Citroen, Kia, Hyundai, Suzuki etc etc.) from 2007 to 2017.
Since this paper is based mostly on the complexity and comparison, we analysed the increased nature of sales - both month and year wise to predict future business.
We used diverse graphical representation tools (ggplots, xy plots, bar graphs, boxplots, histograms) to study the nature of monthly profit share percentage of different brands.
We have regressed a fitted model and verified the null hypothesis using t.tests.
In order to test Hypothesis mentioned above we proposed the following model:
pct = _0 + _1 Quantity + _2 Year + _3 Month
model <- Pct ~ Quantity + Year + Month
fit <- lm(model, data = norwaycars.df)
## Error in is.data.frame(data): object 'norwaycars.df' not found
summary(fit)
## Error in summary(fit): object 'fit' not found
We established the effect of quantity sold on the monthly profit earned. We regressed Profit with quantity, year and month. We estimated model, using linear least square. We expect the coefficient of quantity to be positive if it has it’s positive correlation on the profit earned.
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
## Observations: 2,694
## Variables: 6
## $ Year <int> 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007, 2007,...
## $ Month <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,...
## $ Make <fctr> Volkswagen , Toyota , Toyota , Volkswagen , Toyota ,...
## $ Model <fctr> Volkswagen Passat, Toyota Rav4, Toyota Avensis, Volk...
## $ Quantity <int> 1267, 819, 787, 720, 691, 481, 481, 402, 400, 346, 32...
## $ Pct <dbl> 10.0, 6.5, 6.2, 5.7, 5.4, 3.8, 3.8, 3.2, 3.2, 2.7, 2....
library(psych)
describe(norwaycars.df)[,c(2,3,4,5,8,9)]
## n mean sd median min max
## Year 2694 2011.86 2.95 2012 2007.0 2017.0
## Month 2694 6.35 3.51 6 1.0 12.0
## Make* 2694 15.14 7.27 17 1.0 23.0
## Model* 2694 53.09 27.50 57 1.0 90.0
## Quantity 2694 258.52 167.72 218 13.0 1713.0
## Pct 2694 2.32 1.41 2 0.1 12.5
View(norwaycars.df)
We found empirical support for H1. Our profit earned has a direct positive influence of quantity sold. Our fitted regression model using ordinary least squares method yielded \(\alpha_1>0\), with \(p<0.05\).
Significant Insights:
This paper was formulated to a give a glimpse of a successful business model which chould be if incorporated in big nations like India can yield tremoundous flourishment of Indian managers and commercial firms. The desperate need to publish this paper is to throw some light on a small country like Norway going green with gradual succesful sales rates; and also to provide an opportunity to analyse their business insights deeply to get inspired.
Opplysningsrådet for Veitrafikken (OFV) is a politically independent membership organization that works to get politicians and authorities to build safer and more efficient roads in Norway. The organization has about 60 members, representing different types of road users. Members are leading players in road safety, car owner associations, public transportation companies, shippers, car dealers, oil companies, banking, finance and insurance, road builders and general contractors.
Site: http://www.ofvas.no and http://www.ofv.no Monthly summary statistics and market news: http://www.dinside.no/emne/bilsalget and http://statistikk.ofv.no/ofv_bilsalg_small.asp Detailed sales per model: http://www.ofvas.no/co2-utslippet/category406.html (using http://www.newocr.com/)
table(norwaycars.df$Make)
##
## Mercedes-Benz Audi BMW Citroen
## 1 146 130 1
## Ford Honda Hyundai Kia
## 246 44 18 22
## Mazda Mercedes-Benz Mitsubishi Nissan
## 80 62 105 180
## Opel Peugeot Renault Saab
## 58 132 16 5
## Skoda Subaru Suzuki Tesla
## 142 9 34 37
## Toyota Volkswagen Volvo
## 492 440 294
table(norwaycars.df$Model)
##
## Mercedes-Benz A-klasse Audi A3 Audi A4
## 1 64 78
## Audi A6 Audi Q3 BMW 1-serie
## 2 2 5
## BMW 2-serie BMW 3-serie BMW i3
## 9 48 28
## BMW X1 BMW X3 BMW X5
## 9 25 6
## Citroen C4 Aircross Ford Fiesta Ford Focus
## 1 21 108
## Ford Kuga Ford Mondeo Ford S-Max
## 13 90 14
## Honda CR-V Hyundai i20 Hyundai i30
## 44 6 6
## Hyundai ix35 Hyundai Tucson Kia cee'd
## 3 3 2
## Kia Niro Kia Soul Kia Sportage
## 1 3 16
## Mazda 6 Mazda CX-3 Mazda CX-5
## 17 12 51
## Mercedes-Benz A-klasse Mercedes-Benz B-klasse Mercedes-Benz C-klasse
## 12 23 18
## Mercedes-Benz CLA Mercedes-Benz E-klasse Mercedes-Benz GLC
## 1 4 3
## Mercedes-Benz GLK Mitsubishi ASX Mitsubishi Outlander
## 1 25 80
## Nissan Leaf Nissan Qashqai Nissan X-Trail
## 62 108 10
## Opel Astra Opel Insignia Opel Mokka
## 39 13 5
## Opel Vectra Peugeot 2008 Peugeot 207
## 1 6 28
## Peugeot 208 Peugeot 3008 Peugeot 307
## 7 24 12
## Peugeot 308 Peugeot 508 Renault Zoe
## 41 14 16
## Saab 9-3 Skoda Fabia Skoda Octavia
## 5 3 118
## Skoda Rapid Skoda Superb Skoda Yeti
## 1 19 1
## Subaru Forester Subaru Impreza Subaru XV
## 1 1 7
## Suzuki Swift Suzuki SX4 Suzuki Vitara
## 6 19 9
## Tesla Model S Tesla Model X Toyota Auris
## 36 1 116
## Toyota Avensis Toyota C-HR Toyota Corolla
## 93 1 17
## Toyota Prius Toyota Rav4 Toyota RAV4
## 48 90 2
## Toyota Urban Cruiser Toyota Yaris Volkswagen Golf
## 12 113 121
## Volkswagen Passat Volkswagen Polo Volkswagen Tiguan
## 121 60 87
## Volkswagen Touran Volkswagen up! Volvo V40
## 18 33 31
## Volvo V50 Volvo V60 Volvo V70
## 46 40 109
## Volvo V90 Volvo XC60 Volvo XC90
## 1 59 8
library(stats)
monthlysales<- addmargins(xtabs(~Month+Make, data=norwaycars.df))
monthlysales # Table giving distribution of exact no. of different brands month wise
## Make
## Month Mercedes-Benz Audi BMW Citroen Ford Honda Hyundai Kia
## 1 0 12 16 0 24 3 2 3
## 2 0 10 11 0 21 4 2 4
## 3 0 9 15 0 24 4 2 2
## 4 0 12 17 0 25 4 0 2
## 5 1 13 10 0 21 4 0 0
## 6 0 13 8 0 19 4 3 1
## 7 0 13 9 0 20 4 3 2
## 8 0 13 6 0 18 4 1 1
## 9 0 13 10 0 18 3 2 2
## 10 0 13 8 0 17 3 1 0
## 11 0 12 9 1 17 3 0 2
## 12 0 13 11 0 22 4 2 3
## Sum 1 146 130 1 246 44 18 22
## Make
## Month Mazda Mercedes-Benz Mitsubishi Nissan Opel Peugeot Renault
## 1 6 5 7 17 6 18 2
## 2 6 5 8 17 5 13 1
## 3 6 6 9 15 6 11 2
## 4 6 7 9 15 6 10 2
## 5 6 4 8 15 6 13 1
## 6 8 4 8 15 6 11 2
## 7 7 4 8 14 5 10 2
## 8 7 4 9 14 4 9 1
## 9 7 4 9 14 4 10 1
## 10 7 4 9 15 2 8 1
## 11 7 4 10 15 3 10 1
## 12 7 11 11 14 5 9 0
## Sum 80 62 105 180 58 132 16
## Make
## Month Saab Skoda Subaru Suzuki Tesla Toyota Volkswagen Volvo Sum
## 1 0 12 1 6 2 46 40 25 253
## 2 0 11 0 5 3 43 36 24 229
## 3 1 13 0 5 3 44 37 27 241
## 4 1 12 0 4 3 41 38 27 241
## 5 1 11 0 3 3 39 36 26 221
## 6 1 12 1 2 3 39 36 25 221
## 7 0 12 1 2 3 39 38 29 225
## 8 0 11 1 1 3 37 35 21 200
## 9 0 11 1 2 4 40 36 20 211
## 10 0 11 1 1 3 41 35 19 199
## 11 0 11 1 1 3 42 36 23 211
## 12 1 15 2 2 4 41 37 28 242
## Sum 5 142 9 34 37 492 440 294 2694
library(stats)
YearlySales<- addmargins(xtabs(~Year+Make, data=norwaycars.df))
YearlySales # Table giving distribution of exact no. of different brands month wise
## Make
## Year Mercedes-Benz Audi BMW Citroen Ford Honda Hyundai Kia
## 2007 0 22 2 0 22 12 0 0
## 2008 0 21 11 0 24 12 0 0
## 2009 0 12 11 0 25 9 6 0
## 2010 0 15 0 0 35 0 0 0
## 2011 0 9 2 0 24 0 0 0
## 2012 0 7 15 1 26 2 3 7
## 2013 1 20 16 0 22 9 3 5
## 2014 0 11 20 0 10 0 0 0
## 2015 0 12 15 0 32 0 3 2
## 2016 0 17 35 0 26 0 3 7
## 2017 0 0 3 0 0 0 0 1
## Sum 1 146 130 1 246 44 18 22
## Make
## Year Mazda Mercedes-Benz Mitsubishi Nissan Opel Peugeot Renault
## 2007 0 0 5 1 13 24 0
## 2008 7 0 12 18 0 19 0
## 2009 10 0 2 12 12 17 0
## 2010 0 0 11 12 7 15 0
## 2011 0 0 12 13 11 17 0
## 2012 3 4 14 24 0 8 0
## 2013 12 16 13 24 4 8 0
## 2014 12 0 12 23 0 5 0
## 2015 12 16 12 26 2 9 4
## 2016 24 25 12 26 9 9 11
## 2017 0 1 0 1 0 1 1
## Sum 80 62 105 180 58 132 16
## Make
## Year Saab Skoda Subaru Suzuki Tesla Toyota Volkswagen Volvo Sum
## 2007 5 12 0 0 0 56 48 18 240
## 2008 0 13 0 0 0 55 35 13 240
## 2009 0 12 1 0 0 48 36 28 241
## 2010 0 12 0 1 0 60 45 27 240
## 2011 0 12 0 6 0 40 52 42 240
## 2012 0 13 7 1 0 48 49 42 274
## 2013 0 14 1 2 2 50 41 40 303
## 2014 0 12 0 12 11 36 48 28 240
## 2015 0 14 0 5 11 40 39 25 279
## 2016 0 26 0 7 12 55 45 27 376
## 2017 0 2 0 0 1 4 2 4 21
## Sum 5 142 9 34 37 492 440 294 2694
MeanByYear <- aggregate(cbind(Quantity, Pct)~Year, data = norwaycars.df, mean)
MeanByYear # **Table giving year wise average of Sales and Pct**
## Year Quantity Pct
## 1 2007 290.6208 2.680833
## 2 2008 240.7875 2.611667
## 3 2009 204.8672 2.496680
## 4 2010 256.5500 2.417500
## 5 2011 266.7042 2.316667
## 6 2012 241.4234 2.113447
## 7 2013 253.3663 2.146559
## 8 2014 300.9750 2.502917
## 9 2015 282.9642 2.250317
## 10 2016 247.3830 1.930253
## 11 2017 325.4286 2.480952
MeanByMonth <- aggregate(cbind(Quantity, Pct)~Month, data = norwaycars.df, mean)
MeanByMonth # Table giving month wise average of Sales and Pct
## Month Quantity Pct
## 1 1 261.2292 2.455728
## 2 2 234.2751 2.258998
## 3 3 265.8091 2.219684
## 4 4 254.3693 2.206538
## 5 5 265.4661 2.321066
## 6 6 255.5430 2.289159
## 7 7 265.0667 2.369921
## 8 8 258.8550 2.378000
## 9 9 262.6919 2.363507
## 10 10 282.1055 2.441206
## 11 11 265.3460 2.365494
## 12 12 236.4917 2.179195
library(lattice)
attach(norwaycars.df)
histogram(~Quantity|Make, xlab = "No. of Sales", layout=c(7,2), main="Distribution based on types of Brands", col.main="orange")
library(ggplot2)
##
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
##
## %+%, alpha
ggplot(norwaycars.df,aes(x=Quantity, fill=Make))+
geom_histogram(binwidth = 20, bins = NULL)+ggtitle("Histogram of different brands of car sold in Norway (2007 - 2017)")+ facet_wrap(~Make,ncol=4) + theme(legend.position = "none")
ggplot(norwaycars.df, aes(Make, Quantity)) + geom_bar(stat = "identity", fill = "darkblue") + scale_x_discrete("Brand")+ scale_y_continuous("Sales", breaks = seq(0,15000, by = 200))+ theme(axis.text.x = element_text(angle = 90, vjust = 0.5)) + labs(title = "Comparison of Different Car Brands in Norway (2007-2017)", subtitle="Bar Chart", caption="Source: www.ofvas.no")
boxplot(Pct, horizontal = TRUE, xlab="Monthly Percent Share in Profit", main="Distribution of Monthly Percent Share in Profit", col.main="orange")
library(car)
##
## Attaching package: 'car'
## The following object is masked from 'package:psych':
##
## logit
## The following object is masked from 'package:dplyr':
##
## recode
xyplot(Quantity ~ Year
,type = c("p", "g"),
xlab = "Year", ylab = "Sales ", main ="Conditional ScatterPlots of Quantity Vs. Year", col.main="orange"
)
xyplot(Quantity ~ Month
,type = c("p", "g"),
xlab = "Month", ylab = "Sales ", main="Conditional ScatterPlots of Quantity Vs. Month", col.main="orange"
)
cor(norwaycars.df[,c("Year","Month","Quantity","Pct")], use="complete.obs",method = "kendall")
## Year Month Quantity Pct
## Year 1.00000000 -0.070187692 -0.026559945 -0.171097749
## Month -0.07018769 1.000000000 0.006819661 -0.003243757
## Quantity -0.02655995 0.006819661 1.000000000 0.809143691
## Pct -0.17109775 -0.003243757 0.809143691 1.000000000
library(corrplot)
corrplot(corr = cor(norwaycars.df[,c("Year","Month","Quantity","Pct")], use="complete.obs"), method="ellipse")
library(corrgram)
corrgram(norwaycars.df[,c("Year","Month","Quantity","Pct")], lower.panel = panel.shade, upper.panel = panel.shade, diag.panel = panel.minmax, text.panel = panel.txt)
library(car)
scatterplotMatrix(~Year+Month+Quantity+Pct, data=norwaycars.df, main="Car Selling Business Analysis of Norway (2007 -2017")
t.test(norwaycars.df$Quantity, norwaycars.df$Pct)
##
## Welch Two Sample t-test
##
## data: norwaycars.df$Quantity and norwaycars.df$Pct
## t = 79.283, df = 2693.4, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 249.8623 262.5349
## sample estimates:
## mean of x mean of y
## 258.516333 2.317745