Skip to content

Bamboo Weekly #158: University endowments

Get better at: Excel files, CSV files, Plotting with Plotly, grouping, maps, regular expressions, and joins.

Bamboo Weekly #158: University endowments

Running a university, and especially a research university, is expensive. Student tuition, I've always heard, doesn't even come close to covering the costs. So, where does the money come from?

In the case of a research university, much of it comes in the form of grants, from governments or foundations. Indeed, such research funding brings in a great deal of money, and helps to pay the salaries of everyone in the research world -- professors, researchers, lab assistants, and graduate students -- many of whom also teach classes.

But universities often have an endowment, money that has been donated, and invested, with the aim of never actually spending it. Instead, the hope is to use the interest, profits, and dividends from the endowment as part of the annual budget. For example, if a school has a $100m endowment, and if it assumes it'll earn 10% of that in a given year, then that adds $10m to its budget. Of course, it first has to raise the $100m, but that cushions the institution from the ups and downs of private donations, or even of government grants.

How much do universities have in their endowments? It varies a lot by university, as reported in the Financial Times blog FT Alphaville last week (https://www.ft.com/content/4287eba7-63eb-4d1d-ba10-cdb56d8a5520). The FT Alphaville article goes into depth on the allocation of assets in these university endowments, and that's certainly interesting. But I saw this as a chance to just look at how much universities have, and how it's distributed among them.

This week, we'll thus be looking at data about university endowments, based on the data collected by NACUBO, the National Association of College and University Business Officers (https://www.nacubo.org/Research/2025/Public-NCSE-Tables).

Paid subscribers, both to Bamboo Weekly and to my LernerPython+data membership program (https://LernerPython.com) get all of the questions and answers, as well as downloadable data files, downloadable versions of my notebooks, one-click access to my notebooks, and invitations to monthly office hours.

Learning goals for this week include working with Excel and CSV files, grouping, plotting (including plotting maps) with Plotly, cleaning data, and joins.

Data and six questions

This week's data comes from the NACUBO data:

https://www.nacubo.org/Research/2025/Public-NCSE-Tables

You can download the data directly from them, or (if you're a paid subscriber) from the link at the bottom of this message.

We'll also use, in the final question, a mapping from cities to longitude and latitude stored on GitHub at https://github.com/kelvins/US-Cities-Database .

Here are this week's six tasks and questions. I'll be back tomorrow with my solutions and explanations: