INTRODUCTION

The process of financial analysis is essential for evaluating a project’s or business’s feasibility, stability, and profitability. Financial data analysis enables analysts to assess risk, spot trends, and make well-informed judgments. Profitability ratios, liquidity ratios, and cash flow analysis are just a few of the important aspects of financial analysis that will be the focus of this study

This report is structured as follows:

-Data Overview: A brief introduction to the dataset and its sources.

-Descriptive Statistics : Basic summary statistics and visualizations to understand the data.

-Financial Ratios: Key financial ratios that measure company performance.

-Trend Analysis: Analysis of trends over time using financial data.

Conclusion: Key insights and recommendations based on the analysis

TOPIC 1

RESON FOR COMPANY ANALYSIS

Instead of examining a whole industry, the goal is to obtain more precise, useful information that is directly applicable to each of the companies involved, which is why a company-level analysis was chosen. Although a general overview of industry trends can be obtained through sector-wide study, individual companies’ distinct strengths, strategies, and performance determinants are sometimes overlooked.

Focusing on particular businesses allows us to better understand how each one is doing in comparison to its rivals and pinpoint important areas for improvement. A company-specific study makes it possible to compare financial data, operational plans, and competitive advantages in greater detail, which can offer helpful direction for strategic planning and decision-making.

In summary, a company-level analysis provides a clear view , more focus on performance that help find growth and improvement possibilities which might not be clear in assessments of the whole field ### WHY STEEL INDUSTRY? For the development of any country’s economy, infrastructure plays a crucial role. If the infrastructure is well developed, then a country is moving towards a progressive path. The amount of importance that the steel industry carries is enormous as the steel products are used by us on a day-to-day basis. Considering all these factors, we took steel industry for the purpose of our analysis. Moreover steel has been considered as the key measurement of any countries growth as it enhances the productivity of people.

JSW STEEL

The reason for choosing JSW steel ltd for the purpose of our financial statements analysis is that it has shown considerable amount of good results over the years even though it has a lower market share in the steel industry. During the past 5 years especially during the COVID-19 period, they were able to produce high-quality steel products with making almost double the amount of profit in this period. We focused on high quality steel products, as qualitative aspects (such as customer satisfaction) are also important for the growth of any business apart from the quantitative aspects (financial data)

TATA STEEL AS COMPETITOR

• TATA steel is the market leader in the steel industry having 70% of the market share. • For the purpose of any competitive analysis (example financial statements analysis) it is ideal to do comparison with the market leader so that we can know where we stand as a company and how we are performing in the industry as a whole. • TATA steel has been a strong competitor, posing strong challenges to other private sector companies in the steel industry. • TATA steel is also well known for their brand loyalty which remains key problems for other players in the market

DUPONT ANALYSIS

REASON

The reason for choosing DuPont analysis to compare your company with a competitor is that it breaks down the Return on Equity (ROE) into three important parts: Net Profit Margin, Asset Turnover, and Equity Multiplier. This makes it easier to see exactly how each company is performing in different areas:

Profitability: How well the company makes profit from its sales (Net Profit Margin).

Efficiency: How effectively the company uses its assets to generate sales (Asset Turnover).

Leverage: How much debt the company uses to fund its operations (Equity Multiplier).

By using DuPont analysis, you can compare these key areas between your company and a competitor, helping to spot where each company excels or struggles. This gives a clearer picture of what’s driving each company’s financial results, rather than just looking at the overall ROE.

It helps you understand things like whether a competitor is making more profit, using its assets more efficiently, or taking on more debt. This kind of detailed comparison provides useful insights for making better business decisions.

TAX BURDEN

By Anjan Kishore G

library(readxl)
library(gridExtra)
library(ggplot2)
# analysing jsw steels and tata steel using dupont analysis------------------------

#finding tax burden---------------------------------------------------

#jsw steels_net income---------
jsw_pl <- read_excel("C:/R PROJECT VALUES/JSW_PL.xlsx")
jsw_pl<-as.data.frame(jsw_pl)

colnames(jsw_pl) <- make.names(colnames(jsw_pl))
colnames(jsw_pl) <- trimws(colnames(jsw_pl))

jsw_pl_long <- reshape(jsw_pl, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

jsw_Rev_grp <- c("Revenue From Operations Gross",
                 "Less: Excise_Sevice Tax_Other Levies",
                 "Other Operating Revenues","Other Income")  
jsw_exp_grp <- c("Cost Of Materials Consumed","Cost of Power Purchased","Purchase Of Stock-In Trade",
                 "Cost Of Fuel","Operating And Direct Expenses","Changes In Inventories Of FG,WIP And Stock-In Trade",
                 "Employee Benefit Expenses","Finance Costs","Provisions and Contingencies","Depreciation And Amortisation Expenses",
                 "Other Expenses","Exceptional Items","Current Tax","Deferred Tax")  
sum_jsw_Rev_grp = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_Rev_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_Rev_grp], sum)
sum_jsw_exp_grp = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_exp_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_exp_grp], sum)
# finding the net income ---------------------------------------------------
net_income_jsw<- sum_jsw_Rev_grp - sum_jsw_exp_grp
data.frame(Year=names(net_income_jsw),Total=unname(net_income_jsw))
Year Total
2020 7909
2021 9165
2022 18146
2023 4937
2024 9150
# finding earnings before tax of jsw steels------

jsw_pl <- read_excel("C:/R PROJECT VALUES/JSW_PL.xlsx")
jsw_pl<-as.data.frame(jsw_pl)

colnames(jsw_pl) <- make.names(colnames(jsw_pl))
colnames(jsw_pl) <- trimws(colnames(jsw_pl))

jsw_pl_long <- reshape(jsw_pl, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")
jsw_Rev_grp <- c("Revenue From Operations Gross",
                 "Less: Excise_Sevice Tax_Other Levies",
                 "Other Operating Revenues","Other Income")  
jsw_exp_grp <- c("Cost Of Materials Consumed","Cost of Power Purchased","Purchase Of Stock-In Trade",
                 "Cost Of Fuel","Operating And Direct Expenses","Changes In Inventories Of FG,WIP And Stock-In Trade",
                 "Employee Benefit Expenses","Finance Costs","Provisions and Contingencies","Depreciation And Amortisation Expenses",
                 "Other Expenses")      


sum_jsw_Rev_grp_1 = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_Rev_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_Rev_grp], sum)
sum_jsw_exp_grp_2 = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_exp_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_exp_grp], sum)
#finding the ebt ---------------------------------------------------
ebtj<- sum_jsw_Rev_grp_1 - sum_jsw_exp_grp_2
data.frame(Year=names(ebtj),Total=unname(ebtj))
Year Total
2020 5601
2021 12582
2022 25437
2023 6968
2024 12141
# tax burden of jsw steel
tax_burden_jsw<-net_income_jsw/ebtj
tbj=data.frame(Year=names(tax_burden_jsw),TaxBurden=unname(tax_burden_jsw))

p1_jsw=ggplot(tbj,aes(x=Year,y=TaxBurden))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,TaxBurden, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="TAX BURDEN OF JSW STEEL",
       subtitle="JSW STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(0.5,1.5),  # Set y-axis limits
                     breaks = seq(0.5,1.5, by = 0.1),)  # Set the breaks on the y-axis
#-------------------------------------------------------------------------------------------
#TAX BURDEN OF TATA STEELS
#---------------------------------------------------------------------------------------------------------------------------------------------------
tata_pl=read_excel("C:/R PROJECT VALUES/TATA_IS.xlsx")
tata_pl<-as.data.frame(tata_pl)

colnames(tata_pl) <- make.names(colnames(tata_pl))
colnames(tata_pl) <- trimws(colnames(tata_pl))

tata_pl_long <- reshape(tata_pl, 
                        varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                        v.names = "Amount", 
                        timevar = "Year",
                        times = c("2020","2021","2022","2023", "2024"),
                        direction = "long")
tata_Rev_grp <- c("Revenue From Operations Gross",
                  "Less: Excise_Sevice Tax_Other Levies",
                  "Other Operating Revenues","Other Income")  
tata_exp_grp <- c("Cost Of Materials Consumed","Cost of Power Purchased","Purchase Of Stock-In Trade",
                  "Cost Of Fuel","Operating And Direct Expenses","Changes In Inventories Of FG,WIP And Stock-In Trade",
                  "Employee Benefit Expenses","Finance Costs","Provisions and Contingencies","Depreciation And Amortisation Expenses",
                  "Other Expenses","Exceptional Items","Current Tax","Deferred Tax")      


sum_tata_Rev_grp = tapply(tata_pl_long$Amount[tata_pl_long$items %in% tata_Rev_grp], tata_pl_long$Year[tata_pl_long$items %in% tata_Rev_grp], sum)
sum_tata_exp_grp = tapply(tata_pl_long$Amount[tata_pl_long$items %in% tata_exp_grp], tata_pl_long$Year[tata_pl_long$items %in% tata_exp_grp], sum)

#finding the net income ---------------------------------------------------
  net_income_tata<- sum_tata_Rev_grp - sum_tata_exp_grp
data.frame(Year=names(net_income_tata),Total=unname(net_income_tata))
Year Total
2020 8479.83
2021 14274.13
2022 31023.99
2023 12533.33
2024 31091.22
# finding the ebt ---------------------------------------------------
tata_pl=read_excel("C:/R PROJECT VALUES/TATA_IS.xlsx")
tata_pl<-as.data.frame(tata_pl)

colnames(tata_pl) <- make.names(colnames(tata_pl))
colnames(tata_pl) <- trimws(colnames(tata_pl))

tata_pl_long <- reshape(tata_pl, 
                        varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                        v.names = "Amount", 
                        timevar = "Year",
                        times = c("2020","2021","2022","2023", "2024"),
                        direction = "long")
tata_Rev_grp <- c("Revenue From Operations Gross",
                  "Less: Excise_Sevice Tax_Other Levies",
                  "Other Operating Revenues","Other Income")  
tata_exp_grp <- c("Cost Of Materials Consumed","Cost of Power Purchased","Purchase Of Stock-In Trade",
                  "Cost Of Fuel","Operating And Direct Expenses","Changes In Inventories Of FG,WIP And Stock-In Trade",
                  "Employee Benefit Expenses","Finance Costs","Provisions and Contingencies","Depreciation And Amortisation Expenses",
                  "Other Expenses")      


sum_tata_Rev_grp_1 = tapply(tata_pl_long$Amount[tata_pl_long$items %in% tata_Rev_grp], tata_pl_long$Year[tata_pl_long$items %in% tata_Rev_grp], sum)
sum_tata_exp_grp_2 = tapply(tata_pl_long$Amount[tata_pl_long$items %in% tata_exp_grp], tata_pl_long$Year[tata_pl_long$items %in% tata_exp_grp], sum)


ebtt<- sum_tata_Rev_grp_1 - sum_tata_exp_grp_2
data.frame(Year=names(ebtt),Total=unname(ebtt))
Year Total
2020 6643.43
2021 16547.30
2022 41868.01
2023 17281.36
2024 21820.29
#--------------------------------------------------------------------------------------------------------------

# tax burden of tata steel
tax_burden_tata<-net_income_tata/ebtt

