Skip to content

docs: credit the R prior art this package descends from - #190

Merged
shivamlalakiya merged 1 commit into
mainfrom
docs/readme-prior-art
Sep 6, 2026
Merged

docs: credit the R prior art this package descends from#190
shivamlalakiya merged 1 commit into
mainfrom
docs/readme-prior-art

Conversation

@shivamlalakiya

Copy link
Copy Markdown
Contributor

What

Adds a ### Prior art section to README.md, under Research.

Why

The README has 21 headings and none of them acknowledged the R repositories that
did this work first. paper.md's State of the field compares against Python
libraries only (feature-engine, mlxtend, sktime, pymc-marketing, MAPIE,
crepes, scikit-uplift), so nothing anywhere in the project pointed at the
actual lineage. That reads as a state-of-the-field gap, and it is also just
uncredited.

What it says

Prior art What it is Descendant here
michaelpawlus/pg_donors (R, 2015) caret classifier for planned-giving prospects; imputes missing median household income to the column median before fitting PlannedGivingIntentScorer, with the imputation moved into WealthScreeningImputer where the fill value is frozen at fit
michaelpawlus/fundraising_analytics (R, 2016) RFM scoring, annual-giving propensity, class-imbalance correction on planned-giving prospects, portfolio management, IRS 990 merges RFMTransformer, DonorPropensityModel, MovesManagementClassifier
crazybilly/fundRaising (R, 2021) packaged utilities: fy, fy_quarters, fydaynum, lapsed-donor flags, giving-level cuts, consecutive-giving runs FiscalYearTransformer, LapsePredictor

The section states plainly that the modelling is not this package's contribution.
The contribution is packaging the sector's steps as check_estimator-compliant,
composable estimators with an explicit leakage contract, in the language the rest
of the ML stack is written in.

Every repository, date, language, and file referenced was checked against the
GitHub API rather than recalled.

Checks

  • pytest tests/test_doc_examples.py tests/test_documented_contracts.py — 22 passed
  • Pre-push hook ran the full suite before this branch was pushed
  • CHANGELOG.md updated under ## [Unreleased]; author already listed in CONTRIBUTORS.md

Docs only; no source or test files touched.

The README had 21 headings and none of them acknowledged the R repositories
that did this work first. paper.md's State of the field compares against
Python libraries only, so nothing in the project pointed at the actual
lineage: a reviewer reading it would see a state-of-the-field gap.

Adds `### Prior art` under Research, crediting michaelpawlus/pg_donors (2015),
michaelpawlus/fundraising_analytics (2016), and crazybilly/fundRaising (2021),
and matching each to the estimators that cover the same ground:

- pg_donors: caret classifier for planned-giving prospects with median
  imputation of household income. PlannedGivingIntentScorer is its descendant;
  WealthScreeningImputer is where that imputation became leakage-safe.
- fundraising_analytics: RFM scoring, annual-giving propensity, class-imbalance
  correction, portfolio management. RFMTransformer, DonorPropensityModel,
  MovesManagementClassifier.
- fundRaising: fy/fy_quarters/fydaynum, lapsed flags, giving cuts.
  FiscalYearTransformer, LapsePredictor.

The section states plainly that the modelling is not the contribution; the
packaging as check_estimator-compliant estimators with a leakage contract is.
@shivamlalakiya
shivamlalakiya merged commit 32a2108 into main Sep 6, 2026
15 checks passed
@shivamlalakiya
shivamlalakiya deleted the docs/readme-prior-art branch September 6, 2026 22:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant