nl en

Environmental Input-Output Analysis


Admission requirements

This course is a specialisation module within the MSc Industrial Ecology (joint degree Leiden University and TU Delft).

To take part in the course Environmental Input-Output Analysis students must be familiar with matrix calculations and basic Python programming. A bachelor-level background in linear algebra and macroeconomics is helpful but not mandatory.\


In this course students learn Environmental Input-Output Analysis (EIOA), a standard methodology for assessing consumption-based environmental footprints (e.g. carbon footprints) and analyzing the production and consumption structures within one or across several economies.

The course is divided in two parts. The first part introduces the fundamental concepts and quantifications of EIOA, such as the monetary and physical input-output tables and environmental footprint calculations for nations. The second part of the course introduces several EIOA techniques and illustrates how they have been used for analyzing sustainability issues, such as the socio-economic and environmental effects of international trade, and the main drivers of changing environmental pressures imposed by human activities (e.g. CO2 emissions).

The course follows a hands-on approach. Each lecture is accompanied by a ‘working group’ session in which students develop and apply python programming skills and do EIOA exercises in groups. As a 5-EC course, the weekly study load is about 10 hours.

Learning objectives

After completing this course, students are expected to:
1. Understand the structures and key components of input-output (IO) tables and main IO datasets.
2. Model, in Python, and analyze the economic and environmental effects of production and consumption activities and potential policies across supply chains.
3. Articulate the state-of-the-art of the EIOA methods introduced in the course and their applications in sustainability research and real-world decision making.
4. Write and present a quantitative study, interpreting its main results and potential limitations.

Teaching methods/mode of instruction

In each week there is a single lecture with two blocks. In the first block the week’s new material is introduced (i.e. lecturing, 45×9=90 minutes). In the second block an exercise is presented which illustrates the new material and the students work on the individual exercise(s) in groups. The second block ends with a Q&A session, in which theoretical and computational questions related to the exercise are addressed.

In response to the COVID-19 pandemic, the teaching of the course will be conducted online using two learning platforms. Specifically, lectures will be held via MS Teams; BrightSpace will be used to curate course materials and during group exercises (via the Kaltura Live Room embedded in BrightSpace).

Type of assessment

50% of the final grade will result from the mid-term exam, corresponding to learning objectives 1&3. The other 50% will result from a final assignment to be completed at the end of the course, corresponding to learning objectives 2-4. The final assignment consists of a quantitative study in which one or more EIOA method(s) learned during the course can be applied in depth. The specific format of the assignment is clarified during the course, as it depends on the number of students enrolled.

Course materials/reading list

The textbook for the course is ‘Input-output Analysis – Foundations and Extensions’ by Ronald E. Miller and Peter D. Blair. Reading materials (e.g. sections, chapters from the textbook or scientific papers) will be assigned for the students to go through before each lecture. The list of reading materials is available in the manual of the course. Course materials also include lecture slides, IO datasets, and code.


Because this course is part of a joint degree between Leiden University and TU Delft, students (also guest and exchange) have to be enrolled to both universities.
All students have to enroll for the course via Brightspace (before the start of the course) and for the exam via uSis, Leiden University. For more information see this website.
Students who are not enrolled for the MSc Industrial Ecology have to ask permission from the study advisor of Industrial Ecology to join this course, at least one month before start of the course.
Exchange students can only enroll for this course if their home university has an Exchange agreement with both Leiden University and TU Delft. Exchange students have to ask permission from the study advisor of
Industrial Ecology
as soon as possible, preferably six months before the start of the course.

Other remarks

Students bring their own laptops to the classes with Python installed. We strongly recommend using the anaconda package ( as python development environment. It’s freely available for Windows, MacOS and Linux and comes with code editor (Spyder). Likely you have been using the Anaconda package during the Earth System Science and Analysis course in Q1 of the academic year.