tbt=data.frame(Year=names(tax_burden_tata),TaxBurden=unname(tax_burden_tata))
#--------------------------------------------------------------------------------------------------------------


p2_tata=ggplot(tbt,aes(x=Year,y=TaxBurden))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,TaxBurden, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="TAX BURDEN OF TATA STEEL",
       subtitle="TATA STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(0.5,1.5),  # Set y-axis limits
                     breaks = seq(0.5,1.5, by = 0.1),)  # Set the breaks on the y-axis

grid.arrange(p1_jsw,p2_tata,nrow=1,ncol=2)  

. CONCLUSION: • The tax burden of tata steel ltd increases drastically during the financial year 2023-24 as a result of having increased income which means the company has recovered well from the COVID years.

• On the other hand, JSW steel ltd, the tax burden lies in the same level in the yr 2023-24 as of the previous years.

INTEREST BURDEN

By Anjan Kishore G

library(readxl)
library(gridExtra)
library(ggplot2)
jsw_pl <- read_excel("C:/R PROJECT VALUES/JSW_PL.xlsx")
jsw_pl<-as.data.frame(jsw_pl)

colnames(jsw_pl) <- make.names(colnames(jsw_pl))
colnames(jsw_pl) <- trimws(colnames(jsw_pl))

jsw_pl_long <- reshape(jsw_pl, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")







jsw_Rev_grp <- c("Revenue From Operations Gross",
                 "Less: Excise_Sevice Tax_Other Levies",
                 "Other Operating Revenues","Other Income")  
jsw_exp_grp <- c("Cost Of Materials Consumed","Cost of Power Purchased","Purchase Of Stock-In Trade",
                 "Cost Of Fuel","Operating And Direct Expenses","Changes In Inventories Of FG,WIP And Stock-In Trade",
                 "Employee Benefit Expenses","Provisions and Contingencies","Depreciation And Amortisation Expenses",
                 "Other Expenses")      


sum_jsw_Rev_grp_3 = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_Rev_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_Rev_grp], sum)
sum_jsw_exp_grp_4 = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_exp_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_exp_grp], sum)

# finding the earnings before interest and tax ---------------------------------------------------
ebitj<- sum_jsw_Rev_grp_3 - sum_jsw_exp_grp_4
data.frame(Year=names(ebitj),Total=unname(ebitj))
Year Total
2020 9623
2021 16147
2022 29286
2023 11991
2024 18249
#----------------------------------------------------------------------------------------------------
# finding earnings before tax of jsw steels------

jsw_pl <- read_excel("C:/R PROJECT VALUES/JSW_PL.xlsx")
jsw_pl<-as.data.frame(jsw_pl)

colnames(jsw_pl) <- make.names(colnames(jsw_pl))
colnames(jsw_pl) <- trimws(colnames(jsw_pl))

jsw_pl_long <- reshape(jsw_pl, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")
jsw_Rev_grp <- c("Revenue From Operations Gross",
                 "Less: Excise_Sevice Tax_Other Levies",
                 "Other Operating Revenues","Other Income")  
jsw_exp_grp <- c("Cost Of Materials Consumed","Cost of Power Purchased","Purchase Of Stock-In Trade",
                 "Cost Of Fuel","Operating And Direct Expenses","Changes In Inventories Of FG,WIP And Stock-In Trade",
                 "Employee Benefit Expenses","Finance Costs","Provisions and Contingencies","Depreciation And Amortisation Expenses",
                 "Other Expenses")      


sum_jsw_Rev_grp_1 = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_Rev_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_Rev_grp], sum)
sum_jsw_exp_grp_2 = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_exp_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_exp_grp], sum)
#finding the ebt ---------------------------------------------------
ebtj<- sum_jsw_Rev_grp_1 - sum_jsw_exp_grp_2
data.frame(Year=names(ebtj),Total=unname(ebtj))
Year Total
2020 5601
2021 12582
2022 25437
2023 6968
2024 12141
#--------------------------------------------------------------------------
#finding interset burden
int_burden_jsw<-ebtj/ebitj
ibj=data.frame(Year=names(int_burden_jsw),intBurden=unname(int_burden_jsw))


p3_jsw=ggplot(ibj,aes(x=Year,y=intBurden))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,intBurden, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="INTEREST BURDEN OF JSW STEEL",
       subtitle="JSW STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(0.3,1),  # Set y-axis limits
                     breaks = seq(0.3,1, by = 0.1),)  # Set the breaks on the y-axis
#----------------------------------------------------------------------------------------------------------

#interest burden of tata steel

tata_pl <- read_excel("C:/R PROJECT VALUES/TATA_IS.xlsx")
tata_pl<-as.data.frame(tata_pl)

colnames(tata_pl) <- make.names(colnames(tata_pl))
colnames(tata_pl) <- trimws(colnames(tata_pl))

tata_pl_long <- reshape(tata_pl, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")







tata_Rev_grp <- c("Revenue From Operations Gross",
                 "Less: Excise_Sevice Tax_Other Levies",
                 "Other Operating Revenues","Other Income")  
tata_exp_grp <- c("Cost Of Materials Consumed","Cost of Power Purchased","Purchase Of Stock-In Trade",
                 "Cost Of Fuel","Operating And Direct Expenses","Changes In Inventories Of FG,WIP And Stock-In Trade",
                 "Employee Benefit Expenses","Provisions and Contingencies","Depreciation And Amortisation Expenses",
                 "Other Expenses")      


sum_tata_Rev_grp_3 = tapply(tata_pl_long$Amount[tata_pl_long$items %in% tata_Rev_grp], tata_pl_long$Year[tata_pl_long$items %in% tata_Rev_grp], sum)
sum_tata_exp_grp_4 = tapply(tata_pl_long$Amount[tata_pl_long$items %in% tata_exp_grp], tata_pl_long$Year[tata_pl_long$items %in% tata_exp_grp], sum)

# finding the earnings before interest and tax ---------------------------------------------------
ebitt<- sum_tata_Rev_grp_3 - sum_tata_exp_grp_4
data.frame(Year=names(ebitt),Total=unname(ebitt))
Year Total
2020 9674.44
2021 21088.32
2022 44660.09
2023 21073.50
2024 25998.90
#----------------------------------------------------------------------------------------------------
# finding earnings before tax of tata steels------

tata_pl <- read_excel("C:/R PROJECT VALUES/TATA_IS.xlsx")
tata_pl<-as.data.frame(tata_pl)

colnames(tata_pl) <- make.names(colnames(tata_pl))
colnames(tata_pl) <- trimws(colnames(tata_pl))

tata_pl_long <- reshape(tata_pl, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")
tata_Rev_grp <- c("Revenue From Operations Gross",
                 "Less: Excise_Sevice Tax_Other Levies",
                 "Other Operating Revenues","Other Income")  
tata_exp_grp <- c("Cost Of Materials Consumed","Cost of Power Purchased","Purchase Of Stock-In Trade",
                 "Cost Of Fuel","Operating And Direct Expenses","Changes In Inventories Of FG,WIP And Stock-In Trade",
                 "Employee Benefit Expenses","Finance Costs","Provisions and Contingencies","Depreciation And Amortisation Expenses",
                 "Other Expenses")      


sum_tata_Rev_grp_1 = tapply(tata_pl_long$Amount[tata_pl_long$items %in% tata_Rev_grp], tata_pl_long$Year[tata_pl_long$items %in% tata_Rev_grp], sum)
sum_tata_exp_grp_2 = tapply(tata_pl_long$Amount[tata_pl_long$items %in% tata_exp_grp], tata_pl_long$Year[tata_pl_long$items %in% tata_exp_grp], sum)
#finding the ebt ---------------------------------------------------
ebtt<- sum_tata_Rev_grp_1 - sum_tata_exp_grp_2
data.frame(Year=names(ebtt),Total=unname(ebtt))
Year Total
2020 6643.43
2021 16547.30
2022 41868.01
2023 17281.36
2024 21820.29
#--------------------------------------------------------------------------
#finding interset burden
int_burden_tata<-ebtt/ebitt
ibt=data.frame(Year=names(int_burden_tata),intBurden=unname(int_burden_tata))


p4_tata=ggplot(ibt,aes(x=Year,y=intBurden))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,intBurden, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="INTEREST BURDEN OF tata STEEL",
       subtitle="tata STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(0.3,1),  # Set y-axis limits
                     breaks = seq(0.3,1, by = 0.1),)  # Set the breaks on the y-axis

grid.arrange(p3_jsw,p4_tata,nrow=1,ncol=2) 

CONCLUSION: The interest burden of JSW steel ltd increased during the year 2022-23 as majority of the EBIT goes towards interest payments due to the amount of loan borrowed by the company Tata steel doesn’t have that much of interest burden as they have done well to have excess earnings even after making interest payments

EBIT MARGIN

By Kiran Kumar V

    EBIT/ REVENUE
library(readxl)
library(gridExtra)
library(ggplot2)
#finding  ebit margin


#finding  ebit margin


#jsw steel
#jsw revenue

jsw_pl <- read_excel("C:/R PROJECT VALUES/JSW_PL.xlsx")
jsw_pl<-as.data.frame(jsw_pl)

colnames(jsw_pl) <- make.names(colnames(jsw_pl))
colnames(jsw_pl) <- trimws(colnames(jsw_pl))

jsw_pl_long <- reshape(jsw_pl, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

jsw_Rev_grp <- c("Revenue From Operations Gross",
                 "Less: Excise_Sevice Tax_Other Levies",
                 "Other Operating Revenues","Other Income") 
sum_jsw_Rev_grp = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_Rev_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_Rev_grp], sum)


#---------jsw ebit

jsw_pl <- read_excel("C:/R PROJECT VALUES/JSW_PL.xlsx")
jsw_pl<-as.data.frame(jsw_pl)

colnames(jsw_pl) <- make.names(colnames(jsw_pl))
colnames(jsw_pl) <- trimws(colnames(jsw_pl))

jsw_pl_long <- reshape(jsw_pl, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")







jsw_Rev_grp <- c("Revenue From Operations Gross",
                 "Less: Excise_Sevice Tax_Other Levies",
                 "Other Operating Revenues","Other Income")  
jsw_exp_grp <- c("Cost Of Materials Consumed","Cost of Power Purchased","Purchase Of Stock-In Trade",
                 "Cost Of Fuel","Operating And Direct Expenses","Changes In Inventories Of FG,WIP And Stock-In Trade",
                 "Employee Benefit Expenses","Provisions and Contingencies","Depreciation And Amortisation Expenses",
                 "Other Expenses")      


sum_jsw_Rev_grp = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_Rev_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_Rev_grp], sum)
sum_jsw_exp_grp = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_exp_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_exp_grp], sum)

