This post was inspired by the tales of old men who used to spin yarns about visits from the dilapidated hulls of once proud soviet ships to our little island in the South Pacific.
Data was provided by NZ.Stat and unfortunately only dates back to the year 2000. While the period between the fall of the USSR and the turn of the century might yield some interesting insights, many of the seceding countries were suffering economic turmoil due to rampant hyperinflation and the transition from a centralised economy to a market based one. ***
First we’ll have a look at the value of our exports by country in the first year of our data and that of the most recent calendar year, 2018.
ggplotly(
destination_data_2000 %>%
ggplot(aes(long, lat)) +
geom_polygon(aes(group = group, fill = Value_mil_nzd)) +
labs(x = "Longitude", y = "Latitude", title = "Value Of NZ Goods Imported By Each Country In 2000") +
coord_cartesian(xlim = c(20, 100), ylim = c(35,80)) + scale_fill_continuous(name = "Millions of NZD") + theme_minimal()
)
NZ exports to both Latvia and Russia dwarf those to other countries with the third largest importer of kiwi goods being Turkmenistan at just over a tenth of the value of either of the former two.
ggplotly(
destination_data_2018 %>%
ggplot(aes(long, lat)) +
geom_polygon(aes(group = group, fill = Value_mil_nzd)) +
labs(x = "Longitude", y = "Latitude", title = "Value Of NZ Goods Imported By Each Country In 2018") +
coord_cartesian(xlim = c(20, 100), ylim = c(35,80)) + scale_fill_continuous(name = "Millions of NZD") + theme_minimal()
)
In our most recent complete year we see that Russia has usurped Latvia as the leading importer of NZ goods in the region. The value of exports to Azerbaijan and Georgia have increased substantially between these two time periods from roughly half a million dollars to over 30 million each in 2018.
dest_2k18 <- dest %>%
filter(Year == 2018) %>%
select(Destination, Year, Value_mil_nzd)
dest %>%
filter(Year == 2000) %>%
right_join(dest_2k18, by = "Destination") %>%
mutate(Percent_Change = ((Value_mil_nzd.y - Value_mil_nzd.x)/Value_mil_nzd.x)*100) %>%
select(Destination, Value_mil_nzd.x, Value_mil_nzd.y, Percent_Change) %>%
arrange(desc(Value_mil_nzd.y)) %>%
kable(col.names = c("Country","2000","2018", "Percentage Change"), digits = 2) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = F, position = "float_right")
Country | 2000 | 2018 | Percentage Change |
---|---|---|---|
Russia | 50.39 | 164.92 | 227.31 |
Azerbaijan | 0.43 | 35.71 | 8232.68 |
Georgia | 0.62 | 30.57 | 4808.79 |
Lithuania | 0.45 | 15.65 | 3403.11 |
Ukraine | 0.79 | 14.36 | 1709.62 |
Latvia | 56.39 | 14.34 | -74.57 |
Estonia | 0.21 | 5.24 | 2436.43 |
Armenia | 0.00 | 4.47 | Inf |
Kazakhstan | 0.00 | 0.98 | 78476.00 |
Belarus | 0.01 | 0.85 | 8594.68 |
Uzbekistan | 0.00 | 0.82 | 17717.15 |
Moldova | 0.08 | 0.61 | 649.72 |
Kyrgyzstan | 0.01 | 0.12 | 723.89 |
Turkmenistan | 6.92 | 0.00 | -99.94 |
Tajikistan | 0.00 | 0.00 | NaN |
This table compares the change in value of New Zealand exports to the former countries of the Soviet Union between 2000 and 2018. Generally we can see large increases in the value of these export markets with clear exceptions being Latvia, Turkmenistan and Tajikistan. This indicates a shift in where these countries source their goods with Latvia likely turning towards Europe and Turkmenistan further integrating trade with China and its immediate neighbours. In order to get a better idea of how the trade relationship between these countries and New Zealand has changed over time we should look at monthly totals for export values as well as a few key categories of goods.
data_export %>%
filter(Commodity == "Total", Destination %in% c("Latvia","Turkmenistan","Tajikistan")) %>%
ggplot(aes(x = Period, y = Value, color = Destination)) + geom_line(size = 1.2) +labs(x = "Time", y = "Value ($NZ)", title = "Monthly Value of NZ Exports") + theme_minimal()
This paints a much different picture to the table above in that it shows that the large amount imported by Latvia was a short-lived phenomena that came to an end in 2003 from which we have seen a steady increase in value. Data from Turkmenistan also features an anomaly in that first year in which two months, May and June, represent more value than the entire period since then. Tajikistan appears to only really import small amounts of kiwi goods for about a decade from 2004.
ggplotly(
data_export %>%
filter(Commodity == "Total", !(Destination %in% c("Latvia","Turkmenistan","Tajikistan"))) %>%
ggplot(aes(x = Period, y = Value, color = Destination)) + geom_line() +labs(x = "Time", y = "Value ($NZ)", title = "Monthly Value of NZ Exports") + theme_minimal()
)
Russia is clearly the largest consumer of NZ goods by value. This is likely a result of their larger population (approximately 146m compared to the next most populous, Ukraine, with ~42m) and access to a pacific port allowing for fewer dependencies for transshipment through other countries. There appears to be a substantial decrease in trade value at the tail end of 2014 which persists for a couple of years and then rebounds sharply. This may be the result of the rapid depreciation of the Russian Ruble as a result of either the decrease in the price of Crude Oil, Russia’s most import export, or sanctions imposed by various nations due to the conflict in Ukraine.
rubtonzd <-read_excel("rubletonzd.xlsx")
exchange_ruble <- rubtonzd %>%
ggplot(aes(x = Date, y = NZDToRub)) + geom_line() + lims(y = c(0.0125,0.09)) +
labs(y = "NZD per RUB", x = "") + theme_minimal() +
geom_vline(aes(xintercept = as.numeric(rubtonzd$Date[171])), linetype = 4, color = "red") +
geom_vline(aes(xintercept = as.numeric(rubtonzd$Date[177])), linetype = 4, color = "orange")
russia_trade <- data_export %>%
filter(Destination == "Russia", Commodity == "Total") %>%
ggplot(aes(x = Period, y = Value)) + geom_line(color = "grey") +
labs(y = "Value of Trade ($NZ)", x = "Time") + theme_minimal() +
geom_vline(aes(xintercept = as.numeric(ymd("2014-02-20"))), linetype = 4, color = "red") +
geom_vline(aes(xintercept = as.numeric(ymd("2014-07-17"))), linetype = 4, color = "orange")
plot_grid(exchange_ruble, russia_trade, nrow = 2, align = "v")
The dotted red line represents the beginning of the Russian invasion of Ukraine and correlates with both a decrease in the value of the Russian Ruble relative to the New Zealand Dollar and a decrease in the total value of Russian imports from NZ. The latter may not be a significant difference though as the value of trade of the next few months is not far from the average value of trade from the three years prior. The orange line denotes when Flight MH17 was shot down over Ukraine allegedly by Russian forces and signals the start of increased economic sanctions placed on the Russian Federation by both the European Union and the United States which may have contributed to the drop in currency value. The sanctions are unlikely to have had such an immediate effect so there may have been other factors at play.
Looking at the market price of Russia’s most valuable export, crude oil, we see a correlation with the total value of Kiwi imports after the aforementioned events. In both measures there is a relatively steep decline with a noteable trough at the beginning of 2015. The value of imports rebounds sharply in October 2016 and remains high into mid-2017 which is not reflected in the price of crude oil.
export_by_cat2018 <- data_export %>%
filter(Commodity != "Total", Year == 2018, Value > 0) %>%
select(Destination, Commodity, Value) %>%
group_by(Destination, Commodity) %>%
mutate(value_2018 = sum(Value))
total_trade2018 <- data_export %>%
filter(Year == 2018, Commodity == "Total") %>%
group_by(Destination) %>%
summarise(Total_2018 = sum(Value))
## `summarise()` ungrouping output (override with `.groups` argument)
export_by_cat2018 %<>%
select(-Value) %>%
group_by(Destination) %>%
top_n(1,value_2018) %>%
distinct() %>%
inner_join(total_trade2018, by = "Destination") %>%
mutate(main_comm_perc_total = (value_2018/Total_2018)*100) %>%
select(-Total_2018)
export_by_cat2018 %>%
arrange(desc(value_2018)) %>%
kable(col.names = c("Country","Commodity", "$ Value in 2018", "Percentage of All NZ Imports"), digits = 2) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = F, position = "float_right")
Country | Commodity | $ Value in 2018 | Percentage of All NZ Imports |
---|---|---|---|
Russia | Dairy | 84969429 | 51.52 |
Azerbaijan | Dairy | 34318761 | 96.11 |
Georgia | Dairy | 28641893 | 93.68 |
Lithuania | Wool | 10866062 | 69.42 |
Ukraine | Seafood | 9779837 | 68.09 |
Armenia | Dairy | 4443252 | 99.44 |
Latvia | Wool | 3238327 | 22.58 |
Estonia | Machinery | 1162486 | 22.16 |
Belarus | Seafood | 747987 | 87.86 |
Uzbekistan | Dairy | 708631 | 86.24 |
Moldova | Seafood | 607626 | 100.00 |
Kazakhstan | Machinery | 204891 | 20.86 |
Kyrgyzstan | Arms and ammunition | 23716 | 19.49 |
Turkmenistan | Machinery | 4084 | 100.00 |
This table indicates which product category, of those that we are looking at, makes up the largest proportion of export trade value by country. Dairy is the top NZ product in terms of dollars for 5 out of the 15 former Soviet republics while seafood and machinery are the most valuable imports for three countries each. Exports to the Caucasus (Armenia, Azerbaijan and Georgia) are almost exclusively (>90%) dairy products. Tajikistan is excluded because there were no imports from New Zealand in that year.
destination_data_2018 %>%
select(-Year, -value_exports_by_year, -Value_mil_nzd) %>%
inner_join(export_by_cat2018, by = "Destination") %>%
ggplot(aes(long, lat)) +
geom_polygon(aes(group = group, fill = Commodity)) +
labs(x = "Longitude", y = "Latitude", title = "Commodity Category With Greatest Share of Market by Country") +
coord_cartesian(xlim = c(20, 100), ylim = c(35,80)) + theme_minimal() +
scale_fill_brewer(palette="Dark2", name = "Commodity")
Looking at the distribution of highest value categories on a map hints at some regional groupings. Ukraine, Belarus and Moldova are fans of New Zealand seafood with it being the only category of goods that Moldova imported during 2018. The main NZ import of the Caucasus region is dairy which constitutes over 96% of the total export value to Azerbaijan, our second largest export market in the former USSR. Long gone are the days of wool being the main export earner for the country (with 22 sheep per person at the peak of our sheep obsession) but New Zealand is still the second largest exporter of wool (After Australia) and apparently a decent amount of that wool ends up in Lithuania and Latvia.
While New Zealand is generally a net importer of vehicles and a very limited number are assembled here nowadays, we do export vehicles (of foreign origin) to the Pacific Islands and Australia among others.
ggplotly(
vehicle_exports <- data_export %>%
filter(Commodity == "Vehicles", Value > 0) %>%
ggplot(aes(x = Period, y = Value, color = Destination)) + geom_point() + theme_minimal()
)
Since 2018, New Zealand has at some point exported vehicles to 10 out of the 15 former Soviet Republics. Unsurprisingly we don’t see Uzbekistan on that list as virtually all non-agricultural vehicles in the country run on LPG which makes New Zealand vehicles most unsuitable. While we see periods of heavy activity from Russia, Ukraine and Kazakhstan the actual dollar value of these exports is negligible bar a few outliers.
As an island nation, New Zealand has a proud history of shipbuilding and the industry is still going strong although it mostly focuses on smaller pleasure craft for domestic use.
ggplotly(
data_export %>%
filter(Commodity == "Ships", Value > 0) %>%
ggplot(aes(x = Period, y = Value, color = Destination)) + geom_point()
)
Russia is king in regards to total expenditure and the frequency of purchases but their love of Kiwi ships are dwarfed in comparison to their love of milk and cheese.
import_by_cat2018 <- data_import %>%
filter(Commodity != "Total", Year == 2018, Value > 0) %>%
select(Origin, Commodity, Value) %>%
group_by(Origin, Commodity) %>%
mutate(value_2018 = sum(Value))
total_import2018 <- data_import %>%
filter(Year == 2018, Commodity == "Total") %>%
group_by(Origin) %>%
summarise(Total_2018 = sum(Value))
import_by_cat2018 %<>%
select(-Value) %>%
group_by(Origin) %>%
top_n(1,value_2018) %>%
distinct() %>%
inner_join(total_import2018, by = "Origin") %>%
mutate(main_comm_perc_total = (value_2018/Total_2018)*100) %>%
select(-Total_2018)
import_by_cat2018 %>%
arrange(desc(value_2018)) %>%
kable(col.names = c("Country","Commodity", "$ Value in 2018", "Percentage of All Imports to NZ"), digits = 2) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"), full_width = F, position = "float_right")
Country | Commodity | $ Value in 2018 | Percentage of All Imports to NZ |
---|---|---|---|
Russia | Fuel, Oil, Bitumen | 228279701 | 93.32 |
Belarus | Fertilizers | 25725796 | 95.73 |
Lithuania | Fertilizers | 12934369 | 35.79 |
Kazakhstan | Rare Earth/Precious Metals | 1453271 | 99.74 |
Latvia | Fuel, Oil, Bitumen | 634923 | 4.39 |
Ukraine | Ships | 625911 | 4.21 |
Estonia | Rare Earth/Precious Metals | 408333 | 4.54 |
Georgia | Pharmaceuticals | 254546 | 22.20 |
Kyrgyzstan | Plastics | 38661 | 82.35 |
Tajikistan | Arms and Ammunition | 38580 | 94.43 |
Uzbekistan | Organic Chemicals | 1009 | 12.46 |
Armenia | Vehicles | 846 | 0.32 |
Moldova | Plastics | 265 | 0.05 |
Turkmenistan | Rubber | 28 | 0.47 |
As we are only looking at a subset of commodity categories, some of the most popular imports from former USSR countries are not actually representative of their highest value export to NZ. For instance Fuel,Oil,Bitumen
make up over 93% of all imports by value from Russia but Armenia’s biggest export category is Vehicles
which only constitutes 0.32% of the total value of their exports to NZ in that year meaning that the vast majority of their export value is not captured in these selected commodity categories.