Skip to page content
SAVRN
Search Plan a project

Dataset · Tabular classification

nairobi-longitudinal-healthcare-utilization

by STRIPED DONKEY Organization STRIPEDDONKEY/nairobi-longitudinal-healthcare-utilization

Synthetic population data for predicting healthcare demand across time. A genuine balanced longitudinal panel: the same 10,000 synthetic Nairobi residents, tracked at 3 annual observation dates (2023-09-01 / 2024-09-01 / 2025-09-01 = Train / Validation /…

Rows—
Configurations—
Size23.9 MB
Licensecc-by-4.0
AccessPublicly accessible
Monthly Downloads—

Dataset Card

By STRIPED DONKEY Organization, published under cc-by-4.0, revision bacd09ce7057.

Synthetic population data for predicting healthcare demand across time.

100% synthetic. No real patient records. Every citizen, visit, condition, coverage record and household in this dataset was generated by the STRIPED DONKEY / FCTE city-twin synthetic data platform for the city of Nairobi. No real individual's data was used to produce it.

What is this?

A genuine balanced longitudinal panel: the same 10,000 synthetic Nairobi residents, tracked at 3 annual observation dates (2023-09-01 / 2024-09-01 / 2025-09-01 = Train / Validation / Test) — 30,000 person-period rows, 38 columns. Each row carries up to 24 months of prior health, insurance, household and employment history as of that date, plus what happened to that same person over the following 12 months. This links the same synthetic person across health, insurance, household, education and employment domains, over time — not a single disease table.

Marketplace question: Who is most likely to use healthcare — or require an inpatient admission — in the next 12 months?

  • Look back: what prior health and life-history patterns preceded increased healthcare use?
  • Understand now: which residents currently carry the greatest healthcare-utilization burden?
  • Look ahead: who is likely to use healthcare, or need inpatient care, over the next 12 months?
from datasets import load_dataset
ds = load_dataset("STRIPEDDONKEY/nairobi-longitudinal-healthcare-utilization")
train = ds["train"]        # 10,000 rows, 2023-09-01
validation = ds["validation"]  # 10,000 rows, 2024-09-01
test = ds["test"]          # 10,000 rows, 2025-09-01

Targets

Column Role Notes
AnyHealthcareUseNext12M Primary (binary) 24.86% / 26.46% / 36.05% positive across Train/Validation/Test — a strong, non-degenerate classification target
InpatientAdmissionNext12M Primary (binary) 4.99% / 4.68% / 6.87% positive — a minority-class target in this synthetic panel
EncounterCountNext12M Auxiliary / descriptive Real count; observed range in this release is 0–14 — see docs/LIMITATIONS.md
UtilizationIntensityBand Secondary / derived 0 / 1 / 2+, a convenience banding of EncounterCountNext12M
DiedDuringOutcomeWindow Diagnostic only Never a predictive feature. Structurally 0 in Train/Validation by construction — see limitations

Full column-by-column roles (identifier vs. predictor vs. target, and which columns to drop) are in docs/DATA_DICTIONARY.md.

This is a real balanced panel — not three independent samples

Earlier previews of this dataset sampled each split independently, so the citizens in Train, Validation and Test only partially overlapped. This release fixes that. All 10,000 citizens in train.csv are the same 10,000 citizens in validation.csv and test.csv — verified identical, not approximate. This makes the dataset usable for genuine per-citizen longitudinal analysis (e.g. "how did this person's prior-encounter trend change from 2023 to 2024, and did that predict their 2025 outcome?"), not just three cross-sectional snapshots that happen to share a schema.

This does introduce a real, disclosed trade-off — read docs/LIMITATIONS.md before using this dataset, in particular: - a structural survivorship bias (anyone who died 2023-2025 cannot appear in this panel), and - a structural age floor (nobody born after 2023-09-01 can appear — the youngest citizens currently under ~2 years old are entirely absent from this sample).

Splits are temporal, not random

data/longitudinal_panel/train.csv       -- 2023-09-01 observation date (10,000 rows)
data/longitudinal_panel/validation.csv  -- 2024-09-01 observation date (10,000 rows)
data/longitudinal_panel/test.csv        -- 2025-09-01 observation date (10,000 rows)

Do not re-shuffle these into a random split — SplitName encodes real calendar time, and the whole point of this release is to measure how well a model trained on earlier periods generalizes to a later one. See temporal drift, below.

Temporal drift (disclosed)

Healthcare-utilization prevalence rises noticeably at the Test (2025) date:

Split AnyHealthcareUseNext12M InpatientAdmissionNext12M
Train (2023) 24.86% 4.99%
Validation (2024) 26.46% 4.68%
Test (2025) 36.05% 6.87%

This pattern is real (it also holds in the full 12.18M-row certified population) but it is a consequence of the synthetic health-visit generator's volume growing over its generation timeline (see HLT-VISITFREQ-001 in Limitations) — not a genuine Nairobi epidemiological trend. Treat this dataset as a temporal-generalization / distribution-shift benchmark, not as a source of real-world trend estimates.

Feature groups

  • Demographics: age, sex, ward (WardId + human-readable WardName), sub-county, household size
  • Household / economic: employment status (formal/informal), K-12 school-record existence, tertiary-enrollment history
  • Insurance: coverage status as of the observation date, acquisition type, plan tier (79.1% of rows are uninsured as of their observation date — a measured synthetic-panel rate, not a real Nairobi estimate)
  • Prior health history (12/24-month windows before the observation date): encounter counts, inpatient/emergency counts, diagnosis counts, prescription counts, chronic-condition count, recent maternity-record flag

Repository contents

README.md                      -- this file (dataset card)
LICENSE                        -- CC-BY-4.0
CITATION.cff                   -- how to cite this dataset
data/
  longitudinal_panel/
    train.csv                    -- 10,000 rows, 2023-09-01
    validation.csv                -- 10,000 rows, 2024-09-01
    test.csv                      -- 10,000 rows, 2025-09-01
companion/
  README.md                      -- describes the 3 files below
  health_encounters.csv          -- 39,207 encounter-level rows for these same 10,000 citizens
  patient_journeys.csv           -- 32,877-event longitudinal log for the 750 richest histories
  health_population_profile.csv  -- 94-condition synthetic prevalence table (population-level)
docs/
  DATA_CARD.md                   -- dataset summary, config, task, split methodology pointer
  FEATURE_DICTIONARY.csv         -- machine-readable column dictionary
  DATA_DICTIONARY.md            -- full column-by-column roles and usage notes
  CERTIFICATION.md               -- what was verified, and how
  GENERATION_AND_CURATION.md     -- how this data is generated, certified and curated
  SPLIT_METHODOLOGY.md           -- the temporal (not random) split, cohort-selection formula
  TEMPORAL_LEAKAGE.md            -- point-in-time feature guards, disclosed simplifications
  PROVENANCE.md                  -- source views, scripts, generation lineage
  LIMITATIONS.md                 -- disclosed limitations, all independently verified
  MODELING_GUIDE.md              -- recommended baseline, common mistakes, companion-file usage
  LINEAGE.md                     -- logical + physical lineage, what's certified vs. companion
  RELEASE_NOTES.md               -- what changed, release over release
notebooks/
  01_quickstart.ipynb             -- fastest path to loading the panel and inspecting targets
  02_citizen_health_journey.ipynb -- one real citizen's full 51-year trajectory, worked example
  03_ml_baseline.ipynb            -- a working baseline (logistic regression + gradient boosting)
                                      for both primary targets, with ROC-AUC / PR-AUC / Brier score
  04_cohort_utilization_trends.ipynb -- ward/coverage-level descriptive cohort analysis
metadata/
  dataset_manifest.json          -- full file manifest (hashes, bytes, row counts)
  release_manifest.json          -- release-level summary
  certification_summary.json     -- 16-gate certification summary
  grounding_manifest.csv          -- machine-readable grounding tiers
  sample_manifest.csv            -- pointers to preview samples
  sha256sums.txt                 -- flat hash list

A sibling package, huggingface_dense_encounter/, is a scaffold only — see below.

Companion files: the clinical system behind the panel

train.csv / validation.csv / test.csv summarize each citizen-period as longitudinal features and forward outcomes. The companion/ folder provides the encounter-level history, longitudinal patient journeys and population health profile for the same 10,000 citizens — join on CitizenId. Visit-derived targets and prescription counts reconcile exactly to the released panel. See companion/README.md for scope, column definitions and limitations.

Dense Encounter companion (not yet available)

A separate sibling package, huggingface_dense_encounter/ (ships alongside this package, not inside it), is planned to deliver a deeper, per-encounter-grain companion (symptoms, procedures, lab results, claims, facility detail). It currently ships as a scaffold only, with no citizen data — gated on a real, tracked platform WorkItem (HLT-TRACELINEAGE-001). See that package's own README.md for the full explanation; do not expect data there yet.

Known limitations (disclosed, not hidden)

See docs/LIMITATIONS.md for the full list, independently verified against the released files: structural survivorship bias, the age floor, temporal drift, the HLT-UTILCAL-001 external utilization-calibration gap, HouseholdSize missingness (7.6%), and the scope of what this preview's own certification does and does not cover.

Full commercial dataset

This Hugging Face preview is a genuine but small (30,000-row) balanced-panel sample. The full certified dataset (12,177,749 rows, all 3 observation dates, the complete resident population) is available as a STRIPED DONKEY commercial product (ml-10), which passed a 16-gate structural and statistical certification (BuildRunId=28, re-certified BuildRunId=29) — see docs/CERTIFICATION.md.

License

CC-BY-4.0. Fully synthetic — no privacy, consent or re-identification concerns, since no real individuals are represented.

Details

Repository
STRIPEDDONKEY/nairobi-longitudinal-healthcare-utilization
Publisher
STRIPED DONKEY Organization
Task category
Tabular classification
Tags
synthetic-data, healthcare, longitudinal
Size category
10K<n<100K
Languages
en
Revision
bacd09ce7057e1479d4bf7f18d9a1f164813ed47
Last updated
2026-09-19

Files

38 files, 23.9 MB in total.

Data14 files · 23.8 MB
Documentation17 files · 64.6 KB
Other6 files · 25.1 KB
Repository1 file · 2.5 KB
Every file
FileTypeSizeSHA-256
companion/health_encounters.csvData9.1 MB—
companion/health_population_profile.csvData8.4 KB—
companion/patient_journeys.csvData2.9 MB—
data/longitudinal_panel/test.csvData3.9 MB—
data/longitudinal_panel/train.csvData3.9 MB—
data/longitudinal_panel/validation.csvData3.9 MB—
docs/FEATURE_DICTIONARY.csvData2.7 KB—
metadata/certification_summary.jsonData2.9 KB—
metadata/dataset_manifest.jsonData6.9 KB—
metadata/grounding_manifest.csvData2.4 KB—
metadata/release_manifest.jsonData1.6 KB—
metadata/sample_manifest.csvData167 B—
metadata/sha256sums.txtData3.2 KB—
samples/preview_15.csvData5.3 KB—
LICENSEDocumentation1.2 KB—
README.mdDocumentation11.0 KB—
REPAIR_LOG.mdDocumentation1.2 KB—
companion/README.mdDocumentation4.6 KB—
docs/CERTIFICATION.mdDocumentation6.2 KB—
docs/DATA_CARD.mdDocumentation2.4 KB—
docs/DATA_DICTIONARY.mdDocumentation5.7 KB—
docs/EVIDENCE_PACK.mdDocumentation2.7 KB—
docs/GENERATION_AND_CURATION.mdDocumentation2.7 KB—
docs/LIMITATIONS.mdDocumentation6.9 KB—
docs/LINEAGE.mdDocumentation3.0 KB—
docs/MODELING_GUIDE.mdDocumentation4.6 KB—
docs/PROVENANCE.mdDocumentation1.9 KB—
docs/RELEASE_NOTES.mdDocumentation3.9 KB—
docs/SPLIT_METHODOLOGY.mdDocumentation1.9 KB—
docs/TEMPORAL_LEAKAGE.mdDocumentation3.2 KB—
docs/VALIDATION_REPORT.mdDocumentation1.5 KB—
CITATION.cffOther573 B—
notebooks/01_quickstart.ipynbOther2.7 KB—
notebooks/02_citizen_health_journey.ipynbOther4.1 KB—
notebooks/03_ml_baseline.ipynbOther9.7 KB—
notebooks/04_cohort_utilization_trends.ipynbOther3.8 KB—
verify_release.pyOther4.3 KB—
.gitattributesRepository2.5 KB—

License and Download

License
cc-by-4.0
Access
No access gate
Download from STRIPED DONKEY Organization

Released by STRIPED DONKEY Organization through its official repository on Hugging Face. Read the license.