# finding the earnings before interest and tax ---------------------------------------------------
ebitj<- sum_jsw_Rev_grp - sum_jsw_exp_grp
data.frame(Year=names(ebitj),Total=unname(ebitj))
Year Total
2020 9623
2021 16147
2022 29286
2023 11991
2024 18249
# finding EBIT MARGIN of JSW steel
ebit_margin_jsw<-ebitj/sum_jsw_Rev_grp
ebitm_j=data.frame(Year=names(ebit_margin_jsw),ebitmargin=unname(ebit_margin_jsw))
#-------------------------------------------------------------------------------------------------
p5_jsw=ggplot(ebitm_j,aes(x=Year,y=ebitmargin))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,ebitmargin, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="EBIT MARGIN OF JSW STEEL",
       subtitle="JSW STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(0.0,0.5),  # Set y-axis limits
                     breaks = seq(0.0,0.5, by = 0.1),)  # Set the breaks on the y-axis
#------------------------------------------------------------------------------------------------

#ebit margin of tata steel
#revenue 


tata_pl=read_excel("C:/R PROJECT VALUES/TATA_IS.xlsx")
tata_pl<-as.data.frame(tata_pl)

colnames(tata_pl) <- make.names(colnames(tata_pl))
colnames(tata_pl) <- trimws(colnames(tata_pl))

tata_pl_long <- reshape(tata_pl, 
                        varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                        v.names = "Amount", 
                        timevar = "Year",
                        times = c("2020","2021","2022","2023", "2024"),
                        direction = "long")
tata_Rev_grp <- c("Revenue From Operations Gross",
                  "Less: Excise_Sevice Tax_Other Levies",
                  "Other Operating Revenues","Other Income") 
sum_tata_Rev_grp = tapply(tata_pl_long$Amount[tata_pl_long$items %in% tata_Rev_grp], tata_pl_long$Year[tata_pl_long$items %in% tata_Rev_grp], sum)
#----------------------------------------------------------------------------------------------------------------

#EBIT OF Tata

tata_pl <- read_excel("C:/R PROJECT VALUES/TATA_IS.xlsx")
tata_pl<-as.data.frame(tata_pl)

colnames(tata_pl) <- make.names(colnames(tata_pl))
colnames(tata_pl) <- trimws(colnames(tata_pl))

tata_pl_long <- reshape(tata_pl, 
                        varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                        v.names = "Amount", 
                        timevar = "Year",
                        times = c("2020","2021","2022","2023", "2024"),
                        direction = "long")







tata_Rev_grp <- c("Revenue From Operations Gross",
                  "Less: Excise_Sevice Tax_Other Levies",
                  "Other Operating Revenues","Other Income")  
tata_exp_grp <- c("Cost Of Materials Consumed","Cost of Power Purchased","Purchase Of Stock-In Trade",
                  "Cost Of Fuel","Operating And Direct Expenses","Changes In Inventories Of FG,WIP And Stock-In Trade",
                  "Employee Benefit Expenses","Provisions and Contingencies","Depreciation And Amortisation Expenses",
                  "Other Expenses")      


sum_tata_Rev_grp = tapply(tata_pl_long$Amount[tata_pl_long$items %in% tata_Rev_grp], tata_pl_long$Year[tata_pl_long$items %in% tata_Rev_grp], sum)
sum_tata_exp_grp = tapply(tata_pl_long$Amount[tata_pl_long$items %in% tata_exp_grp], tata_pl_long$Year[tata_pl_long$items %in% tata_exp_grp], sum)

# finding the earnings before interest and tax ---------------------------------------------------
ebitt<- sum_tata_Rev_grp - sum_tata_exp_grp
data.frame(Year=names(ebitt),Total=unname(ebitt))
Year Total
2020 9674.44
2021 21088.32
2022 44660.09
2023 21073.50
2024 25998.90
#finding ebit margin
ebit_margin_tata<-ebitt/sum_tata_Rev_grp
ebitm_t=data.frame(Year=names(ebit_margin_tata),ebitmargin=unname(ebit_margin_tata))

#graph 
p6_tata=ggplot(ebitm_t,aes(x=Year,y=ebitmargin))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,ebitmargin, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="EBIT MARGIN OF TATA STEEL",
       subtitle="TATA STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(0.0,0.5),  # Set y-axis limits
                     breaks = seq(0.0,0.5, by = 0.1),)  # Set the breaks on the y-axis



grid.arrange(p5_jsw,p6_tata,nrow=1,ncol=2) 

CONCLUSION: EBIT margin of tata steel has been on the rising side over the 1st 3 years but at the same proportion experienced a sharp decline during the F.Y 2022-23. Both the companies have got the Same growth rate in the EBIT margin during the financial year 2023-24

ASSET-TURNOVER

By Kiran Kumar V

library(readxl)
library(gridExtra)
library(ggplot2)
# FINDING ASSET TURNOVER RATIO----------------------------------------------------------
#jsw revenue

jsw_pl <- read_excel("C:/R PROJECT VALUES/JSW_PL.xlsx")
jsw_pl<-as.data.frame(jsw_pl)

colnames(jsw_pl) <- make.names(colnames(jsw_pl))
colnames(jsw_pl) <- trimws(colnames(jsw_pl))

jsw_pl_long <- reshape(jsw_pl, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

jsw_Rev_grp <- c("Revenue From Operations Gross",
                 "Less: Excise_Sevice Tax_Other Levies",
                 "Other Operating Revenues","Other Income") 
sum_jsw_Rev_grp = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_Rev_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_Rev_grp], sum)

#----------------------------------------------------------------------------------------------------------------------------------------------------------------

#finding average total assets-----------------------
jsw_bs <- read_excel("C:/R PROJECT VALUES/JSW_BS.xlsx")
jsw_bs<-as.data.frame(jsw_bs)

colnames(jsw_bs) <- make.names(colnames(jsw_bs))
colnames(jsw_bs) <- trimws(colnames(jsw_bs))

jsw_bs_long <- reshape(jsw_bs, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

jsw_tca<- c("Tangible Assets","Intangible Assets","Capital WIP","Intangible Assets Under Development","Fixed Assets","Non-Current Investments",
            "Deferred Tax Assest  Net","Long Term Loans And Advances","Other Non-Current Assets","Current Investments","Inventories",
            "Trade Receivables","Cash And Cash Equivalents","Short Term Loans And Advances","OtherCurrentAssets")
jsw_bs_long$Amount <- as.numeric(gsub(",", "", jsw_bs_long$Amount))
## Warning: NAs introduced by coercion
sum(is.na(jsw_bs_long$Amount))
## [1] 20
jsw_bs_long$Amount[is.na(jsw_bs_long$Amount)] <- 0
sum_jsw_tca<-tapply(jsw_bs_long$Amount[jsw_bs_long$items %in% jsw_tca], jsw_bs_long$Year[jsw_bs_long$items %in% jsw_tca], sum)
# Total Assets value for each year
Total_assets <- c(196725, 214216, 247115, 258403, 2758980)  # 2020 to 2024

# Function to calculate Average Assets between consecutive years
ta_jsw <- function(Total_assets) {
  # Initialize a vector to store the average for each year pair
  average_Total_assets <- numeric(length(Total_assets))
  
  # For 2020, just use closing value as average (since opening is not given)
  average_Total_assets[1] <- Total_assets[1]  # 2020, only closing value used
  
  # For the remaining years (2021 to 2024), calculate average using (Opening + Closing) / 2
  for (i in 2:length(Total_assets)) {
    average_Total_assets[i] <- (Total_assets[i-1] + Total_assets[i]) / 2  # Average of opening and closing
  }
  
  return(average_Total_assets)
}

# Call the function to calculate average equity
average_Total_assets_j <- ta_jsw(Total_assets)

data.frame(Year=unique(jsw_bs_long$Year),AvgTa=average_Total_assets_j)
Year AvgTa
2020 196725.0
2021 205470.5
2022 230665.5
2023 252759.0
2024 1508691.5
#-------------------------------------------------------------------------------------------------------------------------
asset_turnover_j<-sum_jsw_Rev_grp/average_Total_assets_j


asset_turnover_ratio_jsw <- data.frame(
  Year = seq_along(asset_turnover_j),
  asset_turnover_jsw  = asset_turnover_j)

#-----------------------------graph------------------------------------------------------------------------------------------------

p11_jsw=ggplot(asset_turnover_ratio_jsw,aes(x=Year,y=asset_turnover_jsw))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,asset_turnover_jsw, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="ASSET TURNOVER  OF JSW STEEL",
       subtitle="JSW STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(0.0,0.6),  # Set y-axis limits
                     breaks = seq(0.0,0.6, by = 0.1),)  # Set the breaks on the y-axis














#-------------------------------------tata steel--------------------------------------------------
#finding average total assets-----------------------
tata_bs <- read_excel("C:/R PROJECT VALUES/TATA_BS.xlsx")
tata_bs<-as.data.frame(tata_bs)

colnames(tata_bs) <- make.names(colnames(tata_bs))
colnames(tata_bs) <- trimws(colnames(tata_bs))

tata_bs_long <- reshape(tata_bs, 
                        varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                        v.names = "Amount", 
                        timevar = "Year",
                        times = c("2020","2021","2022","2023", "2024"),
                        direction = "long")

tata_tca<- c("Tangible Assets","Intangible Assets","Capital WIP","Intangible Assets Under Development","Fixed Assets","Non-Current Investments",
             "Deferred Tax Assest  Net","Long Term Loans And Advances","Other Non-Current Assets","Current Investments","Inventories",
             "Trade Receivables","Cash And Cash Equivalents","Short Term Loans And Advances","OtherCurrentAssets")
tata_bs_long$Amount <- as.numeric(gsub(",", "", tata_bs_long$Amount))
## Warning: NAs introduced by coercion
sum(is.na(tata_bs_long$Amount))
## [1] 14
tata_bs_long$Amount[is.na(tata_bs_long$Amount)] <- 0
sum_tata_tca<-tapply(tata_bs_long$Amount[tata_bs_long$items %in% tata_tca], tata_bs_long$Year[tata_bs_long$items %in% tata_tca], sum)
# Total Assets value for each year
Total_assets <- c(229873.0 , 288542.5, 330818.6, 346584.6, 370799.3)  # 2020 to 2024

# Function to calculate Average Assets between consecutive years
ta_tata <- function(Total_assets) {
  # Initialize a vector to store the average for each year pair
  average_Total_assets <- numeric(length(Total_assets))
  
  # For 2020, just use closing value as average (since opening is not given)
  average_Total_assets[1] <- Total_assets[1]  # 2020, only closing value used
  
  # For the remaining years (2021 to 2024), calculate average using (Opening + Closing) / 2
  for (i in 2:length(Total_assets)) {
    average_Total_assets[i] <- (Total_assets[i-1] + Total_assets[i]) / 2  # Average of opening and closing
  }
  
  return(average_Total_assets)
}

# Call the function to calculate average equity
average_Total_assets_t <- ta_tata(Total_assets)

data.frame(Year=unique(tata_bs_long$Year),AvgTa=average_Total_assets_t)
Year AvgTa
2020 229873.0
2021 259207.8
2022 309680.5
2023 338701.6
2024 358692.0
#------------------------------------------------------------------------------------------------------------------



#revenue 


tata_pl=read_excel("C:/R PROJECT VALUES/TATA_IS.xlsx")
tata_pl<-as.data.frame(tata_pl)

colnames(tata_pl) <- make.names(colnames(tata_pl))
colnames(tata_pl) <- trimws(colnames(tata_pl))

