Automating Donor Philanthropy
Rada's approaches are peculiar to his background and purpose, but the software
is customizable through user modification of input parameters.
Data Sources
The primary data sources are:
An Excel VBA First Pass at Filtering 990s
RR downloaded a year's worth of Form 990s from the IRS website, filtered certain fields into Excel workbooks,
and used Excel VBA to rank order the entities according to their Form 990 content.
This rank-ordering focused on financial analysis but included a crucial keyword filtering of entity mission.
The rules including keywords are in a rule.txt input file that the user can edit to her taste.
See Click here for details of the Excel VBA filter of IRS Form 990s.
Webscrape Minimum Endowment Amount
The next software system crawled and scraped with Python libraries the web sites of high-rated entities
and extracted quotes about the minimum dollar amount to endow a named, targeted scholarship.
Rada's technique relied on heuristics that he discovered by trial-and-error,
such as the dollar amounts typically used, and the words that tended to mark a quote about minimum endowment amount.
IRS Exempt Organization Business Master File
RR discovered the IRS Business Master File for non-profits which among other things classify
each entity into an elaborate hierarchical, standardized classification scheme called NTEE. RR
refined the Form 990 processing with a Python program that downloads the IRS Business Master File and Form 990s,
loads them into a Relational Database Management System, and rank ordered entities by their attributes.
See these files for further information:
Vector Embedding
Since finding the minimum endowment amount was giving noisy results with my heuristic approach,
I added another filter with vector embedding and logistic regression (as used by Large Language Models)
to filter the results of my heuristic-based scraping. This new system a) was trained on thousands of manually curated quotes from the heuristic method and
b) rejects false positives.
Go to the following files to get further details:
GitHub
Visit the
GitHub repository home of all the tools to freely get the software.
For links to specific tools for the:
-
Excel VBA code to score IRS Form 990s.
-
Python web scraper to discover endowment limits.
-
Python that downloads IRS data, imports the data into a
RDBM system, and rank orders the 501c3 entities.
-
Labor Department Scholarship scraper.
-
vector embedding and logistic regression system which filters the results of
the endowment limits web scraper.
You are welcome to contact Rada
directly for data, code, or results not on GitHub.