Bilateral Economic Insights:

Analyzing Trade and Economic Relationships Between India and the USA using OECD’s ICIO Table 2022

Image Source: The New Indian Express
Image Source: The New Indian Express

Context

In the world of international economics, few bilateral relationships carry as much weight as that between India and the United States. As we embark on an exploration of this economic partnership, we delve into the intricate web of trade, production, and economic cooperation, guided by the Organization for Economic Co-operation and Development, (OECD)’s powerful tool, Inter-Country Input-Output (ICIO) Tables. These tables unveil the story of two economic giants, India and the USA, and how their dynamic economic relationship shapes global trade and production, highlighting the profound inter-connectedness of these two nations on the global stage.

Let’s dive deeper on how to interpret this table

In OECD Inter-Country Input-Output (ICIO) Tables, the row headers and column headers serve specific purposes:

1. Row Headers (or Rows): These typically represent industries or sectors within an economy. Each row corresponds to a specific industry or sector’s production, detailing how much that industry produces and how it uses inputs from other industries. These rows show the supply side of the economy, indicating what each sector produces.

2. Column Headers (or Columns): These also represent industries or sectors, but they show how much each industry consumes as inputs from other industries. Columns represent the demand side of the economy, illustrating what each sector purchases from other sectors.

Together, the rows and columns of ICIO Tables create a matrix of economic transactions between industries, both within a country and between countries. This matrix provides valuable insights into the structure of an economy, how industries are interconnected, and how goods and services flow through the economy, domestically and internationally.

Researchers and policymakers use ICIO Tables to analyze various aspects of an economy, such as understanding supply chains, assessing the impacts of policy changes, studying trade relationships, and evaluating the effects of globalization on production and trade patterns.

Importing the data set

# Read the CSV file into a data frame

oecd_path <- "C:/Users/subha/OneDrive/Desktop/TISS MSc Analytics/Academia/Maths for Analytics/Mansi ma'am/OECD_IOT.csv"

OECD_IOT <- read.csv(oecd_path)

# View the data frame
View(OECD_IOT)

Defining different variables

# Read the Indian input-output subset
IND_IOT <- OECD_IOT[1441:1485, 1442:1486]

# Read the USA input-output subset
USA_IOT <- OECD_IOT[3286:3330, 3287:3331]

Defining row and column vectors of India & USA

# Define the row name vector for India:
IND_row_names <- c("IND_A01_02", "IND_A03", "IND_B05_06", "IND_B07_08", "IND_B09", "IND_C10T12", "IND_C13T15", "IND_C16", "IND_C17_18", "IND_C19", "IND_C20", "IND_C21", "IND_C22", "IND_C23", "IND_C24", "IND_C25", "IND_C26", "IND_C27", "IND_C28", "IND_C29", "IND_C30", "IND_C31T33", "IND_D", "IND_E", "IND_F", "IND_G", "IND_H49", "IND_H50", "IND_H51", "IND_H52", "IND_H53", "IND_I", "IND_J58T60", "IND_J61", "IND_J62_63", "IND_K", "IND_L", "IND_M", "IND_N", "IND_O", "IND_P", "IND_Q", "IND_R", "IND_S", "IND_T")

# Assign the labels to the row names for the Indian input-output subset
rownames(IND_IOT) <- IND_row_names
# Define the column name vector for India:
IND_col_names <- c("IND_A01_02", "IND_A03", "IND_B05_06", "IND_B07_08", "IND_B09", "IND_C10T12", "IND_C13T15", "IND_C16", "IND_C17_18", "IND_C19", "IND_C20", "IND_C21", "IND_C22", "IND_C23", "IND_C24", "IND_C25", "IND_C26", "IND_C27", "IND_C28", "IND_C29", "IND_C30", "IND_C31T33", "IND_D", "IND_E", "IND_F", "IND_G", "IND_H49", "IND_H50", "IND_H51", "IND_H52", "IND_H53", "IND_I", "IND_J58T60", "IND_J61", "IND_J62_63", "IND_K", "IND_L", "IND_M", "IND_N", "IND_O", "IND_P", "IND_Q", "IND_R", "IND_S", "IND_T")