tata_pl_long <- reshape(tata_pl, 
                        varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                        v.names = "Amount", 
                        timevar = "Year",
                        times = c("2020","2021","2022","2023", "2024"),
                        direction = "long")
tata_Rev_grp <- c("Revenue From Operations Gross",
                  "Less: Excise_Sevice Tax_Other Levies",
                  "Other Operating Revenues","Other Income") 
sum_tata_Rev_grp = tapply(tata_pl_long$Amount[tata_pl_long$items %in% tata_Rev_grp], tata_pl_long$Year[tata_pl_long$items %in% tata_Rev_grp], sum)
#----------------------------------------------------------------------------------------------------------------


asset_turnover_t<-sum_jsw_Rev_grp/average_Total_assets_t


asset_turnover_ratio_tata <- data.frame(
  Year = seq_along(asset_turnover_t),
  asset_turnover_tata  = asset_turnover_t)

#-----------------------------graph------------------------------------------------------------------------------------------------

p12_tata=ggplot(asset_turnover_ratio_tata,aes(x=Year,y=asset_turnover_tata))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,asset_turnover_tata, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="ASSET TURNOVER  OF TATA STEEL",
       subtitle="TATA STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(0.1,0.5),  # Set y-axis limits
                     breaks = seq(0.1,0.5, by = 0.1),)  # Set the breaks on the y-axis

#----------------------------------------------------------------------------------------------------

grid.arrange(p11_jsw,p12_tata,nrow=1,ncol=2) 

CONCLUSION: The assets turnover for both the companies has been on the rising side till the 3rd year, remains stagnant during the financial year 2022-23. The difference lies in the year 2023-24, JSW has experienced a sharp decline while tata steel has made efforts to maintain the same.

LEVERAGE

Kiran Kumar V

library(readxl)
library(gridExtra)
library(ggplot2)
#third  financial leverage------------------------------------------
#finding average total assets-----------------------
jsw_bs <- read_excel("C:/R PROJECT VALUES/JSW_BS.xlsx")
jsw_bs<-as.data.frame(jsw_bs)

colnames(jsw_bs) <- make.names(colnames(jsw_bs))
colnames(jsw_bs) <- trimws(colnames(jsw_bs))

jsw_bs_long <- reshape(jsw_bs, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

jsw_tca<- c("Tangible Assets","Intangible Assets","Capital WIP","Intangible Assets Under Development","Fixed Assets","Non-Current Investments",
            "Deferred Tax Assest  Net","Long Term Loans And Advances","Other Non-Current Assets","Current Investments","Inventories",
            "Trade Receivables","Cash And Cash Equivalents","Short Term Loans And Advances","OtherCurrentAssets")
jsw_bs_long$Amount <- as.numeric(gsub(",", "", jsw_bs_long$Amount))
## Warning: NAs introduced by coercion
sum(is.na(jsw_bs_long$Amount))
## [1] 20
jsw_bs_long$Amount[is.na(jsw_bs_long$Amount)] <- 0
sum_jsw_tca<-tapply(jsw_bs_long$Amount[jsw_bs_long$items %in% jsw_tca], jsw_bs_long$Year[jsw_bs_long$items %in% jsw_tca], sum)
# Total Assets value for each year
Total_assets <- c(196725, 214216, 247115, 258403, 2758980)  # 2020 to 2024

# Function to calculate Average Assets between consecutive years
ta_jsw <- function(Total_assets) {
  # Initialize a vector to store the average for each year pair
  average_Total_assets <- numeric(length(Total_assets))
  
  # For 2020, just use closing value as average (since opening is not given)
  average_Total_assets[1] <- Total_assets[1]  # 2020, only closing value used
  
  # For the remaining years (2021 to 2024), calculate average using (Opening + Closing) / 2
  for (i in 2:length(Total_assets)) {
    average_Total_assets[i] <- (Total_assets[i-1] + Total_assets[i]) / 2  # Average of opening and closing
  }
  
  return(average_Total_assets)
}

# Call the function to calculate average equity
average_Total_assets <- ta_jsw(Total_assets)

data.frame(Year=unique(jsw_bs_long$Year),AvgTa=average_Total_assets)
Year AvgTa
2020 196725.0
2021 205470.5
2022 230665.5
2023 252759.0
2024 1508691.5
#--------------------------------------------------------------------------------------------
#finding average total equity--------------------------------------------------------------------
jsw_bs <- read_excel("C:/R PROJECT VALUES/JSW_BS.xlsx")
jsw_bs<-as.data.frame(jsw_bs)

colnames(jsw_bs) <- make.names(colnames(jsw_bs))
colnames(jsw_bs) <- trimws(colnames(jsw_bs))

jsw_bs_long <- reshape(jsw_bs, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

jsw_tequ <- c("Equity Share Capital","Preference Share Capital","Revaluation Reserve","Reserves and Surplus")

jsw_bs_long$Amount <- as.numeric(jsw_bs_long$Amount)
## Warning: NAs introduced by coercion
sum_jsw_tequ<-tapply(jsw_bs_long$Amount[jsw_bs_long$items %in% jsw_tequ], jsw_bs_long$Year[jsw_bs_long$items %in% jsw_tequ], sum)
# Total equity value for each year
Total_equity <- c(38362, 46977, 63501, 63659, 75283)  # 2020 to 2024

# Function to calculate Average equity between consecutive years
eqs_jsw <- function(Total_equity) {
  # Initialize a vector to store the average for each year pair
  average_Total_equity <- numeric(length(Total_equity))
  
  # For 2020, just use closing value as average (since opening is not given)
  average_Total_equity[1] <- Total_equity[1]  # 2020, only closing value used
  
  # For the remaining years (2021 to 2024), calculate average using (Opening + Closing) / 2
  for (i in 2:length(Total_equity)) {
    average_Total_equity[i] <- (Total_equity[i-1] + Total_equity[i]) / 2  # Average of opening and closing
  }
  
  return(average_Total_equity)
}

# Call the function to calculate average total equity
average_Total_equity <- eqs_jsw(Total_equity)

data.frame(Year=unique(jsw_bs_long$Year),AvgEqu=average_Total_equity)
Year AvgEqu
2020 38362.0
2021 42669.5
2022 55239.0
2023 63580.0
2024 69471.0
#--------------------------------------------------------------------------------------
#finding financial leverage------------------------------------------------------------
financial_leverage_ratio<-average_Total_assets / average_Total_equity

financial_leverage_ratio_jsw <- data.frame(
  Year = seq_along(financial_leverage_ratio),
  financialleverageratio = financial_leverage_ratio)


p9_jsw=ggplot(financial_leverage_ratio_jsw,aes(x=Year,y=financialleverageratio))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,financialleverageratio, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="FINANCIAL LEVERAGE  OF JSW STEEL",
       subtitle="JSW STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(3.5,22.0),  # Set y-axis limits
                     breaks = seq(3.5,22.0, by = 1.0),)  # Set the breaks on the y-axis



#---------------------------------------------------------------------------------------------------------------------------------------------
#--------------------------TATA STEEL--------------------------------------------------------

#third  financial leverage------------------------------------------
#finding average total assets-----------------------
tata_bs <- read_excel("C:/R PROJECT VALUES/TATA_BS.xlsx")
tata_bs<-as.data.frame(tata_bs)

colnames(tata_bs) <- make.names(colnames(tata_bs))
colnames(tata_bs) <- trimws(colnames(tata_bs))

tata_bs_long <- reshape(tata_bs, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

tata_tca<- c("Tangible Assets","Intangible Assets","Capital WIP","Intangible Assets Under Development","Fixed Assets","Non-Current Investments",
            "Deferred Tax Assest  Net","Long Term Loans And Advances","Other Non-Current Assets","Current Investments","Inventories",
            "Trade Receivables","Cash And Cash Equivalents","Short Term Loans And Advances","OtherCurrentAssets")
tata_bs_long$Amount <- as.numeric(gsub(",", "", tata_bs_long$Amount))
## Warning: NAs introduced by coercion
sum(is.na(tata_bs_long$Amount))
## [1] 14
tata_bs_long$Amount[is.na(tata_bs_long$Amount)] <- 0
sum_tata_tca<-tapply(tata_bs_long$Amount[tata_bs_long$items %in% tata_tca], tata_bs_long$Year[tata_bs_long$items %in% tata_tca], sum)
# Total Assets value for each year
Total_assets <- c(229873.0 , 288542.5, 330818.6, 346584.6, 370799.3)  # 2020 to 2024

# Function to calculate Average Assets between consecutive years
ta_tata <- function(Total_assets) {
  # Initialize a vector to store the average for each year pair
  average_Total_assets <- numeric(length(Total_assets))
  
  # For 2020, just use closing value as average (since opening is not given)
  average_Total_assets[1] <- Total_assets[1]  # 2020, only closing value used
  
  # For the remaining years (2021 to 2024), calculate average using (Opening + Closing) / 2
  for (i in 2:length(Total_assets)) {
    average_Total_assets[i] <- (Total_assets[i-1] + Total_assets[i]) / 2  # Average of opening and closing
  }
  
  return(average_Total_assets)
}

# Call the function to calculate average equity
average_Total_assets <- ta_tata(Total_assets)

data.frame(Year=unique(tata_bs_long$Year),AvgTa=average_Total_assets)
Year AvgTa
2020 229873.0
2021 259207.8
2022 309680.5
2023 338701.6
2024 358692.0
#--------------------------------------------------------------------------------------------
#finding average total equity--------------------------------------------------------------------
tata_bs <- read_excel("C:/R PROJECT VALUES/TATA_BS.xlsx")
tata_bs<-as.data.frame(tata_bs)

colnames(tata_bs) <- make.names(colnames(tata_bs))
colnames(tata_bs) <- trimws(colnames(tata_bs))

tata_bs_long <- reshape(tata_bs, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

tata_tequ <- c("Equity Share Capital","Preference Share Capital","Revaluation Reserve","Reserves and Surplus")

tata_bs_long$Amount <- as.numeric(tata_bs_long$Amount)
## Warning: NAs introduced by coercion
sum_tata_tequ<-tapply(tata_bs_long$Amount[tata_bs_long$items %in% tata_tequ], tata_bs_long$Year[tata_bs_long$items %in% tata_tequ], sum)
# Total equity value for each year
Total_equity <- c(74563.12, 94406.34, 125433.76, 134797.51, 137693.65)  # 2020 to 2024

# Function to calculate Average equity between consecutive years
eqs_tata <- function(Total_equity) {
  # Initialize a vector to store the average for each year pair
  average_Total_equity <- numeric(length(Total_equity))
  
  # For 2020, just use closing value as average (since opening is not given)
  average_Total_equity[1] <- Total_equity[1]  # 2020, only closing value used
  
  # For the remaining years (2021 to 2024), calculate average using (Opening + Closing) / 2
  for (i in 2:length(Total_equity)) {
    average_Total_equity[i] <- (Total_equity[i-1] + Total_equity[i]) / 2  # Average of opening and closing
  }
  
  return(average_Total_equity)
}

# Call the function to calculate average total equity
average_Total_equity <- eqs_tata(Total_equity)

data.frame(Year=unique(tata_bs_long$Year),AvgEqu=average_Total_equity)
Year AvgEqu
2020 74563.12
2021 84484.73
2022 109920.05
2023 130115.63
2024 136245.58
#--------------------------------------------------------------------------------------
#finding financial leverage------------------------------------------------------------
financial_leverage_ratio<-average_Total_assets / average_Total_equity

financial_leverage_ratio_tata <- data.frame(
  Year = seq_along(financial_leverage_ratio),
  financialleverageratio = financial_leverage_ratio)


p10_tata=ggplot(financial_leverage_ratio_tata,aes(x=Year,y=financialleverageratio))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,financialleverageratio, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="FINANCIAL LEVERAGE OF TATA STEEL",
       subtitle="JSW STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(2.5,3.2),  # Set y-axis limits
                     breaks = seq(2.5,3.2, by = 0.2),)  # Set the breaks on the y-axis
#---------------------------------------------------------------------------------------------------------------

grid.arrange(p9_jsw,p10_tata,nrow=1,ncol=2) 

CONCLUSION: Financial leverage indicates the amount of credit risk that a company carries. When it comes to comparison of both the companies, the financial leverage of JSW steel rises sharply but the debt-equity ratio is on the lower side. This is a clear indication that they are trading on equity. This implies it uses debt financing (like loans or bonds) to fund investments, aiming to generate returns higher than the cost of borrowing, potentially increasing earnings per share (EPS) and returns for shareholders.

RETURN ON EQUITY

By Anjan Kishore G

library(readxl)
library(gridExtra)
library(ggplot2)


#roe of jsw
#average shareholder equity

jsw_bs <- read_excel("C:/R PROJECT VALUES/JSW_BS.xlsx")
jsw_bs<-as.data.frame(jsw_bs)

colnames(jsw_bs) <- make.names(colnames(jsw_bs))
colnames(jsw_bs) <- trimws(colnames(jsw_bs))

jsw_bs_long <- reshape(jsw_bs, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

jsw_tequ <- c("Equity Share Capital","Preference Share Capital","Revaluation Reserve","Reserves and Surplus")

jsw_bs_long$Amount <- as.numeric(jsw_bs_long$Amount)
## Warning: NAs introduced by coercion
sum_jsw_tequ<-tapply(jsw_bs_long$Amount[jsw_bs_long$items %in% jsw_tequ], jsw_bs_long$Year[jsw_bs_long$items %in% jsw_tequ], sum)
# Total equity value for each year
Total_equity <- c(38362, 46977, 63501, 63659, 75283)  # 2020 to 2024

# Function to calculate Average equity between consecutive years
eqs_jsw <- function(Total_equity) {
  # Initialize a vector to store the average for each year pair
  average_Total_equity <- numeric(length(Total_equity))
  
  # For 2020, just use closing value as average (since opening is not given)
  average_Total_equity[1] <- Total_equity[1]  # 2020, only closing value used
  
  # For the remaining years (2021 to 2024), calculate average using (Opening + Closing) / 2
  for (i in 2:length(Total_equity)) {
    average_Total_equity[i] <- (Total_equity[i-1] + Total_equity[i]) / 2  # Average of opening and closing
  }
  
  return(average_Total_equity)
}

# Call the function to calculate average total equity
average_Total_equity_j <- eqs_jsw(Total_equity)

data.frame(Year=unique(jsw_bs_long$Year),AvgEqu=average_Total_equity_j)
Year AvgEqu
2020 38362.0
2021 42669.5
2022 55239.0
2023 63580.0
2024 69471.0
#net income-----------------------------------------------------------------------------------------------------------------

#jsw steels_net income---------
jsw_pl <- read_excel("C:/R PROJECT VALUES/JSW_PL.xlsx")
jsw_pl<-as.data.frame(jsw_pl)

colnames(jsw_pl) <- make.names(colnames(jsw_pl))
colnames(jsw_pl) <- trimws(colnames(jsw_pl))

jsw_pl_long <- reshape(jsw_pl, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

jsw_Rev_grp <- c("Revenue From Operations Gross",
                 "Less: Excise_Sevice Tax_Other Levies",
                 "Other Operating Revenues","Other Income")  
jsw_exp_grp <- c("Cost Of Materials Consumed","Cost of Power Purchased","Purchase Of Stock-In Trade",
                 "Cost Of Fuel","Operating And Direct Expenses","Changes In Inventories Of FG,WIP And Stock-In Trade",
                 "Employee Benefit Expenses","Finance Costs","Provisions and Contingencies","Depreciation And Amortisation Expenses",
                 "Other Expenses","Exceptional Items","Current Tax","Deferred Tax")      


sum_jsw_Rev_grp = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_Rev_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_Rev_grp], sum)
sum_jsw_exp_grp = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_exp_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_exp_grp], sum)

