Take the crosstabs file you already produce and render a publication-grade regional, congressional-district, or county map in four steps. Statewide topline, regional vote intent, methodology coverage — embeddable in your client deliverable PDF or your press release page. The toolkit your interns can't make a mistake with.
A typical workflow for pollsters & survey research firms teams. Each line is one operation; together they take a few minutes and produce a published map plus a downloadable dataset.
# Pattern: a polling-firm analyst publishes a county-level
# margin map from a crosstabs file. Bring your own data — the
# call shape stays the same across polls and waves.
# Step 1: ingest the crosstabs CSV as a workspace dataset
mcp.call("ingest_dataset", {
slug: "<your-poll-slug>",
name: "<Poll label> — <state> <race> margin",
collection: "us-counties", version: "tiger-2024",
records: countyRows.map(r => ({
external_id: r.county_fips,
data: {
candidate_a_pct: r.candidate_a_pct,
candidate_b_pct: r.candidate_b_pct,
margin: r.candidate_a_pct - r.candidate_b_pct,
n_sub: r.n_subsample,
},
})),
})
// → workspace dataset, one row per county in your crosstab
# Step 2: render a diverging choropleth (red / blue) bound to the margin field
mcp.call("create_report", {
slug: "<your-poll-slug>-margin",
name: "<Poll label> — county margin",
public: true,
config: {
collection: "us-counties", version: "tiger-2024",
datasets: [{
slug: "<your-poll-slug>",
field: "margin",
label: "Candidate A − Candidate B (pts)",
palette: "diverging",
classify: { method: "equal_interval", bins: 7 },
}],
description: "Replace with the poll's own methodology block " +
"(n, field dates, sample frame, MoE).",
tooltip_fields: [
{ field: "name", label: "County" },
{ field: "candidate_a_pct", label: "A %" },
{ field: "candidate_b_pct", label: "B %" },
{ field: "n_sub", label: "Subsample n" },
],
},
})
// → /v/<your-poll-slug>-margin (embed in the press release)
# Step 3: describe_report can draft the press-release paragraph
# once the dataset is bound to a real crosstab.
mcp.call("describe_report", { slug: "<your-poll-slug>-margin" })
ingest_poll_crosstabsingest_datasetcreate_reportdescribe_reportrender_map_bivariatecompare_shape_versionsbuild_geojsondisaggregate_acslist_shape_collectionsset_workspace_secretvs. designing each release map by hand in Adobe Illustrator: same crosstab file in, publication-grade map file out, in seconds. vs. Datawrapper: the geography is pre-pinned to a specific Census edition and your data stays in your workspace. vs. building it on top of D3 + raw Census files: every join is one call, not a notebook.
Mid-size polling firms run on Pro ($50/month) for sub-workspaces — one per client account, fully isolated. National firms with high cadence should email about Enterprise. Full pricing details.
Free tier covers a pilot wave — usually one race / region.
Get an API keyThe same toolkit also covers grassroots organizing platforms & campaign tooling · healthcare & life sciences · civic tech & journalism · real estate & property tech · retail, consumer brands & site selection · insurance & risk modeling · logistics, delivery & field service · research, academia & think tanks — one U.S.-geography surface for any team whose question comes down to where.