From 30b89e2fc4ad67bff79162a0c42e9a9389072019 Mon Sep 17 00:00:00 2001 From: emfurst Date: Sat, 17 Oct 2026 12:20:45 -0400 Subject: [PATCH] Correct IRS 990 filer description: UD files its own 990 The docs said the UD Foundation was the 990 source. The configured EINs are UD itself (all Schedule J rows) and the UD Research Foundation. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01X9jG4CUFcH6n4vFvgtwndY --- CLAUDE.md | 4 ++-- README.md | 4 ++-- docs/data_dictionary.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 05a6021..7fdba2e 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -27,9 +27,9 @@ Currently in planning. Phase 1 (Data Acquisition) is planned but not yet built. ## Key concepts - **University of Delaware** is the sole target institution for the first iteration. UD's IPEDS UNITID is the anchor for all IPEDS queries. -- **UD is a public university** and does not file an IRS 990. However, the **University of Delaware Foundation** (a separate nonprofit) does file a 990 — this is the source for executive compensation (Schedule J) and philanthropic data. +- **UD files its own IRS 990** despite being a public university (EIN 516000297, tax years 2015+). UD's filings are the source of all executive compensation data (Schedule J), including head coaches and the athletic director. The **UD Research Foundation** (EIN 516017306) also files a 990; it contributes filing-level financials but no Schedule J rows. Philanthropy data comes from IPEDS F2, not the 990s. - **UNITID** is the canonical institution identifier (from IPEDS). All cross-source linking flows through UNITID. -- **EIN** links to IRS 990 filings. For the first iteration, only UD Foundation EIN(s) are needed. A broader UNITID-to-EIN crosswalk will be built when expanding to peer institutions. +- **EIN** links to IRS 990 filings. For the first iteration, only the UD and UD Research Foundation EINs (`UD_EINS` in `config.py`) are needed. A broader UNITID-to-EIN crosswalk will be built when expanding to peer institutions. - IRS 990 XML schemas change across tax years. Use the Master Concordance File or IRSx library to handle XPath variations. - IPEDS variable names change across years. Always parse the accompanying data dictionary; never hardcode variable names. diff --git a/README.md b/README.md index b2b6cc2..838f74a 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,7 @@ The dashboard must be restarted to pick up newly ingested data (DuckDB opens in The dashboard has eight tabs: -- **Executive Compensation** -- top earners from IRS 990 Schedule J, President and top-10 CAGR, trends by role, compensation breakdown by component, growth vs CPI-U (2015-2023) +- **Executive Compensation** -- top earners from IRS 990 Schedule J, President and top-10 CAGR, trends by role, compensation breakdown by component, growth vs CPI-U (tax years 2015-2024) - **Admin Cost Overview** -- admin cost ratios, expense breakdown by function, cost per student, admin-to-faculty ratio (IPEDS data, 2005-2024) - **Staffing & Enrollment** -- staff composition, student-to-staff ratios, management vs faculty vs enrollment growth (indexed) - **Endowment** -- endowment value trends, CAGR, investment return rate, CIO compensation vs endowment growth (IPEDS F2) @@ -129,7 +129,7 @@ tests/ # pytest test suite | Source | What it provides | Years | |--------|-----------------|-------| | [IPEDS](https://nces.ed.gov/ipeds/) | Institutional directory, expenses by function, staffing, enrollment | 2005-2024 | -| [IRS 990 e-file](https://www.irs.gov/charities-non-profits/form-990-series-downloads) | UD Foundation filings, executive compensation (Schedule J) | 2019-2025 index years (tax years 2017-2023) | +| [IRS 990 e-file](https://www.irs.gov/charities-non-profits/form-990-series-downloads) | Filings by the University of Delaware and UD Research Foundation; executive compensation (Schedule J, from UD's own filings) | Tax years 2015-2025 | | [EADA](https://ope.ed.gov/athletics/) | Athletics expenses by sport, participants, coaching salaries, full-time undergraduate enrollment | FY2007-2025 (academic years 2006-07 to 2024-25) | | [BLS CPI-U](https://www.bls.gov/cpi/) | Consumer Price Index for inflation adjustment | Full history | | UD staff directories | Admin office headcounts and overhead classification | Current snapshot | diff --git a/docs/data_dictionary.md b/docs/data_dictionary.md index a686ac5..8d130c3 100644 --- a/docs/data_dictionary.md +++ b/docs/data_dictionary.md @@ -232,7 +232,7 @@ Raw data layer for University of Delaware administrative analytics. All tables a - **IPEDS tables** are linked by `unitid` (UD = 130943) - **IRS 990 tables** are linked by `object_id` (filing) and `ein` (organization) -- **IPEDS → IRS 990:** The `ein` field in `raw_institution` links to `ein` in 990 tables. UD Foundation EINs: 516000297, 516017306 +- **IPEDS → IRS 990:** The `ein` field in `raw_institution` links to `ein` in 990 tables. EINs: 516000297 (University of Delaware), 516017306 (UD Research Foundation) - **EADA tables** link to IPEDS by `unitid`; `year` uses the same fiscal-year convention - **CPI-U** is used for inflation adjustment — join on `year` (and optionally `month`) to any table with a year column - **Endowment** data comes from IPEDS F2 endowment section; 990 `total_assets` provides a cross-check