Using LCI techniques to understand and simplify trade flows in the clothing sector
Why?
Where garments come from, particulary ones made of cotton, can have a big impact on the social and environmental issues associated with their production. Luckily, the UN comtrade database is a fantastic resource of trade flow data which can help us figure out where garments are likely to have come from. So let’s say we’re in Ireland and we’ve just bought a cotton shirt, where was this shirt likely to have been made? If we look at the comtrade data for 20112015, we get the following:
Trading partner  % of imports 

United Kingdom  30% 
China  17% 
Bangladesh  17% 
Turkey  10% 
India  11% 
Cambodia  3% 
Sri Lanka  2% 
Other  10% 
Hmmm… something’s up here. Most of the big hitters in global garment production are there (China, Bangladesh, Turkey), but unless there’s been a quiet surge in UK garment manufacturing that I’ve missed, it’s unlikely that 30% of the cotton garments sold in Ireland were made in the UK. A more likely explanation is that they were imported into the UK, and then reexported to Ireland. So how do we solve this problem?
Matrix inversion to the rescue…
Thankfully, a common technique in Life Cycle Inventory compilation can help us here  matrix inversion. One way of looking at supply chains within LCA is a collection of recipes. Each unit process requires ingredients (inputs) and produced things that can be used as ingredients in other recipes (outputs). We can compile these recipes into a matrix, where the columns represent each of the production processes, and the rows represent each of their outputs. For example, here is a very simple matrix for making bread. Each column tells us the amount of ingredients we require to produce one unit of output.
Bread production  Flour production  Water production  Yeast production  Wheat production  

Bread  
Flour  0.60  
Water  0.35  
Yeast  0.05  
Wheat  1.50 
Note  to keep things simple, we’re assuming that each process only has one output, and we’re ignoring waste treatment for the time being
This matrix tells us that although you don’t need wheat to make bread, you do need wheat to make flour. So in order to make bread, somewhere in the system wheat needs to be produced. But how much wheat needs to be produced to make one unit of bread?
Wassily Leontif, an economist, devised a method of solving a similar problem at a country wide scale using input output tables. He won the 1973 Nobel prize for Economics for this work.
Very simply put, the method is as follows.
The ‘recipe’ matrix above is also known as a coefficient matrix or A. These are the inputs required to make 1 unit of product.
We can come up with another matrix to describe the outputs of our processes. This output will be on the diagonal of the matrix.
Bread production  Flour production  Water production  Yeast production  Wheat production  

Bread  1  
Flour  1  
Water  1  
Yeast  1  
Wheat  1 
Such a matrix, a square matrix with ones on the diagonal and zeroes everywhere else, is known as an identity matrix, or I.
We want to combine our input matrix with out output matrix to describe our system. An input is the opposite of an output, so if our outputs are positive, our inputs need to be negative. So, if we subtract our recipe matrix (A) from out output matrix (I), we get a description of our whole system in matrix form.
IA :
Bread production  Flour production  Water production  Yeast production  Wheat production  

Bread  1  
Flour  0.60  1  
Water  0.35  1  
Yeast  0.05  1  
Wheat  1.50  1 
Reading down the columns, this matrix tells us that in bread production, we we lose 0.6 units of flour etc, but we gain one unit of bread.
The next step is the clever part. We now find the inverse of this matrix. Mathematically speaking, the inverse of a matrix is the matrix that you can multiply the original matrix by to get the identity matrix. Practically speaking, the inverse leontif matrix tells us how much of all of our ingredients we need to make a certain product, including items not directly demanded by the making of a product.
So for our bread example:
(IA)^{1}:
Bread production  Flour production  Water production  Yeast production  Wheat production  

Bread  1  
Flour  0.60  1  
Water  0.35  1  
Yeast  0.05  1  
Wheat  0.90  1.50  1 
If we now read down the inverse leontif matrix, we can see that if we want one unit of bread, we need 0.9 units of wheat to be produced somewhere in the economy (to make our flour) in addition to the ingredients that we directly demand.
Great… But what does this have to do with the garment trade?
Now that we have a method for tracking indirect inputs through a supply chain, with the help of some assumptions about garment trading patterns, we can frame our garment problem in the same way.
Lets take a simplified hypothetical example.
Austria imports most of its garments direclty from garment producers in Asia (Bangladesh and China), but it also imports a total of 150 tonnes of garments from other EU countries (Belgium and Croatia). These EU countries in turn import garments from garment producing countries in Asia.
The raw trade data looks like this:
Imports (tonnes) 
Austria  Belgium  Croatia  Bangladesh  China 

Austria  
Belgium  50  
Croatia  100  
Bangladesh  500  500  
China  350  500  1000  
Total  1000  1000  1000 
OK, lets make some helpful, but relatively reasonable, assumptions.

The clothes exported by EU countries have the same origin as their imports

There is no (significant) domestic production of garments in the EU countries
This way, imports to a country are equivalent to inputs to a process (in the same way that bread is made from flour etc. in the previous example, Belgian exports are ‘made from’ Chinese/Bangladeshi imports).
This means that if we divide each cell in our trade data table by the column total we get a coefficient matrix, i.e the tonnes required as input per tonne of output.
Austria  Belgium  Croatia  Bangladesh  China  

Austria  
Belgium  0.05  
Croatia  0.1  
Bangladesh  0.5  0.5  
China  0.35  0.5  1 
Following the same steps as before, we subtract this coefficient matrix from the identity matrix, invert it, and we get this:
Austria  Belgium  Croatia  Bangladesh  China  

Austria  1.00  
Belgium  0.05  1.00  
Croatia  0.10  1.00  
Bangladesh  0.525  0.50  1.00  
China  0.475  0.50  1.00  1.00 
This time however, we don’t care about the intermediate steps  we’re assuming these are just a stopping off point on their journey from the garment producig countries  so we can simplify our table like so:
Austria  Belgium  Croatia  

Bangladesh  52.5%  50.0%  0.0% 
China  47.5%  50.0%  100.0% 
The trade routes into Austria that have come via Belgium and Croatia have been resolved, and we can get a better estimate of the likely sources of garments in Austria.
What does this look like when you apply it to real data?
You can apply this technique to real comtrade data for EU member states using the comtrade site’s API calls to get the data, and a bit of python coding (using numpy and pandas). You can find my notebook with the steps in here.
For Ireland, we end up with a more sensible looking estimate for the likely source of cotton garments.
Garment producing country  % of imports 

China  28% 
Bangladesh  24% 
Turkey  14% 
India  12% 
Pakistan  4% 
Sri Lanka  3% 
Cambodia  3% 
Indonesia  2% 
Vietnam  1% 
Other  7% 
Using cotton production and import data we can take this one step further and work out the likely source of the cotton fibres used in garment production in each of these garment producing countries, essentially tracking the supply chain for cotton garments consumed in any of the 28 (for the time being) EU member states back to the growing of the fibres.
It’s not super accurate, but it gives a reasonable estimate of the supply chain at a high level. Not bad using publically available trade figures and a bit of python coding!
If you have any questions or comments, feel free to get in touch via Twitter @KTH_James