# finding the net income ---------------------------------------------------
net_income_jsw<- sum_jsw_Rev_grp - sum_jsw_exp_grp
data.frame(Year=names(net_income_jsw),Total=unname(net_income_jsw))
Year Total
2020 7909
2021 9165
2022 18146
2023 4937
2024 9150
#calculation of roe
roe_jsw<-net_income_jsw/average_Total_equity_j
roej=data.frame(Year=names(roe_jsw),ROE=unname(roe_jsw))

#roe graph
p7_jsw=ggplot(roej,aes(x=Year,y=ROE))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,ROE, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="ROE JSW STEEL",
       subtitle="JSW STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(0.0,0.4),  # Set y-axis limits
                     breaks = seq(0.0,0.4, by = 0.1),)  # Set the breaks on the y-axis
#--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  
#ROE OF TATA STEEL
  #NET INCOME
  
  tata_pl=read_excel("C:/R PROJECT VALUES/TATA_IS.xlsx")
tata_pl<-as.data.frame(tata_pl)

colnames(tata_pl) <- make.names(colnames(tata_pl))
colnames(tata_pl) <- trimws(colnames(tata_pl))

tata_pl_long <- reshape(tata_pl, 
                        varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                        v.names = "Amount", 
                        timevar = "Year",
                        times = c("2020","2021","2022","2023", "2024"),
                        direction = "long")
tata_Rev_grp <- c("Revenue From Operations Gross",
                  "Less: Excise_Sevice Tax_Other Levies",
                  "Other Operating Revenues","Other Income")  
tata_exp_grp <- c("Cost Of Materials Consumed","Cost of Power Purchased","Purchase Of Stock-In Trade",
                  "Cost Of Fuel","Operating And Direct Expenses","Changes In Inventories Of FG,WIP And Stock-In Trade",
                  "Employee Benefit Expenses","Finance Costs","Provisions and Contingencies","Depreciation And Amortisation Expenses",
                  "Other Expenses","Exceptional Items","Current Tax","Deferred Tax")      


sum_tata_Rev_grp = tapply(tata_pl_long$Amount[tata_pl_long$items %in% tata_Rev_grp], tata_pl_long$Year[tata_pl_long$items %in% tata_Rev_grp], sum)
sum_tata_exp_grp = tapply(tata_pl_long$Amount[tata_pl_long$items %in% tata_exp_grp], tata_pl_long$Year[tata_pl_long$items %in% tata_exp_grp], sum)

#finding the net income ---------------------------------------------------
net_income_tata<- sum_tata_Rev_grp - sum_tata_exp_grp
data.frame(Year=names(net_income_tata),Total=unname(net_income_tata))
Year Total
2020 8479.83
2021 14274.13
2022 31023.99
2023 12533.33
2024 31091.22
#-----------------------------AVG SHARE HOLDERS EQUITY-----------------------------------------







tata_bs <- read_excel("C:/R PROJECT VALUES/TATA_BS.xlsx")
tata_bs<-as.data.frame(tata_bs)

colnames(tata_bs) <- make.names(colnames(tata_bs))
colnames(tata_bs) <- trimws(colnames(tata_bs))

tata_bs_long <- reshape(tata_bs, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

tata_tequ <- c("Equity Share Capital","Preference Share Capital","Revaluation Reserve","Reserves and Surplus")

tata_bs_long$Amount <- as.numeric(tata_bs_long$Amount)
## Warning: NAs introduced by coercion
sum_tata_tequ<-tapply(tata_bs_long$Amount[tata_bs_long$items %in% tata_tequ], tata_bs_long$Year[tata_bs_long$items %in% tata_tequ], sum)
# Total equity value for each year
Total_equity <- c(38362, 46977, 63501, 63659, 75283)  # 2020 to 2024

# Function to calculate Average equity between consecutive years
eqs_tata <- function(Total_equity) {
  # Initialize a vector to store the average for each year pair
  average_Total_equity <- numeric(length(Total_equity))
  
  # For 2020, just use closing value as average (since opening is not given)
  average_Total_equity[1] <- Total_equity[1]  # 2020, only closing value used
  
  # For the remaining years (2021 to 2024), calculate average using (Opening + Closing) / 2
  for (i in 2:length(Total_equity)) {
    average_Total_equity[i] <- (Total_equity[i-1] + Total_equity[i]) / 2  # Average of opening and closing
  }
  
  return(average_Total_equity)
}

# Call the function to calculate average total equity
average_Total_equity_t <- eqs_tata(Total_equity)

data.frame(Year=unique(tata_bs_long$Year),AvgEqu=average_Total_equity)
Year AvgEqu
2020 74563.12
2021 84484.73
2022 109920.05
2023 130115.63
2024 136245.58
#calculation of roe
roe_tata<-net_income_tata/average_Total_equity_t 
roet=data.frame(Year=names(roe_tata),ROE=unname(roe_tata))


#graph of tata

p8_tata=ggplot(roet,aes(x=Year,y=ROE))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,ROE, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="ROE TATA STEEL",
       subtitle="TATA STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(0.1,0.6),  # Set y-axis limits
                     breaks = seq(0.1,0.6 ,by = 0.1),)  # Set the breaks on the y-axis


grid.arrange(p7_jsw,p8_tata,nrow=1,ncol=2) 

CONCLUSION: The return on equity (ROE) Is a metric which measures the performance of the company in terms of how it has utilized the shareholders funds in order to generate profits. Regarding this aspect, JSW steel has performed below par i.e. the ROE achieved in 2020 hasn’t been achieved by them till date. Considering TATA steel, they have almost achieved a double on ROE from where they were in 2020 to what they have achieved in 2023-24

RATIO ANALYSIS OF JSW STEEL

SOLVENCY RATIO

BY SaiBharath K

DEBT TO EQUITY RATIO

library(readxl)
library(gridExtra)
library(ggplot2)
#solvency ratio---------------------------------
#first debt to equity ratio------------------------------------

jsw_bs <- read_excel("C:/R PROJECT VALUES/JSW_BS.xlsx")
jsw_bs<-as.data.frame(jsw_bs)

colnames(jsw_bs) <- make.names(colnames(jsw_bs))
colnames(jsw_bs) <- trimws(colnames(jsw_bs))