# Assign the labels to the column names for the Indian input-output subset
colnames(IND_IOT) <- IND_col_names
# Define the row name vector for USA:
USA_row_names <- c("USA_A01_02", "USA_A03", "USA_B05_06", "USA_B07_08", "USA_B09", "USA_C10T12", "USA_C13T15", "USA_C16", "USA_C17_18", "USA_C19", "USA_C20", "USA_C21", "USA_C22", "USA_C23", "USA_C24", "USA_C25", "USA_C26", "USA_C27", "USA_C28", "USA_C29", "USA_C30", "USA_C31T33", "USA_D", "USA_E", "USA_F", "USA_G", "USA_H49", "USA_H50", "USA_H51", "USA_H52", "USA_H53", "USA_I", "USA_J58T60", "USA_J61", "USA_J62_63", "USA_K", "USA_L", "USA_M", "USA_N", "USA_O", "USA_P", "USA_Q", "USA_R", "USA_S", "USA_T")

# Assign the labels to the row names for the USA input-output subset
rownames(USA_IOT) <- USA_row_names
# Define the column name vector for USA:
USA_col_names <- c("USA_A01_02", "USA_A03", "USA_B05_06", "USA_B07_08", "USA_B09", "USA_C10T12", "USA_C13T15", "USA_C16", "USA_C17_18", "USA_C19", "USA_C20", "USA_C21", "USA_C22", "USA_C23", "USA_C24", "USA_C25", "USA_C26", "USA_C27", "USA_C28", "USA_C29", "USA_C30", "USA_C31T33", "USA_D", "USA_E", "USA_F", "USA_G", "USA_H49", "USA_H50", "USA_H51", "USA_H52", "USA_H53", "USA_I", "USA_J58T60", "USA_J61", "USA_J62_63", "USA_K", "USA_L", "USA_M", "USA_N", "USA_O", "USA_P", "USA_Q", "USA_R", "USA_S", "USA_T")

# Assign the labels to the column names for the USA input-output subset
colnames(USA_IOT) <- USA_col_names

What would the row sum & column sum would signify here?

In an OECD Inter-Country Input-Output (ICIO) Table, the row sum and column sum for a particular country represent significant aspects of the economic relationships between industries or sectors within that country. Let’s break down what these row sums and column sums signify:

1. Row Sum (Supply Side):

2. Column Sum (Demand Side):

Performing Row & Column Sum

# Perform row sums for the Indian subset
Rsum_IND <- rowSums(IND_IOT)

# Perform column sums for the Indian subset
Csum_IND <- colSums(IND_IOT)

# Perform row sums for the USA subset
Rsum_USA <- rowSums(USA_IOT)

# Perform column sums for the USA subset
Csum_USA <- colSums(USA_IOT)

Plotting them on graph

# Set up the layout for the plots
par(mfrow = c(2, 2))

# Create a bar chart for row sums of the Indian subset
barplot(Rsum_IND, main = "Supply Side - India", xlab = "Industry", ylab = "Sum", col = "blue")

# Create a bar chart for column sums of the Indian subset
barplot(Csum_IND, main = "Demand Side - India", xlab = "Industry", ylab = "Sum", col = "green")

# Create a bar chart for row sums of the USA subset
barplot(Rsum_USA, main = "Supply Side - USA", xlab = "Industry", ylab = "Sum", col = "red")

# Create a bar chart for column sums of the USA subset
barplot(Csum_IND, main = "Demand Side - USA", xlab = "Industry", ylab = "Sum", col = "purple")

Top 5 Industry/Sectors for Supply & Demand

