#R codes ##Data Loading

library(readxl)
## Warning: package 'readxl' was built under R version 4.4.3
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
library(gridExtra)
## Warning: package 'gridExtra' was built under R version 4.4.3
Tvs_bs <- read_excel("E:/R studio/tvsbs.xlsx")
Tvs_bs<-as.data.frame(Tvs_bs)
colnames(Tvs_bs) <- make.names(colnames(Tvs_bs))
colnames(Tvs_bs) <- trimws(colnames(Tvs_bs))
Tvs_bs_long <- reshape(Tvs_bs, 
                       varying = c("X2024", "X2023", "X2022", "X2021", "X2020"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2024","2023","2022","2021", "2020"),
                       direction = "long")
rownames(Tvs_bs_long) <- NULL

Balance Sheet Analysis of TVS Motors

Profit & Loss statement Analysis Of TVS Motors (2020 - 2024)

The Following is The Comparision Of Ratios Of TVS Motors With Industrial Average Performance

Ratios Compared (Gross profit,Net Profit,Return On Asset,Return On Equity Ratios)
GP_IND_AVG= c("33.1045","30.8926","30.4240","30.7397","33.0330")
gpdf=data.frame(
  Year = names(tvs_revr_grp),
  TVS_GP_Ratio = unname(tvs_gp_ratio),
  GP_IND_AVG = unname(GP_IND_AVG))
print(gpdf)
##   Year TVS_GP_Ratio GP_IND_AVG
## 1 2020     27.95817    33.1045
## 2 2021     25.48108    30.8926
## 3 2022     25.29061    30.4240
## 4 2023     25.94183    30.7397
## 5 2024     27.19113    33.0330
NP_IND_AVG= c("10.6600","9.5962","9.0671",  "9.6875",   "11.0330")
npdf=data.frame(Year=names(tvs_revr_grp),
           TVS_NP_Ratio=unname(tvs_np_ratio),
           NP_IND_AVG = unname(NP_IND_AVG))
print(npdf)
##   Year TVS_NP_Ratio NP_IND_AVG
## 1 2020     3.599114    10.6600
## 2 2021     3.646675     9.5962
## 3 2022     4.294000     9.0671
## 4 2023     5.631063     9.6875
## 5 2024     6.524688    11.0330
ROA_IND_AVG= c("15.4322","11.2742", "11.5511",  "13.7488","16.7736")
roa_df=data.frame(Year=names(tvs_revr_grp),
           TVS_ROA_Ratio=unname(tvs_roa_ratio),
           ROA_IND_AVG=unname(ROA_IND_AVG))
print(roa_df)
##   Year TVS_ROA_Ratio ROA_IND_AVG
## 1 2020      6.331976     15.4322
## 2 2021      6.001893     11.2742
## 3 2022      7.542035     11.5511
## 4 2023     10.656007     13.7488
## 5 2024     12.968303     16.7736
ROE_IND_AVG=c("22.5552","17.4164",  "17.6729",  "21.4035",  "26.3625")
roe_df=data.frame(Year=names(tvs_revr_grp),
           TVS_ROE_Ratio=unname(tvs_roe_ratio),
           ROE_IND_AVG=unname(ROE_IND_AVG))
print(roe_df)
##   Year TVS_ROE_Ratio ROE_IND_AVG
## 1 2020      16.36913     22.5552
## 2 2021      14.67388     17.4164
## 3 2022      18.53075     17.6729
## 4 2023      24.65389     21.4035
## 5 2024      26.94333     26.3625