Local news broadcast

Smarter Donor Targeting Through AI-Powered Mail Intelligence

Protagona partnered with a leading nonprofit media organization to build a proof-of-concept ML system that correlates local station mailer activity with donation outcomes — automating the full inference workflow so station teams receive actionable targeting insights with no manual effort.

Industry

Nonprofit

Teams & Services

Machine Learning Engineering, Cloud Architecture, Back-End Engineering

Tech & Tools

Amazon S3, AWS Lambda, Amazon SageMaker, Amazon SQS, Amazon EventBridge, Amazon SNS, Amazon API Gateway, Amazon Bedrock, Amazon DynamoDB, Python, Terraform, XGBoost

Key Data Points

Three fully automated pipelines delivered: data ingestion and normalization, XGBoost model training, and end-to-end inference with email delivery.
Dropping a file into S3 triggers the complete inference pipeline automatically — no manual steps required after the initial upload.
Full source code, architecture diagrams, and documentation transferred to the organization for independent continuation toward a production build.

The Vision

One of America's most recognized nonprofit media organizations delivers trusted programming through a network of local member stations, each running its own direct mail fundraising program. Rich donor behavior data from those programs had gone largely untapped. Correlating local mailer activity with actual donation outcomes could tell stations not just who to mail, but who is likely to give more, give for the first time, or be removed from costly mail runs entirely. The goal was to prove this concept was technically viable before committing to a full production build.

The Goal

Protagona was engaged to design and deliver a working proof-of-concept that ingests bulk mailer data from local member stations, normalizes it alongside national-level data, trains a predictive model on donation correlation patterns, and automates the inference workflow. The engagement concluded with a feasibility assessment, a deployed prototype in the organization's own AWS environment, and full documentation to support a future production build.

The Challenge

The core technical challenge was building a coherent ML pipeline across heterogeneous data sources. Local station mailer files arrived in inconsistent spreadsheet formats, requiring a normalization layer that could handle structural variation reliably before any modeling could begin. Each of the three pipelines — ingestion, training, and inference — had to be independently testable while remaining tightly integrated end to end. Selecting XGBoost required validating that the transformed dataset would produce meaningful model parameters at the available sample size. On top of that, the inference pipeline had to trigger entirely from an S3 file drop and deliver results to staff automatically, with zero manual intervention in the workflow.

The Solution

Protagona designed three connected pipelines, each with a distinct role, deployed entirely within the organization's own AWS environment. The first handles data ingestion: local stations upload mailer spreadsheets, which are automatically normalized into a clean, consistent dataset alongside national-level reference data — built specifically to handle the formatting differences across stations. The second pipeline trains a predictive model on that data, learning the relationships between mailer activity, donor demographics, and actual donation outcomes. As stations contribute more data over time, the model can be retrained to become progressively more accurate.

The third pipeline automates the targeting workflow end to end. When a staff member uploads a new dataset, the system automatically scores it against the trained model and emails the results directly to the requesting team member — no manual steps required after upload. AI-enriched analysis adds additional context to the results, and a programmatic interface was built in to support future integrations. The full system was delivered with architecture documentation and source code for the organization to continue developing independently.

OUTCOMES

Your data is trying to tell you something

Contact us

... are you listening?