Compare the efficacy of methods for estimating the CO2e of a transaction using data available via a banking API.

Jack Smith


Supervised by Crispin Cooper; Moderated by Irena Spasic

The goal: predict the carbon footprint of a transaction using the information collected by a bank, available via an API (Starling or Monzo). The data: transaction amount, vendor category (groceries, travel, eating out, etc.), vendor name.

Potential methods: 1. Calculate an average CO2e/£ for each category and apply it to the amount spent. 2. A one-off user-completed questionnaire which informs future estimates. 3. Use the vendor name to find out what they sell (scrape data? ask ChatGPT?) and use that info to inform the estimate.

The options above are inexhaustive and may be combined. I plan on using Python with Flask, the app can be fairly basic as the research will focus on the accuracy of the estimates. I will need control data, which will probably require some research into the CO2e of a number of transactions. I could use participants for the data & questionnaire but I don't think it's necessary. Some vendor categories will be easier to work with than others (easy: groceries, hard: finances); the scope of the project can easily change by including more or less categories and/or methods.

Potential issues: - Availability of emission data. - Too easy to code for a Computing course. - Using/not using participants.

I'm looking for a tutor with an interest in sustainablitity who may spot flaws in the proposed methods, or offer potential additions & data sources, and to help me manage the scope of the project. I'd like to talk once every one or two weeks, depending how much work needs doing. I'm pro work-life balance and won't bother you on holiday or expect replies outside working hours :)

Final Report (06/09/2023) [Zip Archive]

Publication Form