02 — Spot the bias

02 — Spot the bias

Question: Which postcodes look like our donors but we’ve never asked?

Outputs: answer.md (bias audit + ~10 unasked look-alikes + pilot recommendation) + answer.html (three-layer MapLibre map showing donor postcodes, campaigned postcodes, and unasked look-alikes as visually distinct layers, CARTO light_all basemap).

Files in this folder

File What it is
prompt.md Instruction set.
sample_donors.csv 500 synthetic donors.
sample_campaign_list.csv 16 postcodes deliberately biased to eastern Sydney wealth — ignores inner-city renters and middle/regional postcodes that look demographically similar.
CLAUDE.md Auto-load for Claude Code.
expected_output.md Shape of a good markdown answer.

Nothing else is bundled. ABS boundaries + demographics come from the public endpoints listed in the prompt.

How to test

cd starter/examples/02_spot_the_bias
claude
> "Run CLAUDE.md."

Why this prompt is the keystone

The deck’s insight_mail slide makes the point that donor files are a record of who we asked AND who said yes, not who would say yes if asked. This prompt operationalises that point — and the three-layer map makes the bias visually unambiguous.

A passing answer should identify Marrickville (2204), Balmain (2041), Leichhardt (2040), Pymble (2074), Castle Hill (2154) and similar postcodes as demographic twins of the donor base that were never campaigned to — and pick one as the cheapest pilot.