# Get the top 5 row sums and column sums for India and USA
T5Rsum_IND <- head(sort(Rsum_IND, decreasing = TRUE), 5)
T5Csum_IND <- head(sort(Csum_IND, decreasing = TRUE), 5)
T5Rsum_USA <- head(sort(Rsum_USA, decreasing = TRUE), 5)
T5Csum_USA <- head(sort(Csum_USA, decreasing = TRUE), 5)
# Plot the top 5 row sums for India
barplot(T5Rsum_IND, main = "Top 5 Supply sectors - India", xlab = "Industry", ylab = "Sum in million USD", col = "cyan", names.arg = colnames(IND_IOT)[order(-Rsum_IND)][1:5])

Let’s understand why these supply sectors for India are at the top:

  1. IND_A01_02( Agriculture, Hunting, Forestry)- India is a key exporter of agricultural products, boosting its supply-side economy.
  2. IND_G(Wholesale and retail trade, repair of motor vehicles)- India has one of the largest consumer markets in the world and retail trade plays a crucial role in meeting diverse consumer demands.
  3. IND_C24(Basic metals)- India, being a major player in the global steel market, experiences significant domestic and international demand for basic metals.
  4. IND_K(Financial and Insurance activities) - With efforts to formalise, financial services have expanded to cater to increased demand for formal credit, insurance etc
  5. IND_N(Administrative and support services)- The growth of the service sector, especially IT, necessitates robust administrative and support services.
# Plot the top 5 column sums for India
barplot(T5Csum_IND, main = "Top 5 Demand sectors - India", xlab = "Industry", ylab = "Sum in Million USD", col = "yellow", names.arg = colnames(IND_IOT)[order(-Csum_IND)][1:5])

The top 5 demand sectors for India are:

4 reasons why the above sectors in top 5 makes sense:

  1. Diverse Consumer Needs: Both at a national and international level, the sectors highlight a wide-ranging consumer need, stemming from population and developmental necessities, and global export demands.
  2. Growth and Urban Expansion: The prominence of sectors like construction and basic metals underscore economic growth and urbanisation.
  3. Fundamental and Lifestyle Necessities: Indian population’s demands arise from basic needs (like agriculture and food products) to lifestyle-oriented goods (such as textiles and footwear)
  4. Global Supply chains: A network is established where the production in one sector (for example, agriculture) becomes a crucial input for another (like food production).
# Plot the top 5 row sums for the USA
barplot(T5Rsum_USA, main = "Top 5 Supply sectors - USA", xlab = "Industry", ylab = "Sum in Million USD", col = "orange", names.arg = colnames(USA_IOT)[order(-Rsum_USA)][1:5])

# Plot the top 5 column sums for the USA
barplot(T5Csum_USA, main = "Top 5 Demand sectors - USA", xlab = "Industry", ylab = "Sum in Million USD", col = "violet", names.arg = colnames(USA_IOT)[order(-Csum_USA)][1:5])

Total Economic Activity

The addition of “Intermediate use at basic prices” and “Final demand” would provide the total economic output at basic prices. This represents the overall economic activity within an economy, including the value of intermediate goods and services used in production and the final demand for goods and services by consumers, businesses, and the government.

This total economic output includes the sum of all goods and services produced in an economy. It’s a significant indicator of the economic activity and the size of the economy. By analyzing changes in this total over time, economists and policymakers can gain insights into the overall health and growth of the economy.

library(ggplot2)

I. Total economic output of India

# Defining India's Final demand
IND_FD <- OECD_IOT[1441:1485, 3499]

# head(IND_FD,45)
# Create a data frame
df_IND <- data.frame(
  Industry = rownames(IND_IOT),
  Rsum_IND = Rsum_IND,
  IND_FD = IND_FD,
  Total = Rsum_IND + IND_FD  # Create a new column for the addition
)