jsw_bs_long <- reshape(jsw_bs, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")
#-------------------------------------------------------------------------
#finding total debt----------------------------------------------------
jsw_tdebt <- c("Long Term Borrowings","Deferred Tax Liabilities Net","Other Long Term Liabilities","Long Term Provisions")

jsw_bs_long$Amount <- as.numeric(jsw_bs_long$Amount)
## Warning: NAs introduced by coercion
sum_jsw_tdebt<-tapply(jsw_bs_long$Amount[jsw_bs_long$items %in% jsw_tdebt], jsw_bs_long$Year[jsw_bs_long$items %in% jsw_tdebt], sum)
#-----------------------------------------------------------------------------------------------------------------
#finding total share holders equity--------------------------------------------------


jsw_bs <- read_excel("C:/R PROJECT VALUES/JSW_BS.xlsx")
jsw_bs<-as.data.frame(jsw_bs)

colnames(jsw_bs) <- make.names(colnames(jsw_bs))
colnames(jsw_bs) <- trimws(colnames(jsw_bs))

jsw_bs_long <- reshape(jsw_bs, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")
#---------------------------------------------------------------------------------------------------
jsw_tequ <- c("Equity Share Capital","Preference Share Capital","Revaluation Reserve","Reserves and Surplus")

jsw_bs_long$Amount <- as.numeric(jsw_bs_long$Amount)
## Warning: NAs introduced by coercion
sum_jsw_tequ<-tapply(jsw_bs_long$Amount[jsw_bs_long$items %in% jsw_tequ], jsw_bs_long$Year[jsw_bs_long$items %in% jsw_tequ], sum)
#--------------------------------------------------------------------------------------
#finding debt to equitu ratio-------------------------------------------------------
debt_to_equity_ratio<-sum_jsw_tdebt / sum_jsw_tequ
#-----------------------------------------------------------------------------------------
debt_to_equity_ratio_jsw=data.frame(Year=names(debt_to_equity_ratio),debttoequityratio=unname(debt_to_equity_ratio))

r5_jsw=ggplot(debt_to_equity_ratio_jsw,aes(x=Year,y=debttoequityratio))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,debttoequityratio, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="DEBT TO EQUITY RATIO OF JSW STEEL",
       subtitle="JSW STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(0.7,1.3),  # Set y-axis limits
                     breaks = seq(0.7,1.3, by = 0.1),)  # Set the breaks on the y-axis

grid.arrange(r5_jsw,nrow=1,ncol=1) 

CONCLUSION:- In case of JSW steel, it has lower debt equity ratio as it has been in a decreasing trend , but still it has a very high financial leverage during 2023-24, which is an indicator that it may be using other forms of debt.

FINANCIAL LEVERAGE RATIO

library(readxl)
library(gridExtra)
library(ggplot2)
#third  financial leverage------------------------------------------
#finding average total assets-----------------------
jsw_bs <- read_excel("C:/R PROJECT VALUES/JSW_BS.xlsx")
jsw_bs<-as.data.frame(jsw_bs)

colnames(jsw_bs) <- make.names(colnames(jsw_bs))
colnames(jsw_bs) <- trimws(colnames(jsw_bs))

jsw_bs_long <- reshape(jsw_bs, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

jsw_tca<- c("Tangible Assets","Intangible Assets","Capital WIP","Intangible Assets Under Development","Fixed Assets","Non-Current Investments",
            "Deferred Tax Assest  Net","Long Term Loans And Advances","Other Non-Current Assets","Current Investments","Inventories",
            "Trade Receivables","Cash And Cash Equivalents","Short Term Loans And Advances","OtherCurrentAssets")
jsw_bs_long$Amount <- as.numeric(gsub(",", "", jsw_bs_long$Amount))
## Warning: NAs introduced by coercion
sum(is.na(jsw_bs_long$Amount))
## [1] 20
jsw_bs_long$Amount[is.na(jsw_bs_long$Amount)] <- 0
sum_jsw_tca<-tapply(jsw_bs_long$Amount[jsw_bs_long$items %in% jsw_tca], jsw_bs_long$Year[jsw_bs_long$items %in% jsw_tca], sum)
# Total Assets value for each year
Total_assets <- c(196725, 214216, 247115, 258403, 2758980)  # 2020 to 2024

# Function to calculate Average Assets between consecutive years
ta_jsw <- function(Total_assets) {
  # Initialize a vector to store the average for each year pair
  average_Total_assets <- numeric(length(Total_assets))
  
  # For 2020, just use closing value as average (since opening is not given)
  average_Total_assets[1] <- Total_assets[1]  # 2020, only closing value used
  
  # For the remaining years (2021 to 2024), calculate average using (Opening + Closing) / 2
  for (i in 2:length(Total_assets)) {
    average_Total_assets[i] <- (Total_assets[i-1] + Total_assets[i]) / 2  # Average of opening and closing
  }
  
  return(average_Total_assets)
}

# Call the function to calculate average equity
average_Total_assets <- ta_jsw(Total_assets)

data.frame(Year=unique(jsw_bs_long$Year),AvgTa=average_Total_assets)
Year AvgTa
2020 196725.0
2021 205470.5
2022 230665.5
2023 252759.0
2024 1508691.5
#--------------------------------------------------------------------------------------------
#finding average total equity--------------------------------------------------------------------
jsw_bs <- read_excel("C:/R PROJECT VALUES/JSW_BS.xlsx")
jsw_bs<-as.data.frame(jsw_bs)

colnames(jsw_bs) <- make.names(colnames(jsw_bs))
colnames(jsw_bs) <- trimws(colnames(jsw_bs))

jsw_bs_long <- reshape(jsw_bs, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

jsw_tequ <- c("Equity Share Capital","Preference Share Capital","Revaluation Reserve","Reserves and Surplus")

jsw_bs_long$Amount <- as.numeric(jsw_bs_long$Amount)
## Warning: NAs introduced by coercion
sum_jsw_tequ<-tapply(jsw_bs_long$Amount[jsw_bs_long$items %in% jsw_tequ], jsw_bs_long$Year[jsw_bs_long$items %in% jsw_tequ], sum)
# Total equity value for each year
Total_equity <- c(38362, 46977, 63501, 63659, 75283)  # 2020 to 2024

# Function to calculate Average equity between consecutive years
eqs_jsw <- function(Total_equity) {
  # Initialize a vector to store the average for each year pair
  average_Total_equity <- numeric(length(Total_equity))
  
  # For 2020, just use closing value as average (since opening is not given)
  average_Total_equity[1] <- Total_equity[1]  # 2020, only closing value used
  
  # For the remaining years (2021 to 2024), calculate average using (Opening + Closing) / 2
  for (i in 2:length(Total_equity)) {
    average_Total_equity[i] <- (Total_equity[i-1] + Total_equity[i]) / 2  # Average of opening and closing
  }
  
  return(average_Total_equity)
}

# Call the function to calculate average total equity
average_Total_equity <- eqs_jsw(Total_equity)

data.frame(Year=unique(jsw_bs_long$Year),AvgEqu=average_Total_equity)
Year AvgEqu
2020 38362.0
2021 42669.5
2022 55239.0
2023 63580.0
2024 69471.0
#--------------------------------------------------------------------------------------
#finding financial leverage------------------------------------------------------------
financial_leverage_ratio<-average_Total_assets / average_Total_equity

financial_leverage_ratio_jsw <- data.frame(
  Year = seq_along(financial_leverage_ratio),
  financialleverageratio = financial_leverage_ratio)


r7_jsw=ggplot(financial_leverage_ratio_jsw,aes(x=Year,y=financialleverageratio))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,financialleverageratio, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="FINANCIAL LEVERAGE RATIO OF JSW STEEL",
       subtitle="JSW STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(3.5,22.0),  # Set y-axis limits
                     breaks = seq(3.5,22.0, by = 1.0),)  # Set the breaks on the y-axis

grid.arrange(r7_jsw,nrow=1,ncol=1) 

CONCLUSION:- In case of JSW steel, the first four years the financial leverage comparatively on the lower side(even though there is more debts than its assets ) , during the year 2023-24 the financial leverage is at a high of 21.6 , which means the company has significant credit risk , in anticipation of high returns.

INTEREST COVERAGE RATIO

library(readxl)
library(gridExtra)
library(ggplot2)
#third interset coverage ratio------------------------------------
#third interset coverage ratio------------------------------------

jsw_bs <- read_excel("C:/R PROJECT VALUES/JSW_BS.xlsx")
jsw_bs<-as.data.frame(jsw_bs)

colnames(jsw_bs) <- make.names(colnames(jsw_bs))
colnames(jsw_bs) <- trimws(colnames(jsw_bs))

jsw_bs_long <- reshape(jsw_bs, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")
#-------------------------------------------------------------------------
#finding earnings before interset and tax----------------------------------------------------

jsw_Rev_grp <- c("Revenue From Operations Gross",
                 "Less: Excise_Sevice Tax_Other Levies",
                 "Other Operating Revenues","Other Income") 
sum_jsw_Rev_grp = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_Rev_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_Rev_grp], sum)
#--------------------------------------------------------------------------------------------

jsw_pl <- read_excel("C:/R PROJECT VALUES/JSW_PL.xlsx")
jsw_pl<-as.data.frame(jsw_pl)

colnames(jsw_pl) <- make.names(colnames(jsw_pl))
colnames(jsw_pl) <- trimws(colnames(jsw_pl))

jsw_pl_long <- reshape(jsw_pl, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

jsw_Rev_grp <- c("Revenue From Operations Gross",
                 "Less: Excise_Sevice Tax_Other Levies",
                 "Other Operating Revenues","Other Income")  
jsw_exp_grp <- c("Cost Of Materials Consumed","Cost of Power Purchased","Purchase Of Stock-In Trade",
                 "Cost Of Fuel","Operating And Direct Expenses","Changes In Inventories Of FG,WIP And Stock-In Trade",
                 "Employee Benefit Expenses","Provisions and Contingencies","Depreciation And Amortisation Expenses",
                 "Other Expenses")      


sum_jsw_Rev_grp = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_Rev_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_Rev_grp], sum)
sum_jsw_exp_grp = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_exp_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_exp_grp], sum)
ebitj<- sum_jsw_Rev_grp - sum_jsw_exp_grp
#-----------------------------------------------------------------------------------------------
#interest payments--------------------------------------
jsw_pl <- read_excel("C:/R PROJECT VALUES/JSW_pl.xlsx")
jsw_pl<-as.data.frame(jsw_pl)

colnames(jsw_pl) <- make.names(colnames(jsw_pl))
colnames(jsw_pl) <- trimws(colnames(jsw_pl))

jsw_pl_long <- reshape(jsw_pl, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

jsw_pl_long$items <- trimws(jsw_pl_long$items)

jsw_interest_payments=as.data.frame(jsw_pl_long[jsw_pl_long$items=="Finance Costs",])

#----------------------------------------------------------------------------------------------------
#finding interset coverage ratio------------------------------------------------------------------

ebitj <- as.numeric(as.character(ebitj))
jsw_interest_payments$Amount <- as.numeric(as.character(jsw_interest_payments$Amount))

jsw_interest_coverage <- ebitj / jsw_interest_payments$Amount


interest_coverage_ratio_jsw_ <- data.frame(
  Year = seq_along(jsw_interest_coverage),
  interestcoverageratio = jsw_interest_coverage
)
r6_jsw=ggplot(interest_coverage_ratio_jsw_,aes(x=Year,y=interestcoverageratio))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,interestcoverageratio, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="INTERSET COVERAGE RATIO OF JSW STEEL",
       subtitle="JSW STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(2,8),  # Set y-axis limits
                     breaks = seq(2,8, by = 1),)  # Set the breaks on the y-axis

