Method and data

Inputs, model, result—and the failure boundary.

The reliable way to read Pheme is to trace each result from its public inputs through the model version to its validation and limitations.

01

Synthetic population

U.S. residents are seeded from Census ACS marginals and state election anchors. Country records use World Bank, OWID, UNDP, and other named public sources. Weighted personas compress that substrate; they are not real people.

02

Modeled reasoning

Eligible Ask requests use bounded provider-assisted persona reasoning. Cached semantic answers can be reused. A near-complete partial run excludes missing answers and reports weighted coverage; if providers, budgets, or deadlines leave coverage below the publication threshold, Pheme publishes no percentage. It never substitutes a demographic or hash estimate for an arbitrary question.

03

Scenario engine

The canonical engine combines scenario type, origin, distance, demographics, economic resilience, and deterministic reaction weights. The same inputs, engine version, and seed produce the same result. This deterministic scenario engine is distinct from Ask’s semantic reasoning boundary.

04

Validation

Committed benchmarks omit the observed answer from request prompts, then report direction, absolute error, average error, and worst miss. This does not prevent training-data contamination, estimate repeat-run dispersion, or make the exercise a poll. Electoral fidelity only checks reproduction of an input anchor.

05

Data and freshness

Every workspace should expose source, unit, data date, retrieval time, update cadence, table, and download. Cached or fallback data must be labeled with its timestamp; missing provenance is a product limitation, not permission to infer it.

06

Failure modes

Representative compression loses detail. Sparse country data can flatten differences. Text matching can misclassify a question. Provider output and citations can be wrong. Missing provider answers can bias a partial result even when coverage is high, so coverage is shown and no result is published below 90%. Hypothetical outputs should not be presented as observed intent.

Canonical sources

The editable engine is pheme-backend/lib/engine.js; geography begins in data/*.csv; the standalone artifact begins in app/pheme.template.jsx. Generated copies are checked by npm run verify.