PhilanthroPy-Project ecosystem

July 18, 2026 · View on GitHub

Open-source tooling for university advancement data teams — from webhook ingest to predictive scoring.

Stack map

flowchart TB
  subgraph ingest [Ingest layer]
    GC[GiveCampus]
    CV[Cvent]
    SL[Slate]
    Other[Vendors]
    GC --> UniSchema
    CV --> UniSchema
    SL --> UniSchema
    Other --> UniSchema
  end

  subgraph unischema [UniSchema]
    UniSchema[Webhook API + Canvas]
    UniSchema --> CE[ConstituentEvent]
    CE --> Egress[Local or S3]
  end

  subgraph warehouse [Optional warehouse]
    Egress --> dbt[dbt staging and marts]
    dbt --> Mart[RFM feature mart]
  end

  subgraph ml [ML layer]
    Egress --> Features[Feature aggregation]
    Mart --> Features
    CRM[CRM golden record] --> Features
    Features --> PhilanthroPy[PhilanthroPy sklearn pipelines]
    PhilanthroPy --> Scores[Propensity lapse intent scores]
  end

  subgraph consume [Consumption]
    Scores --> Portfolio[Moves management]
    Scores --> BI[Dashboards]
    Mart --> BI
  end

Projects

ProjectRepositoryRole
UniSchemaPhilanthroPy-Project/UniSchemaWebhook ingest, Zod validation, visual mapper, egress
PhilanthroPyPhilanthroPy-Project/PhilanthroPysklearn-native preprocessing and models for advancement ML
Examplesexamples/downstream/ in UniSchemadbt, Airflow stub, PhilanthroPy bridge scripts

Typical adoption path

WeekUniSchemaPhilanthroPy
1Docker pilot, first webhook, egress reportOptional: run philanthropy_crm_pipeline.py on demo data
2Wire production vendors, canvas metadataJoin CRM golden record for real labels
3S3 egress + dbt stagingBatch scoring from mart_constituent_rfm_features
4Production go/no-goPortfolio integration (affinity scores to gift officers)

See adoption-checklist.md.

When to use which tool

NeedTool
Normalize GiveCampus + Cvent webhooksUniSchema
Visual field mapping for analystsUniSchema canvas
Major-gift propensity scoringPhilanthroPy MajorGiftClassifier or DonorPropensityModel
Donor lapse riskPhilanthroPy LapsePredictor
AMC grateful-patient featuresPhilanthroPy GratefulPatientFeaturizer (EHR + CRM join)
Warehouse stagingdbt models in examples/downstream/dbt/

Integration contract

UniSchema owns ConstituentEvent schema versioning — schema-governance.md.

PhilanthroPy consumes aggregated feature tables, not raw vendor JSON. The bridge is documented in philanthropy-integration.md.