grid.arrange(r6_jsw,nrow=1,ncol=1) 

CONCLUSION:- In case of JSW steel, the ratio sees a all time high in the third year (2022) , thereafter there is a sharp decline , indicating that majority of the EBIT goes towards Interest payment.

PROFITABILITY RATIO

By GAUTHAM A

EBT MARGIN

library(readxl)
library(gridExtra)
library(ggplot2)


#finding profitability ratio---------
#first EBT margin
jsw_pl <- read_excel("C:/R PROJECT VALUES/JSW_PL.xlsx")
jsw_pl<-as.data.frame(jsw_pl)

colnames(jsw_pl) <- make.names(colnames(jsw_pl))
colnames(jsw_pl) <- trimws(colnames(jsw_pl))

jsw_pl_long <- reshape(jsw_pl, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")
jsw_Rev_grp <- c("Revenue From Operations Gross",
                 "Less: Excise_Sevice Tax_Other Levies",
                 "Other Operating Revenues","Other Income")  
jsw_exp_grp <- c("Cost Of Materials Consumed","Cost of Power Purchased","Purchase Of Stock-In Trade",
                 "Cost Of Fuel","Operating And Direct Expenses","Changes In Inventories Of FG,WIP And Stock-In Trade",
                 "Employee Benefit Expenses","Finance Costs","Provisions and Contingencies","Depreciation And Amortisation Expenses",
                 "Other Expenses")      


sum_jsw_Rev_grp = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_Rev_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_Rev_grp], sum)
sum_jsw_exp_grp = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_exp_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_exp_grp], sum)
#finding the ebt ---------------------------------------------------
ebtj<- sum_jsw_Rev_grp - sum_jsw_exp_grp
data.frame(Year=names(ebtj),Total=unname(ebtj))
Year Total
2020 5601
2021 12582
2022 25437
2023 6968
2024 12141
#-------------------------------------------------------------------
#finding revenue----------------------------------------------------
jsw_pl <- read_excel("C:/R PROJECT VALUES/JSW_PL.xlsx")
jsw_pl<-as.data.frame(jsw_pl)

colnames(jsw_pl) <- make.names(colnames(jsw_pl))
colnames(jsw_pl) <- trimws(colnames(jsw_pl))

jsw_pl_long <- reshape(jsw_pl, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

jsw_Rev_grp <- c("Revenue From Operations Gross",
                 "Less: Excise_Sevice Tax_Other Levies",
                 "Other Operating Revenues","Other Income")
sum_jsw_Rev_grp = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_Rev_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_Rev_grp], sum)

#---------------------------------------------------------------------
#finding EBT MARGIN RATIO
ebtm<- ebtj / sum_jsw_Rev_grp
ebtm_jsw=data.frame(Year=names(ebtm),ebtmargin=unname(ebtm))
#---------------------------------------------------------------------
r1_jsw=ggplot(ebtm_jsw,aes(x=Year,y=ebtmargin))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,ebtmargin, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="EBT MARGIN OF JSW STEEL",
       subtitle="JSW STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(0.00,0.3),  # Set y-axis limits
                     breaks = seq(0.00,0.3, by = 0.1),)  # Set the breaks on the y-axis

grid.arrange(r1_jsw,nrow=1,ncol=1) 

CONCLUSION:- In case of JSW steel, the interest coverage ratio sees a sharp decline after the third year (2022),the EBT margin also reduced drastically

RETURN ON ASSETS

library(readxl)
library(gridExtra)
library(ggplot2)

#return on asset ratio---------------------------------
#finding average of total asset-----------------------------------------
jsw_bs <- read_excel("C:/R PROJECT VALUES/JSW_BS.xlsx")
jsw_bs<-as.data.frame(jsw_bs)

colnames(jsw_bs) <- make.names(colnames(jsw_bs))
colnames(jsw_bs) <- trimws(colnames(jsw_bs))

jsw_bs_long <- reshape(jsw_bs, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

jsw_tca<- c("Tangible Assets","Intangible Assets","Capital WIP","Intangible Assets Under Development","Fixed Assets","Non-Current Investments",
            "Deferred Tax Assest  Net","Long Term Loans And Advances","Other Non-Current Assets","Current Investments","Inventories",
            "Trade Receivables","Cash And Cash Equivalents","Short Term Loans And Advances","OtherCurrentAssets")
jsw_bs_long$Amount <- as.numeric(gsub(",", "", jsw_bs_long$Amount))
## Warning: NAs introduced by coercion
sum(is.na(jsw_bs_long$Amount))
## [1] 20
jsw_bs_long$Amount[is.na(jsw_bs_long$Amount)] <- 0
sum_jsw_tca<-tapply(jsw_bs_long$Amount[jsw_bs_long$items %in% jsw_tca], jsw_bs_long$Year[jsw_bs_long$items %in% jsw_tca], sum)
# Total Assets value for each year
Total_assets <- c(196725, 214216, 247115, 258403, 2758980)  # 2020 to 2024

# Function to calculate Average Assets between consecutive years
ta_jsw <- function(Total_assets) {
  # Initialize a vector to store the average for each year pair
  average_Total_assets <- numeric(length(Total_assets))
  
  # For 2020, just use closing value as average (since opening is not given)
  average_Total_assets[1] <- Total_assets[1]  # 2020, only closing value used
  
  # For the remaining years (2021 to 2024), calculate average using (Opening + Closing) / 2
  for (i in 2:length(Total_assets)) {
    average_Total_assets[i] <- (Total_assets[i-1] + Total_assets[i]) / 2  # Average of opening and closing
  }
  
  return(average_Total_assets)
}

# Call the function to calculate average equity
average_Total_assets <- ta_jsw(Total_assets)

data.frame(Year=unique(jsw_bs_long$Year),AvgTa=average_Total_assets)
Year AvgTa
2020 196725.0
2021 205470.5
2022 230665.5
2023 252759.0
2024 1508691.5
#------------------------------------------------------------------------------------------------
#finding net income-------------------------------------------

sw_pl <- read_excel("C:/R PROJECT VALUES/JSW_PL.xlsx")
jsw_pl<-as.data.frame(jsw_pl)

colnames(jsw_pl) <- make.names(colnames(jsw_pl))
colnames(jsw_pl) <- trimws(colnames(jsw_pl))

jsw_pl_long <- reshape(jsw_pl, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

jsw_Rev_grp <- c("Revenue From Operations Gross",
                 "Less: Excise_Sevice Tax_Other Levies",
                 "Other Operating Revenues","Other Income")  
jsw_exp_grp <- c("Cost Of Materials Consumed","Cost of Power Purchased","Purchase Of Stock-In Trade",
                 "Cost Of Fuel","Operating And Direct Expenses","Changes In Inventories Of FG,WIP And Stock-In Trade",
                 "Employee Benefit Expenses","Finance Costs","Provisions and Contingencies","Depreciation And Amortisation Expenses",
                 "Other Expenses","Exceptional Items","Current Tax","Deferred Tax")  
sum_jsw_Rev_grp = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_Rev_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_Rev_grp], sum)
sum_jsw_exp_grp = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_exp_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_exp_grp], sum)

net_income_jsw<- sum_jsw_Rev_grp - sum_jsw_exp_grp
data.frame(Year=names(net_income_jsw),Total=unname(net_income_jsw))
Year Total
2020 7909
2021 9165
2022 18146
2023 4937
2024 9150
#-----------------------------------------------------------------------------------------------
#finding Return on asset ratio----------------------------------------
return_on_asset_ratio<-net_income_jsw  / average_Total_assets

return_on_asset_ratio_jsw=data.frame(Year=names(return_on_asset_ratio),returnonassetratio=unname(return_on_asset_ratio))


r8_jsw=ggplot(return_on_asset_ratio_jsw,aes(x=Year,y=returnonassetratio))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,returnonassetratio, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="RETURN ON ASSET RATIO OF JSW STEEL",
       subtitle="JSW STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(0.005,0.080),  # Set y-axis limits
                     breaks = seq(0.005,0.080, by = 0.01),)  # Set the breaks on the y-axis

grid.arrange(r8_jsw,nrow=1,ncol=1) 

CONCLUSION:- Since the third year (2022) the performance of JSW steel is on the declining side . even though , during the year 2023-24 the interest coverage ratio and EBIT margin seems to have improvemen, the ROA has seen a further decline during the year. Which is not good for the company

OPERATING PROFIT

library(readxl)
library(gridExtra)
library(ggplot2)


#third operating profit margin------------------------------------------
#total revenue------------------------------------------------
jsw_pl <- read_excel("C:/R PROJECT VALUES/JSW_PL.xlsx")
jsw_pl<-as.data.frame(jsw_pl)

colnames(jsw_pl) <- make.names(colnames(jsw_pl))
colnames(jsw_pl) <- trimws(colnames(jsw_pl))

jsw_pl_long <- reshape(jsw_pl, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

jsw_Rev_grp <- c("Revenue From Operations Gross",
                 "Less: Excise_Sevice Tax_Other Levies",
                 "Other Operating Revenues","Other Income") 
sum_jsw_Rev_grp = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_Rev_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_Rev_grp], sum)


#jsw ebit------------------------------------------

jsw_pl <- read_excel("C:/R PROJECT VALUES/JSW_PL.xlsx")
jsw_pl<-as.data.frame(jsw_pl)

colnames(jsw_pl) <- make.names(colnames(jsw_pl))
colnames(jsw_pl) <- trimws(colnames(jsw_pl))

jsw_pl_long <- reshape(jsw_pl, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

jsw_Rev_grp <- c("Revenue From Operations Gross",
                 "Less: Excise_Sevice Tax_Other Levies",
                 "Other Operating Revenues","Other Income")  
jsw_exp_grp <- c("Cost Of Materials Consumed","Cost of Power Purchased","Purchase Of Stock-In Trade",
                 "Cost Of Fuel","Operating And Direct Expenses","Changes In Inventories Of FG,WIP And Stock-In Trade",
                 "Employee Benefit Expenses","Provisions and Contingencies","Depreciation And Amortisation Expenses",
                 "Other Expenses","Exceptional Items","Current Tax","Deferred Tax")      


sum_jsw_Rev_grp = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_Rev_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_Rev_grp], sum)
sum_jsw_exp_grp = tapply(jsw_pl_long$Amount[jsw_pl_long$items %in% jsw_exp_grp], jsw_pl_long$Year[jsw_pl_long$items %in% jsw_exp_grp], sum)