# Order the data frame by the 'Total' column in descending order and take the top 10
df_IND <- df_IND[order(df_IND$Total, decreasing = TRUE), ]
df_IND <- head(df_IND, 10)
# Create a bar chart using the 'Total' column
ggplot(df_IND, aes(x = Total, y = Industry, fill = Industry)) +
  geom_bar(stat = "identity") +
  labs(
    title = "Top 10 Industries: Bar Chart of Total economic output of India",
    x = "Total Value in Million USD",
    y = "Industry"
  ) +
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5)
  )

II. Total economic output of USA

# Defining USA's Final demand
USA_FD <- OECD_IOT[3286:3330, 3540]
# head(USA_FD,45)
# Create a data frame
df_USA <- data.frame(
  Industry = rownames(USA_IOT),
  Rsum_USA = Rsum_USA,
  USA_FD = USA_FD,
  Total = Rsum_USA + USA_FD  # Create a new column for the addition
)

# Order the data frame by the 'Total' column in descending order and take the top 10
df_USA <- df_USA[order(df_IND$Total, decreasing = TRUE), ]
df_USA <- head(df_USA, 10)
# Create a bar chart using the 'Total' column
ggplot(df_USA, aes(x = Total, y = Industry, fill = Industry)) +
  geom_bar(stat = "identity") +
  labs(
    title = "Top 10 Industries: Bar Chart of Total economic output of USA",
    x = "Total Value in Million USD",
    y = "Industry"
  ) +
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5)
  )

Analyzing the Interplay Between Intermediate Use and Final Demand in an Economy

The relationship between “Intermediate use at basic prices” and “Final demand” can be of interest and may reveal insights about the flow of goods and services in an economy. These variables are commonly analyzed in input-output analysis, which studies the interdependencies between industries and sectors within an economy.

  1. Positive Relationship: If the “Intermediate use at basic prices” is positively correlated with “Final demand,” it suggests that as the demand for final products and services increases, industries need more intermediate inputs to meet that demand. In other words, there is a direct relationship between the production of final goods and the use of intermediate goods.

  2. Negative Relationship: Conversely, a negative correlation could imply that as final demand increases, industries have found ways to reduce their reliance on intermediate inputs. This might indicate efficiency improvements or a shift in production methods.

  3. No Relationship: It’s also possible that there is no significant correlation between these variables. Industries might be producing according to their own dynamics and are not strongly influenced by the overall final demand.

I. India

Correlation between India’s Intermediate use at basic prices and Final demand

# Step 1: Calculate the correlation between Rsum_IND and IND_FD
correlation1 <- cor(Rsum_IND, IND_FD)

# Step 2: Create a scatter plot
plot(Rsum_IND, IND_FD, main = "Scatter Plot of Rsum_IND vs. IND_FD", 
     xlab = "Rsum_IND in Million USD", ylab = "IND_FD in Million USD",
     col = "blue", pch = 19)

# Step 3: Determine the correlation direction
if (correlation1 > 0) {
  cat("Positive correlation: ", correlation1)
} else if (correlation < 0) {
  cat("Negative correlation: ", correlation1)
} else {
  cat("No correlation: ", correlation1)
}
## Positive correlation:  0.3749174

II. USA

Correlation between USA’s Intermediate use at basic prices and Final demand

# Step 1: Calculate the correlation between Rsum_USA and USA_FD
correlation2 <- cor(Rsum_USA, USA_FD)

# Step 2: Create a scatter plot
plot(Rsum_USA, USA_FD, main = "Scatter Plot of Rsum_USA vs. USA_FD", 
     xlab = "Rsum_USA in Million USD", ylab = "USA_FD in Million USD",
     col = "gold", pch = 19)

# Step 3: Determine the correlation direction
if (correlation2 > 0) {
  cat("Positive correlation: ", correlation2)
} else if (correlation < 0) {
  cat("Negative correlation: ", correlation2)
} else {
  cat("No correlation: ", correlation2)
}
## Positive correlation:  0.3668215

