Data Codebook · Standardised Resource

Nigeria Kidnap-for-Ransom Incident Dataset (K4R-NGA)

Version 1.0.0Records 1,748Coverage 2014–2026Licence CC-BY-4.0Format CSV · Parquet · JSON · API

This codebook defines the fields of the K4R-NGA dataset: a standardised, media-derived record of kidnap-for-ransom incidents in Nigeria, with geocoding, outcome coding, and GRID3 infrastructure and socioeconomic-vulnerability context. Each row is one incident. The dataset covers media-visible incidents only and is not a census of all kidnapping in Nigeria; figures should be read as the reported record. The dataset ships as CSV, Parquet and JSON with a Frictionless datapackage.json, and is queryable through a read-only public API.

Forty-four fields in six groups. Controlled vocabularies are listed under “Allowed values”; a bullet (●) marks the required primary key.

Identifiers

FieldTypeDefinitionAllowed values
incident_id ●stringStable unique identifier, K4R-NGA-{version}-{running number}.—
dataset_version stringSemantic version of the release this row belongs to.—
last_updated dateDate the release was generated.—

Event — when and where

FieldTypeDefinitionAllowed values
kidnap_date dateDate of the abduction (ISO 8601). Null when not stated.—
date_precision integer1 exact day; 2 day stated or inferred; 3 month/year only.1, 2, 3
kidnap_time stringTime of day if reported. Not populated in v1.0.0 (reserved for future releases).—
kidnap_state stringNigerian state of the abduction.Abia, Adamawa, Akwa Ibom, Anambra, Bauchi, Bayelsa, Benue, Borno, Cross River, Delta, Ebonyi, Edo, Ekiti, Enugu, FCT, Gombe, Imo, Jigawa, Kaduna, Kano, Katsina, Kebbi, Kogi, Kwara, Lagos, Nasarawa, Niger, Ogun, Ondo, Osun, Oyo, Plateau, Rivers, Sokoto, Taraba, Yobe, Zamfara
kidnap_lga stringLocal Government Area (from point-in-polygon on GRID3 boundaries).—
kidnap_location stringNamed place of the abduction.—
kidnap_location_type stringSetting class of the abduction site.Church, Farm, Filling Station, Highway, Home, Hotel, House, Market, Mosque, Railway, Road, School, Town
location_setting stringImmediate setting (e.g. Car for road/highway).—
latitude numberWGS84 latitude of the geocoded location (town centroid).—
longitude numberWGS84 longitude of the geocoded location (town centroid).—
geo_precision integer2 town centroid; 3 state-level only.2, 3
zone stringNorth or South Nigeria.North, South

Actors and victims

FieldTypeDefinitionAllowed values
perpetrator_type stringCoarse actor category inferred from report language.insurgent_group, bandit_group, criminal_gang, unspecified_armed_group
perpetrator_count numberNumber of perpetrators if stated. Not populated in v1.0.0 (reserved for future releases).—
total_kidnapped numberNumber of victims abducted in the incident.—
victim_gender_profile stringGroup-level gender inferred from report language.Male, Female, Mixed, Unknown
victim_name stringWithheld from the public release. Names of identifiable crime victims are personal data and are not published. The field is retained for schema stability and is always empty. See SECURITY.md.— (always empty)
victim_ethnicity stringEthnicity if reported. Not populated in v1.0.0 (reserved for future releases).—
victim_occupation stringOccupation if reported. Not populated in v1.0.0 (reserved for future releases).—
victim_residence_state stringHome state of the victim if reported. Not populated in v1.0.0 (reserved for future releases).—

Process and outcome

FieldTypeDefinitionAllowed values
ransom_demanded stringWhether a ransom was demanded.yes, no, unknown
ransom_demanded_amount numberAmount demanded, in ransom_currency.—
ransom_currency stringCurrency of ransom amounts (default NGN).—
ransom_paid stringWhether a ransom was paid.yes, no, unknown
ransom_paid_amount numberAmount paid, in ransom_currency.—
release stringWhether the victim(s) were released.yes, no, unknown
release_status stringCondition at resolution.Alive, Deceased, Unknown
kidnap_duration_days numberDays in captivity if derivable. Not populated in v1.0.0 (reserved for future releases).—
total_released numberNumber released if stated. Not populated in v1.0.0 (reserved for future releases).—
fatalities numberDeaths attributed to the incident (conservative).—
redemptor stringParty that mobilised/paid the ransom, if reported. Not populated in v1.0.0 (reserved for future releases).—

Provenance

FieldTypeDefinitionAllowed values
news_sources stringReporting outlet(s).—
source_urls stringArticle URL(s).—
publication_date dateDate of the underlying report.—
extraction_confidence number0–1 confidence of the automated extraction. Not populated in v1.0.0 (reserved for future releases).—
coding_method stringHow the row was coded.automated_nlp, hand_coded
needs_review booleanFlagged for manual verification.—

Derived context (spatial)

FieldTypeDefinitionAllowed values
nearest_police_km numberDistance to nearest police station (OpenStreetMap; indicative).—
nearest_major_road_km numberDistance to nearest trunk/primary road (GRID3).—
lga_vulnerability_band integerGRID3 socioeconomic vulnerability band (1–5) of the incident LGA.1, 2, 3, 4, 5
buildings_within_5km numberBuilding count within 5 km (GRID3 settlement extents); built-up intensity.—
Provenance and confidence. Rows are coded by automated natural-language extraction from news reports (coding_method = automated_nlp), each carrying an extraction_confidence and a needs_review flag. Spatial context fields are joins to external layers (OpenStreetMap police; GRID3 roads, settlements and LGA vulnerability) and inherit those layers’ limitations; incident coordinates are town centroids (geo_precision = 2), so distances are indicative rather than metre-accurate.