# finding the earnings before interest and tax ---------------------------------------------------
ebitj<- sum_jsw_Rev_grp - sum_jsw_exp_grp
data.frame(Year=names(ebitj),Total=unname(ebitj))
Year Total
2020 11931
2021 12730
2022 21995
2023 9960
2024 15258
# finding EBIT MARGIN of JSW steel
ebit_margin_jsw<-ebitj/sum_jsw_Rev_grp
ebitm_j=data.frame(Year=names(ebit_margin_jsw),ebitmargin=unname(ebit_margin_jsw))
#------------------------------------------------------------------------------------------------
r9_jsw=ggplot(ebitm_j,aes(x=Year,y=ebitmargin))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,ebitmargin, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="OPERATING PROFIT MARGIN OF JSW STEEL",
       subtitle="JSW STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(0.05,0.20),  # Set y-axis limits
                     breaks = seq(0.05,0.20, by = 0.05),)  # Set the breaks on the y-axis

grid.arrange(r9_jsw,nrow=1,ncol=1) 

CONCLUSION:- In case of JSW steel, the company has done well in the first three years(2020-2023) to maintain almost the same operating ratio and has recovered during the year 2023-2024 after sharp decline in financial year 2022-2023.

LIQUIDITY RATIO

By Indiresh H

CURRENT RATIO

library(readxl)
library(gridExtra)
library(ggplot2)
#liquidity ratios---------------------------------
#first current ratio--------------------------

jsw_bs <- read_excel("C:/R PROJECT VALUES/JSW_BS.xlsx")
jsw_bs<-as.data.frame(jsw_bs)

colnames(jsw_bs) <- make.names(colnames(jsw_bs))
colnames(jsw_bs) <- trimws(colnames(jsw_bs))

jsw_bs_long <- reshape(jsw_bs, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

jsw_cl <- c("Equity Share Capital","Preference Share Capital","Revaluation Reserve","Reserves and Surplus","Employees Stock Options",
            "Money Received Against Share Warrants","Equity Share Application Money","Hybrid_Debt_Other Securities",
            "Share Capital Suspense","Long Term Borrowings","Deferred Tax Liabilities Net","Other Long Term Liabilities","Long Term Provisions",
            "Short Term Borrowings","Trade Payables","Other Current Liabilities","Short Term Provisions")

jsw_bs_long$Amount <- as.numeric(jsw_bs_long$Amount)
## Warning: NAs introduced by coercion
sum_jsw_cl<-tapply(jsw_bs_long$Amount[jsw_bs_long$items %in% jsw_cl], jsw_bs_long$Year[jsw_bs_long$items %in% jsw_cl], sum)


jsw_ca <- c("Tangible Assets","Intangible Assets","Capital WIP","Intangible Assets Under Development","Fixed Assets","Non-Current Investments",
            "Deferred Tax Assest  Net","Long Term Loans And Advances","Other Non-Current Assets","Current Investments","Inventories",
            "Trade Receivables","Cash And Cash Equivalents","Short Term Loans And Advances","OtherCurrentAssets")

sum_jsw_ca<-tapply(jsw_bs_long$Amount[jsw_bs_long$items %in% jsw_ca], jsw_bs_long$Year[jsw_bs_long$items %in% jsw_ca], sum)
#-----------------------------------------------------------------------------------------------------------------------------------------------------------
#finding CURRENT RATIO
current_ratio<- sum_jsw_ca / sum_jsw_cl
#----------------------------------------------------------------------------------------------------------------------------
current_ratio_jsw=data.frame(Year=names(current_ratio),currentratio=unname(current_ratio))

r2_jsw=ggplot(current_ratio_jsw,aes(x=Year,y=currentratio))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,currentratio, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="CURRENT RATIO OF JSW STEEL",
       subtitle="JSW STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(1.3,1.8),  # Set y-axis limits
                     breaks = seq(1.3,1.8, by = 0.1),)  # Set the breaks on the y-axis

grid.arrange(r2_jsw,nrow=1,ncol=1) 

CONCLUSION:- In the case of JSW Steel, for past 5 years, the ratio has been maintained in the range of 1.5 - 1.6,as the graph depicts, which is very much a positive sign / indicator for the company.

CASH RATIO

library(readxl)
library(gridExtra)
library(ggplot2)

# third cash ratio------------------


jsw_bs <- read_excel("C:/R PROJECT VALUES/JSW_BS.xlsx")
jsw_bs<-as.data.frame(jsw_bs)

colnames(jsw_bs) <- make.names(colnames(jsw_bs))
colnames(jsw_bs) <- trimws(colnames(jsw_bs))

jsw_bs_long <- reshape(jsw_bs, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

jsw_cl <- c("Equity Share Capital","Preference Share Capital","Revaluation Reserve","Reserves and Surplus","Employees Stock Options",
            "Money Received Against Share Warrants","Equity Share Application Money","Hybrid_Debt_Other Securities",
            "Share Capital Suspense","Long Term Borrowings","Deferred Tax Liabilities Net","Other Long Term Liabilities","Long Term Provisions",
            "Short Term Borrowings","Trade Payables","Other Current Liabilities","Short Term Provisions")

jsw_bs_long$Amount <- as.numeric(jsw_bs_long$Amount)
## Warning: NAs introduced by coercion
sum_jsw_cl<-tapply(jsw_bs_long$Amount[jsw_bs_long$items %in% jsw_cl], jsw_bs_long$Year[jsw_bs_long$items %in% jsw_cl], sum)
#--------------------------------------------------------------------------------------------------------------------

#finding only cash items-------------------------------


jsw_cca <- c("Current Investments","Cash And Cash Equivalents","Non-Current Investments Quoted Market Value","Non-Current Investments Unquoted Book Value",
             "Current Investments Quoted Market Value","Current Investments Unquoted Book Value")

sum_jsw_cca<-tapply(jsw_bs_long$Amount[jsw_bs_long$items %in% jsw_cca], jsw_bs_long$Year[jsw_bs_long$items %in% jsw_cca],function(jsw_cca) sum(jsw_cca, na.rm = T))
#------------------------------------------------------------------------
#finding cash ratio------------------------------------------------------------------------
cash_ratio<- sum_jsw_cca / sum_jsw_cl
#----------------------------------------------------------------------------------------------------------------------------
cash_ratio_jsw=data.frame(Year=names(cash_ratio),cashratio=unname(cash_ratio))

r4_jsw=ggplot(cash_ratio_jsw,aes(x=Year,y=cashratio))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,cashratio, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="CASH RATIO OF JSW STEEL",
       subtitle="JSW STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(0.0,0.2),  # Set y-axis limits
                     breaks = seq(0.0,0.2, by = 0.1),)  # Set the breaks on the y-axis


grid.arrange(r4_jsw,nrow=1,ncol=1) 

CONCLUSION:- In the case of JSW steel , does not proven to be positive side / indicator , as the company is having a very less cash reserve

QUICK RATIO

library(readxl)
library(gridExtra)
library(ggplot2)
#second quick ratio--------------------------------
jsw_bs <- read_excel("C:/R PROJECT VALUES/JSW_BS.xlsx")
jsw_bs<-as.data.frame(jsw_bs)

colnames(jsw_bs) <- make.names(colnames(jsw_bs))
colnames(jsw_bs) <- trimws(colnames(jsw_bs))

jsw_bs_long <- reshape(jsw_bs, 
                       varying = c("X2020", "X2021", "X2022", "X2023", "X2024"), 
                       v.names = "Amount", 
                       timevar = "Year",
                       times = c("2020","2021","2022","2023", "2024"),
                       direction = "long")

jsw_cl <- c("Equity Share Capital","Preference Share Capital","Revaluation Reserve","Reserves and Surplus","Employees Stock Options",
            "Money Received Against Share Warrants","Equity Share Application Money","Hybrid_Debt_Other Securities",
            "Share Capital Suspense","Long Term Borrowings","Deferred Tax Liabilities Net","Other Long Term Liabilities","Long Term Provisions",
            "Short Term Borrowings","Trade Payables","Other Current Liabilities","Short Term Provisions")

jsw_bs_long$Amount <- as.numeric(jsw_bs_long$Amount)
## Warning: NAs introduced by coercion
sum_jsw_cl<-tapply(jsw_bs_long$Amount[jsw_bs_long$items %in% jsw_cl], jsw_bs_long$Year[jsw_bs_long$items %in% jsw_cl], sum)
#----------------------------------------------------------------------------------------------------------------
#finding quick assets-----------------------------------



jsw_qca <- c("Current Investments","Trade Receivables","Cash And Cash Equivalents","Short Term Loans And Advances","OtherCurrentAssets",
             "Non-Current Investments Quoted Market Value","Non-Current Investments Unquoted Book Value",
             "Current Investments Quoted Market Value","Current Investments Unquoted Book Value")

sum_jsw_qca<-tapply(jsw_bs_long$Amount[jsw_bs_long$items %in% jsw_qca], jsw_bs_long$Year[jsw_bs_long$items %in% jsw_qca],function(jsw_qca) sum(jsw_qca, na.rm = T))
#-------------------------------------------------------------------------------------------------------------------------
#finding quick ratio----------------
quick_ratio<- sum_jsw_qca/ sum_jsw_cl
#-------------------------------------------------------------------
quick_ratio_jsw=data.frame(Year=names(quick_ratio),quickratio=unname(quick_ratio))

r3_jsw=ggplot(quick_ratio_jsw,aes(x=Year,y=quickratio))+
  geom_point(col="red",size=5)+
  geom_line(aes(x=Year,quickratio, group=1),
            col="blue",
            linewidth=2)+
  labs(x="Year",y="value",
       title="QUICK RATIO OF JSW STEEL",
       subtitle="JSW STEEL (2020 - 2024)")+
  scale_y_continuous(limits = c(0.0,0.3),  # Set y-axis limits
                     breaks = seq(0.0,0.3, by = 0.1),)  # Set the breaks on the y-axis

grid.arrange(r3_jsw,nrow=1,ncol=1) 

CONCLUSION:- In the case of JSW steel , the ratios are very much on the lower side , not even 1:1. Especially , during the 2023 -24, the ratios undergoes a further dip , which could be due to less cash reserves or over stocking inventories.

STRENGTHS AND WEAKNESS

STRENGTHS OF JSW STEEL: • JSW steel ltd has performed well when it comes to solvency ratios, especially the interest coverage ratio is at a higher level. This indicates that there is enough EBIT to cover the amount of interest payments to be made.

• The company has borrowed a considerable amount of debt during the year 2022-23 which indicates there is obligation to pay interest which reduces the amount of EBT, which in turn reduces the amount of tax liability. For this reason there is not much of a tax burden.

• The Revenue from Operations have been increasing in the last 3 years, which is a good sign moving forward in the future.

WEAKNESSES OF JSW STEEL : • Overall as the liquidity is concerned, the lower liquidity ratios are quick ratio , cash ratio indicating that there is poor liquidity management . For this , as a remedy, the company could sell more inventory to avoid over stocking , as a result of which cash could be generated quickly.

• The return on assets, which is a very important metric for measurement of performance, has been largely on the declining side. This gives a negative impact from the business environment point of view

CONCLUSION

In summary, R programming has shown itself to be a very useful tool for financial analysts, providing strong modeling, data analysis, and visualization skills. Using R, analysts may more accurately and efficiently handle massive datasets, spot trends, and make data-driven decisions. It is constantly innovative and adaptable to the constantly changing financial scene because of its open-source structure and strong community support. In general, R helps financial analysts conduct more intricate studies, which eventually results in better financial outcomes and more informed judgments.