The goal of this report is to analyze the three quarters of GDP data
that is currently available for the fiscal year 2023. The data is
sourced from the Bureau of Economic Analysis. Each quarter is subdivided
in advance, second, and third estimates.
The terms “advance,”
“second,” and “third estimates” refer to different stages in the process
of economic data reporting and revision. Here’s an explanation of each
term:
The advance estimate is the first release of economic
data for a particular period. It is typically released shortly after the
end of the reference period, providing an initial snapshot of economic
performance. The advance estimate is based on a subset of available data
and statistical models, and it is subject to revision as more
comprehensive data becomes available.
The second estimate is
an updated release of economic data that occurs after the advance
estimate. It incorporates additional data and revisions, providing a
more accurate picture of economic indicators. The second estimate may
still be subject to further revisions in subsequent releases.
The third estimate is another revision of economic data that follows the
second estimate. It incorporates even more comprehensive data,
adjustments, and revisions based on additional information that becomes
available over time. The third estimate is often considered more
accurate and reliable than the advance and second estimates.
To begin, the data is loaded and processed to prepare it
for analysis.
data <- read_excel("FY23 GDP Revision Summary.xlsx")
df <- data %>%
clean_names() %>%
pivot_longer(cols = 2:10, names_to = "period", values_to = "value") %>%
rename(name = x1) %>%
separate(period,into=c("quarter", "estimate"), sep= "_")
head(df,10)
## # A tibble: 10 × 4
## name quarter estimate value
## <chr> <chr> <chr> <dbl>
## 1 Gross Domestic Product q1 advance 1.1
## 2 Gross Domestic Product q1 second 1.3
## 3 Gross Domestic Product q1 third 2
## 4 Gross Domestic Product q2 advance 2.4
## 5 Gross Domestic Product q2 second 2.1
## 6 Gross Domestic Product q2 third 2.1
## 7 Gross Domestic Product q3 advance 4.9
## 8 Gross Domestic Product q3 second 5.2
## 9 Gross Domestic Product q3 third 4.9
## 10 Personal Consumption Expenditures q1 advance 3.7
When reviewing Gross Domestic Product as a whole, it
can be observed that Q1 experienced a substantial revision from the
advance to third estimate. Q2 GDP remained relatively flat amongst the
revisions, as well as from the previous quarter. The data concludes with
a significant increase in Q3 GDP.
gdp <- df %>%
filter(name == "Gross Domestic Product") %>%
arrange(quarter, estimate) %>%
group_by(quarter) %>%
mutate(sec_min_adv = value - lag(value),
third_min_sec = lead(value) - value)
ggplot(gdp, aes(x = quarter, y = value, fill = estimate)) +
geom_col(position = "dodge") +
geom_hline(yintercept = 0, color = "black", linetype = "solid", linewidth = 1) +
labs(title = "FY23 Gross Domestic Product Estimates and Revisions ",
x = "Quarter",
y = "Value") +
scale_fill_manual(values = c("lightblue", "blue", "navy"))
To understand what is driving the large increase in Q3
GDP, let’s look closer at what is under the hood.
Personal
Consumption Expenditures is a key economic indicator used to measure the
total value of goods and services consumed by households in an economy
over a specific period. Personal Consumption Expenditures are a crucial
component of the Gross Domestic Product (GDP) calculation, representing
the portion of GDP attributed to consumer spending.
Looking at
Q3, it is clear that strong consumer spending was a material driver for
the growth seen in GDP. It is important to note the revisions to Q3, as
the third estimate ended up being a large miss to the advance estimate.
This tells us that consumer spending was not as strong as anticipated.
When observing the advance to third estimate for GDP and PCE, it can be
seen that GDP had no change and PCE had a significant reduction. This
indicates that the GDP growth was being influenced by other data.
pce <- df %>%
filter(name == "Personal Consumption Expenditures") %>%
arrange(quarter, estimate) %>%
group_by(quarter) %>%
mutate(sec_min_adv = value - lag(value),
third_min_sec = lead(value) - value)
ggplot(pce, aes(x = quarter, y = value, fill = estimate)) +
geom_col(position = "dodge") +
geom_hline(yintercept = 0, color = "black", linetype = "solid", linewidth = 1) +
labs(title = "FY23 Personal Consumption Estimates and Revisions ",
x = "Quarter",
y = "Value") +
scale_fill_manual(values = c("lightblue", "blue", "navy"))
Gross Private Domestic Investment (GPDI) is a key
economic indicator that measures the total value of all capital
expenditures made by private businesses, households, and nonprofit
organizations within a country’s borders. It is one of the components
used to calculate Gross Domestic Product (GDP) and provides insights
into the level of investment activity in an economy.
Look at
GPDI on a high-level, Q1 to Q3 showed dramatic improvement. The third
estimate in Q3 of 10% suggest that this data was a material driver of
the 4.9% GDP growth. GDPI data will be broken down further and analyzed
later in this report.
In summary, a negative GPDI in Q1 may
have been influenced by a combination of economic uncertainty, market
conditions, and credit constraints. The subsequent increase in GPDI in
Q3 could be attributed to factors such as an improving economic outlook,
a more favorable business environment, and the resolution of temporary
challenges that led to negative investment growth in the earlier
quarter.
gpdi <- df %>%
filter(name == "Gross Private Domestic Investment") %>%
arrange(quarter, estimate) %>%
group_by(quarter) %>%
mutate(sec_min_adv = value - lag(value),
third_min_sec = lead(value) - value)
ggplot(gpdi, aes(x = quarter, y = value, fill = estimate)) +
geom_col(position = "dodge") +
geom_hline(yintercept = 0, color = "black", linetype = "solid", linewidth = 1) +
labs(title = "FY23 Gross Private Domestic Investment Estimates and Revisions ",
x = "Quarter",
y = "Value") +
scale_fill_manual(values = c("lightblue", "blue", "navy"))
Government consumption refers to the total value of goods
and services purchased and consumed by the government at all levels
(federal, state, and local) within a country’s borders. This includes
spending on salaries for public employees, public infrastructure,
defense, education, healthcare, and other government services.
Government consumption represents the value of resources used by the
government to provide public goods and services. It’s a crucial
component of GDP because it reflects the direct contribution of the
government to the economy through the provision of services and the
employment of resources.
Gross Investment represents the total
value of spending on capital goods (such as machinery, equipment, and
structures) that will be used to produce future goods and services. It
includes both business and government investment. Gross Investment
reflects the level of capital formation and the expansion of the
economy’s productive capacity. It is a key driver of future economic
growth.
It is important to note the significant miss between
the third and advance estimates. Recalling the previous analysis of
consumer spending, we can see a troubling observation. Consumer spending
was weaker than expected and government expenditures were higher than
expected. Government expenditures data will be broken down further and
analyzed later in this report.
gcegi <- df %>%
filter(name == "Government Consumption Expenditures and Gross Investment") %>%
arrange(quarter, estimate) %>%
group_by(quarter) %>%
mutate(sec_min_adv = value - lag(value),
third_min_sec = lead(value) - value)
ggplot(gcegi, aes(x = quarter, y = value, fill = estimate)) +
geom_col(position = "dodge") +
geom_hline(yintercept = 0, color = "black", linetype = "solid", linewidth = 1) +
labs(title = "FY23 Government Consumption & Gross Investment Estimates and Revisions ",
x = "Quarter",
y = "Value") +
scale_fill_manual(values = c("lightblue", "blue", "navy"))
Exports and imports are vital components of international
trade, and they reveal important information about a country’s economic
health, competitiveness, and relationships with other nations. Here’s
what exports and imports reveal:
exim <- df %>%
filter(name %in% c("Exports", "Imports")) %>%
arrange(quarter, estimate) %>%
group_by(quarter, name) %>%
mutate(sec_min_adv = value - lag(value),
third_min_sec = lead(value) - value)
ggplot(exim, aes(x = quarter, y = value, fill = estimate)) +
geom_col(position = "dodge") +
facet_grid(. ~ name, scales = "free_y") +
geom_hline(yintercept = 0, color = "black", linetype = "solid", linewidth = 1) +
labs(title = "FY23 Exports and Imports Estimates and Revisions",
x = "Quarter",
y = "Value") +
scale_fill_manual(values = c("lightblue", "blue", "navy"))
Let’s look closer at what makes up Government Consumption
Expenditures and Gross Investment.
The first observation from
these plots is that all three forms of government expenditures were
equal to or greater than overall GDP growth in the third estimate. This
means government spending was another significant driver of the Q3
growth, along with Gross Private Domestic Investment.
The
increases seen in National Defense spending are driven by the funding of
proxy wars in Eurasia. Another pattern to observe is the repeated upward
revisions of State and Local spending.
deep_gcegi <- df %>%
filter(name %in% c("National Defense", "Nondefense", "State and Local")) %>%
arrange(quarter, estimate) %>%
group_by(quarter, name) %>%
mutate(sec_min_adv = value - lag(value),
third_min_sec = lead(value) - value)
ggplot(deep_gcegi, aes(x = quarter, y = value, fill = estimate)) +
geom_col(position = "dodge") +
facet_grid(. ~ name, scales = "free_y") +
geom_hline(yintercept = 0, color = "black", linetype = "solid", linewidth = 1) +
labs(title = "Breakdown of Government Consumption Expenditures and Gross Investment",
x = "Quarter",
y = "Value") +
scale_fill_manual(values = c("lightblue", "blue", "navy"))