welcome to the nonlinear library, where we use text-to-speech software to convert the best writing from the rationalist and ea communities into audio.
this is: EffectiveAltruismData.com: A Website for Aggregating and Visualising EA Data, published by Hamish Huggard on the effective altruism forum.
There’s lots of cool data floating around in EA: grant databases, survey results, growth metrics, etc. I’m a data scientist and enjoy data visualisation, so thought it would be a fun project to build a website which aggregates EA data into interactive plots.
The website is now live at EffectiveAltruismData.com. Source code is available on Github.
This project is still a work in progress: the data is pretty out of date and I’ve got lots of future work planned. But it’s far enough along that I’d like some public feedback.
The website is responsive and should look good on any desktop or tablet screen. If you’re viewing on a phone it will probably look ok, but you may need to alternate between portrait and landscape.
Here are a few screenshots:
Implementation Details
The website is mostly coded in Python. The main libraries I used were:
Pandas for data handling.
Plotly for creating the interactive plots.
Dash for the web framework.
I also wrote a bunch of vanilla CSS for the frontend styling.
The web server is currently deployed with Heroku, which costs $7/month.
I have vague ambitions to re-implement the frontend with D3.js or Chart.js. This should cut down the loading time and give me more control over how the visualisations work.
Design Philosophy
I aimed to follow the data visualisation principles laid out in Information Dashboard Design and Storytelling with Data. These include:
Minimise the “ink-to-data” (or “pixel-to-data”) ratio to avoid distracting clutter.
Encoding data in length or distance is much higher fidelity than area or angle.
Avoid pie charts, stacked area plots, radar charts, violin plots.
Stick to bar charts, scatter plots, and line graphs as much as possible.
Don’t make the reader rotate their head.
Use horizontal bar charts rather than vertical ones.
Minimise the total length the eye has to travel to take in all the data.
Avoid legends.
On line graphs, put the labels directly on the ends of the lines.
Why I Did This
I said earlier that this project was motivated by my fancy for data visualisation. But I do think there’s a lot of scope for valuable data visualisation and data wrangling work within Effective Altruism.
For example, I’ve found it difficult to get a sense of the scale of donations within EA. Are total donations basically Open Philanthropy plus a rounding error? Or do donations from all the little guys like me actually make a difference in the big picture?
This isn’t just an interesting question in itself: it also informs my life decisions. If the total donations of people in my reference class is enough to make a noticeable change to AMF funding, then I’m more likely to steadily earn-to-give on a moderately affluent career path. If my reference class is totally overwhelmed by a handful of mega-donors, then I’m more likely to drop everything and spend a year figuring out if I can contribute to AI safety.
This was some of the motivation behind the first panel of EffectiveAltruismData.com. Ultimately, I’d like to have a plot which puts all the major stocks and flows of EA money on a common scale and puts my personal earning-to-give into perspective.
Another example: I have a vague sense that EAs are getting more diverse over time. Is this true? Currently, answering this question would require going through all the EA survey reports, reading numbers from images of plots, and typing them into a spreadsheet. It would be nice if all the data was easily accessible from some central repository and ready for analysis.
Data visualisation is a great tool for getting lots of people quickly up to speed on quantitative facts. Gapminder and Our World in Data do this to great effect. If we want EA to be an efficient ...
view more