Analyzing Trade dynamics between India & USA

India’s Exports to USA-

# Read the Indian supply to USA subset
IND_supply_to_USA <- OECD_IOT[1441:1485, 3287:3331]

# Read the Indian demand from USA subset
IND_demand_from_USA <- OECD_IOT[3286:3330,1442:1486]

Top 5 Indian Sectors Exported to USA in 2022

row_to_industry <- c(
  "1442" = "IND_A01_02",
  "1443" = "IND_F",
  "1444" = "IND_G",
  "1445" = "IND_C10T12",
  "1446" = "IND_O",
  "1447" = "IND_L",
  "1448" = "IND_H49",
  "1449" = "IND_K",
  "1450" = "IND_C24",
  "1451" = "IND_P",
  "1452" = "IND_D",
  "1453" = "IND_C13T15",
  "1454" = "IND_C19",
  "1455" = "IND_N",
  "1456" = "IND_C29",
  "1457" = "IND_C20",
  "1458" = "IND_Q",
  "1459" = "IND_J62_63",
  "1460" = "IND_I",
  "1461" = "IND_C23",
  "1462" = "IND_C28",
  "1463" = "IND_J61",
  "1464" = "IND_S",
  "1465" = "IND_C22",
  "1466" = "IND_C27",
  "1467" = "IND_B05_06",
  "1468" = "IND_C25",
  "1469" = "IND_C21",
  "1470" = "IND_A03",
  "1471" = "IND_C31T33",
  "1472" = "IND_C17_18",
  "1473" = "IND_H52",
  "1474" = "IND_C30",
  "1475" = "IND_E",
  "1476" = "IND_C26",
  "1477" = "IND_J58T60",
  "1478" = "IND_B07_08",
  "1479" = "IND_B09",
  "1480" = "IND_C16",
  "1481" = "IND_R",
  "1482" = "IND_H51",
  "1483" = "IND_H53",
  "1484" = "IND_M",
  "1485" = "IND_T",
  "1486" = "IND_H50"
)
# Calculate row sums for the Indian supply to USA
Rsum_IND_supply2_USA <- rowSums(IND_supply_to_USA)

# Match the row names to the industry codes
names(Rsum_IND_supply2_USA) <- row_to_industry[rownames(IND_supply_to_USA)]

# View(Rsum_IND_supply2_USA)
# Sort the row sums in descending order and select the top 5
T5_IND_supply2_USA <- order(-Rsum_IND_supply2_USA)[1:5]

# Plot the top 5 row sums for the Indian supply to USA
barplot(Rsum_IND_supply2_USA[T5_IND_supply2_USA], main = "Top 5 Exports from India to USA", xlab = "Industry", ylab = "Sum in Million USD", col = "royalblue", names.arg = names(Rsum_IND_supply2_USA[T5_IND_supply2_USA]))

Top 5 Indian Sectors Imported from USA in 2022

# Create a vector to map row headers to industry codes for the USA
row_to_industry2 <- c(
  "3287" = "USA_A01_02",
  "3288" = "USA_A03",
  "3289" = "USA_B05_06",
  "3290" = "USA_B07_08",
  "3291" = "USA_B09",
  "3292" = "USA_C10T12",
  "3293" = "USA_C13T15",
  "3294" = "USA_C16",
  "3295" = "USA_C17_18",
  "3296" = "USA_C19",
  "3297" = "USA_C20",
  "3298" = "USA_C21",
  "3299" = "USA_C22",
  "3300" = "USA_C23",
  "3301" = "USA_C24",
  "3302" = "USA_C25",
  "3303" = "USA_C26",
  "3304" = "USA_C27",
  "3305" = "USA_C28",
  "3306" = "USA_C29",
  "3307" = "USA_C30",
  "3308" = "USA_C31T33",
  "3309" = "USA_D",
  "3310" = "USA_E",
  "3311" = "USA_F",
  "3312" = "USA_G",
  "3313" = "USA_H49",
  "3314" = "USA_H50",
  "3315" = "USA_H51",
  "3316" = "USA_H52",
  "3317" = "USA_H53",
  "3318" = "USA_I",
  "3319" = "USA_J58T60",
  "3320" = "USA_J61",
  "3321" = "USA_J62_63",
  "3322" = "USA_K",
  "3323" = "USA_L",
  "3324" = "USA_M",
  "3325" = "USA_N",
  "3326" = "USA_O",
  "3327" = "USA_P",
  "3328" = "USA_Q",
  "3329" = "USA_R",
  "3330" = "USA_S",
  "3331" = "USA_T"
)
# Calculate row sums for the Indian demand from USA
Rsum_USA_supply2_IND <- rowSums(IND_demand_from_USA)

# Match the row names to the industry codes
names(Rsum_USA_supply2_IND) <- row_to_industry2[rownames(IND_demand_from_USA)]
# Sort the row sums in descending order and select the top 5
T5_IND_demand_from_usa <- order(-Rsum_USA_supply2_IND)[1:5]

# Plot the top 5 row sums for the Indian supply to USA
barplot(Rsum_USA_supply2_IND[T5_IND_demand_from_usa], main = "Top 5 Imports to India from USA", xlab = "Industry", ylab = "Sum in Million USD", col = "maroon", names.arg = names(Rsum_USA_supply2_IND)[T5_IND_demand_from_usa])

Trade balance of India

# Calculate the total sum of row sums for supply and demand
Total_Export_from_India <- sum(Rsum_IND_supply2_USA)
Total_Import_to_India <- sum(Rsum_USA_supply2_IND)
# Print the total sums
cat("Total Export from India to USA in 2022 was", Total_Export_from_India,"million USD", "\n")
## Total Export from India to USA in 2022 was 54463.4 million USD
cat("Total Import to India from USA in 2022 was", Total_Import_to_India, "million USD", "\n")
## Total Import to India from USA in 2022 was 31817 million USD
# Calculate the trade balance (exports - imports)
Trade_balance_of_IND <- Rsum_IND_supply2_USA - Rsum_USA_supply2_IND

# Print the trade balance
cat("Trade Balance of India (i.e. Exports - Imports) in year 2022 was", sum(Trade_balance_of_IND), "million USD","\n")
## Trade Balance of India (i.e. Exports - Imports) in year 2022 was 22646.4 million USD

Analysis for Trade Dynamics between India and US

It has been observed that India runs a trade surplus with US implying that the exports from India to US outdo the imports from US to India. A number of factors influence the trade balance include the comparative Advantage, tariffs and trade policies, exchange rates, economic and political stability and global economic conditions.

India has been running a trade surplus with the United States for several years, and this can be attributed to a variety of factors related to the economic structures, policy frameworks, and global positioning of both countries. Some key aspects that contribute to India’s trade surplus with the US include:

  1. Service Exports IT and Software Services: India is a major exporter of IT services and software to the US, contributing to its export revenue.
  2. Commodity Trade:India is a significant exporter of textiles and garments, generic drugs ,polished diamonds and jewelry to US.
  3. Policy and Trade Agreements:The economic and trade relations between the US and India have often been strengthened through dialogues and agreements that enhance trade. Various incentives and policy support from the Indian government for exporters boost exports.
  4. Cost Competitiveness Labor Costs: The relatively lower labor costs in certain manufacturing industries makes India’s exports more price-competitive in the US market.
  5. Global Supply Chains Integration: India has integrated into global supply chains, providing intermediate goods and services to the US market.India has positioned itself strategically in certain global supply chains like IT, textiles, and pharmaceuticals.
  6. Investment and Business Climate FDI: Investment flows, business partnerships and ease of doing business have influenced trade dynamics between India and US.

END

Hope you liked it!