Skip to main content
STRIPED DONKEYWe do the heavy lifting.

Lagos · People & society

Employment.
Connect contracts, employers and work histories.

Read employment through the resident, employer and contract, with dates and working conditions kept together.

Public sample available

Published domain facts

Active employment contracts
1,191,037
Active self-employment
3,469,421
Employers populated
10,002
Historical Coverage
1940–2026

Overview

Domain scope

Read employment through the resident, employer and contract, with dates and working conditions kept together.

Read the published guide →

Known limits

Termination records currently represent employer collapse; other termination pathways remain unpopulated. Some catalogue job titles are unused. Education, household, banking and insurance links are unbuilt; the Transport pairing is registered but ungenerated. Milestones are sourced; intervening splits are calibrated.

Review the source limits →
Full scope reference 2 documented sections
Published domain scope.

Published domain scope.

Connect formal contracts, informal work, self-employment and wages to residents and employers. Dated records support longitudinal work histories.

  • Inspect contract start and end dates
  • Compare job families and employment types
  • Check how employers connect to residents
Active employment contracts
1,191,037
Active self-employment
3,469,421
Employers populated
10,002
Historical Coverage
1940–2026
Domain scope.

Domain scope.

Inspect the published scope and deployment boundaries.

Read the published detail

FCTE models formal contracts, self-employment, informal-sector work, wages, benefits, pensions, promotions, terminations and re-employment within the same synthetic city where people are born, live, get sick and eventually die.

Employment records remain connected to the citizens, wards and businesses that shape who works where — and to the same economic-event mechanism that raises and lowers hiring and termination pressure, year by year.

Lagos City Twin™ · 1940–2026

Samples & fields

Published sample records.

Free employment sample · rows and field definitions

Free employment sample

Resident nameEmployer nameEmployer sector codeJob titleEmployment arrangementEmployment start dateEmployment end dateGross monthly pay (local)
Abiola KaluAGR Enterprises 0006463AGRFarm WorkerFULL-TIME2022-12-23Not recorded134913.63
Ifeanyi RasheedHOS Enterprises 0000386HOSHR DirectorFULL-TIME2016-02-21Not recorded396965.46
Ebele Amara OfiliGOV Enterprises 0008387GOVAdmin OfficerFULL-TIME1980-03-20Not recorded108269.66

Showing 3 of 100 sample rows and 8 of 65 fields. “Not recorded” is a display label; downloads retain original values.

Published field definitions · 8 visible fields

Resident name

The resident name exactly as supplied.

Original field: FullName
Example: Abiola Kalu

Employer name

The name recorded for the employer associated with this record.

Original field: EmployerName
Example: AGR Enterprises 0006463

Employer sector code

The sector code recorded for the employer.

Original field: EmployerSectorCode
Example: AGR

Job title

The title of the role recorded for this employment.

Original field: JobTitle
Example: Farm Worker

Employment arrangement

The type of employment arrangement recorded, such as permanent or temporary.

Original field: EmploymentType
Example: FULL-TIME

Employment start date

The recorded employment start date.

Original field: StartDate
Example: 2022-12-23

Employment end date

The recorded employment end date, when present.

Original field: EndDate
Example: 2013-05-08

Gross monthly pay (local)

Gross monthly pay in local currency, as supplied.

Original field: GrossMonthlyLocal
Example: 134913.63

Research sample · rows and field definitions

Research sample

Employer nameJob titleEmployment arrangementContract referenceResident referenceHousehold referenceResident name
RET Enterprises 0009972HR DirectorFULL-TIME1142669191368283817349Aghogho Aghogho Ereola
GOV Enterprises 0008492Admin OfficerFULL-TIME475196212642552540721Tamuno Manafa
TRA Enterprises 0006107Operations ManagerFULL-TIME1262814235874302477404Rashidat Abdullahi

Showing 3 of 100 sample rows and 7 of 65 fields. “Not recorded” is a display label; downloads retain original values.

Published field definitions · 7 visible fields

Employer name

The name recorded for the employer associated with this record.

Original field: EmployerName
Example: RET Enterprises 0009972

Job title

The title of the role recorded for this employment.

Original field: JobTitle
Example: HR Director

Employment arrangement

The type of employment arrangement recorded, such as permanent or temporary.

Original field: EmploymentType
Example: FULL-TIME

Contract reference

The reference used to identify the contract associated with this record.

Original field: ContractId
Example: 1142669

Resident reference

The synthetic resident reference used to connect this record to other city data.

Original field: CitizenId
Example: 19136828

Household reference

The reference used to identify the household associated with this record.

Original field: HouseholdId
Example: 3817349

Resident name

The full name assigned to the synthetic resident.

Original field: FullName
Example: Aghogho Aghogho Ereola

Complete published field dictionary · 66 fields · sample 1
ContractIdContract reference
The reference used to identify the contract associated with this record.Example: 10815
CitizenIdResident reference
The synthetic resident reference used to connect this record to other city data.Example: 16687800
HouseholdIdHousehold reference
Household reference as supplied in the employment extract; absent values remain unfilled.Example: 501475
FullNameResident name
The resident name exactly as supplied.Example: Abiola Kalu
SnapshotDateSnapshot date
The supplied reference date. Hidden in displayed columns and retained in downloads.Example: 2026-07-02
DOBDate of birth
The resident’s recorded date of birth.Example: 2004-10-31
AgeAge at snapshot
Resident age at the supplied snapshot, including ended contracts.Example: 21
GenderGender
The gender recorded for the synthetic resident; M and F denote male and female in these samples.Example: F
EthnicGroupEthnic group
Ethnic group as supplied in the employment extract; absent values remain unfilled.Example: Igbo
WardNameWard name
Ward name as supplied in the employment extract; absent values remain unfilled.Example: Apapa-Wharf
WardIncomeMultiplierWard income multiplier
Ward income multiplier as supplied in the employment extract; absent values remain unfilled.Example: 1.46
HouseholdTypeHousehold type
Household type as supplied in the employment extract; absent values remain unfilled.Example: Extended
HouseholdRoleHousehold role
Household role as supplied in the employment extract; absent values remain unfilled.Example: Child
HouseholdSizeHousehold size
Household size as supplied in the extract.Example: 4
EmployerIdEmployer reference
The reference used to identify the employer associated with this record.Example: 8901
EmployerCodeEmployer code
The published code identifying the employer. Codes are retained as supplied in the source.Example: LOS-EMP/0006463
EmployerNameEmployer name
The name recorded for the employer associated with this record.Example: AGR Enterprises 0006463
EmployerSectorCodeEmployer sector code
The sector code recorded for the employer.Example: AGR
EmployerSizeEmployer size
The size category assigned to the employer in the published source.Example: MEDIUM
EmployerWardIdEmployer ward reference
Employer ward reference as supplied in the employment extract; absent values remain unfilled.Example: 78
EmployerWardNameEmployer ward name
Employer ward name as supplied in the employment extract; absent values remain unfilled.Example: Olodi-Apapa
EmployerIsActiveEmployer active
Whether the source marks the employer as active.Example: 1
DepartmentIdDepartment reference
The reference used to identify the department associated with this record.Example: 38885
DepartmentCodeDepartment code
Department code as supplied in the employment extract; absent values remain unfilled.Example: LOS-DEPT/0008901/13
DepartmentNameDepartment name
The name recorded for the department associated with this record.Example: Production
JobTitleIdJob title reference
The reference used to identify the job title associated with this record.Example: AGRO02
JobTitleJob title
The title of the role recorded for this employment.Example: Farm Worker
EmploymentTypeEmployment arrangement
The type of employment arrangement recorded, such as permanent or temporary.Example: FULL-TIME
StartDateEmployment start date
The recorded employment start date.Example: 2022-12-23
EndDateEmployment end date
The recorded employment end date, when present.Example: 2013-05-08
GrossMonthlyLocalGross monthly pay (local)
Gross monthly pay in local currency, as supplied.Example: 134913.63
ContractIsActiveContract active
Whether the source marks this employment contract as active.Example: 1
HasTerminationTermination recorded
Whether termination recorded, as supplied in this extract.Example: 0
TerminationDateTermination date
The date recorded for the termination event.Example: 2013-05-08
TerminationReasonTermination reason
The reason recorded for the termination event.Example: DEATH
IsVoluntaryVoluntary departure
Whether the employment termination is recorded as voluntary.Example: 0
HasPayrollRecordPayroll recorded
Whether payroll recorded, as supplied in this extract.Example: 1
LatestPayYearLatest pay year
Latest pay year as supplied in the employment extract; absent values remain unfilled.Example: 2026
LatestPayMonthLatest pay month
Latest pay month as supplied in the employment extract; absent values remain unfilled.Example: 7
LatestGrossAmountLatest gross amount
Latest gross amount as supplied in the employment extract; absent values remain unfilled.Example: 134913.63
LatestPayeAmountLatest PAYE deduction
Latest PAYE deduction as supplied in the employment extract; absent values remain unfilled.Example: 25633.59
LatestHealthInsuranceAmountLatest health insurance amount
Latest health insurance amount as supplied in the employment extract; absent values remain unfilled.Example: 2360.99
LatestPensionAmountLatest pension amount
Latest pension amount as supplied in the employment extract; absent values remain unfilled.Example: 10793.09
LatestNetAmountLatest net amount
Net pay in the latest supplied payroll record.Example: 96125.96
HasPensionContributionPension contribution recorded
Whether pension contribution recorded, as supplied in this extract.Example: 1
LatestEmployeeContribLocalLatest employee contrib local
Latest employee contrib local as supplied in the employment extract; absent values remain unfilled.Example: 10793.09
LatestEmployerContribLocalLatest employer contrib local
Latest employer contrib local as supplied in the employment extract; absent values remain unfilled.Example: 13491.36
BenefitCountBenefit count
The supplied count of benefit .Example: 3
LeaveRecordCountLeave record count
The supplied count of leave record .Example: 1
TotalDaysTakenTotal days taken
Total days taken as supplied in the employment extract; absent values remain unfilled.Example: 0
PromotionCountPromotion count
The supplied count of promotion .Example: 0
HasSelfEmploymentSelf-employment recorded
Whether self-employment recorded, as supplied in this extract.Example: 0
SelfEmploymentBusinessTypeSelf employment business type
Self employment business type as supplied in the employment extract; absent values remain unfilled.Example: Not recorded
SelfEmploymentIsActiveSelf employment is active
Self employment is active as supplied in the employment extract; absent values remain unfilled.Example: Not recorded
ProfessionalLicenseCountProfessional license count
The supplied count of professional license .Example: 0
ActiveProfessionalLicenseCountActive professional license count
The supplied count of active professional license .Example: 0
HasWorkPermitWork permit recorded
Whether work permit recorded, as supplied in this extract.Example: 1
WorkPermitTypeWork permit type
Work permit type as supplied in the employment extract; absent values remain unfilled.Example: EXPATRIATE-QUOTA
WorkPermitExpiryDateWork permit expiry date
Work permit expiry date as supplied in the employment extract; absent values remain unfilled.Example: 2024-12-23
WorkPermitStatusWork permit status
Work permit status as supplied in the employment extract; absent values remain unfilled.Example: EXPIRED
HasUnionMembershipUnion membership recorded
Whether union membership recorded, as supplied in this extract.Example: 1
UnionNameUnion name
The name recorded for the union associated with this record.Example: NLC-Affiliated
UnionMembershipIsActiveUnion membership active
Whether the union membership is marked as active in the source record. In the source file, 1 means yes and 0 means no.Example: 1
HasBusinessOwnershipBusiness ownership recorded
Whether business ownership recorded, as supplied in this extract.Example: 1
OwnedBusinessCountOwned business count
The supplied count of owned business .Example: 1
SampleHashSample reference hash
The supplied row-selection hash, retained for source traceability.Example: 0x0007456F9CB4C4C46BB8689C01AEDD391F9CBD69FC72621E0A579490424E51AB
Download complete field guide JSON ↓
Complete published field dictionary · 65 fields · sample 2
ContractIdContract reference
The reference used to identify the contract associated with this record.Example: 1142669
CitizenIdResident reference
The synthetic resident reference used to connect this record to other city data.Example: 19136828
HouseholdIdHousehold reference
The reference used to identify the household associated with this record.Example: 3817349
FullNameResident name
The full name assigned to the synthetic resident.Example: Aghogho Aghogho Ereola
SnapshotDateSnapshot date
The date represented by this extract of the synthetic data.Example: 7/2/2026 12:00:00 AM
DOBDate of birth
The resident’s recorded date of birth.Example: 2/17/1982 12:00:00 AM
AgeAge
The resident’s age in years in this record.Example: 44
GenderGender
The gender recorded for the synthetic resident; M and F denote male and female in these samples.Example: Male
EthnicGroupEthnic group
The ethnic group assigned to the synthetic resident.Example: Other
WardNameWard name
The name recorded for the ward associated with this record.Example: Papa-Ashafa
WardIncomeMultiplierWard income factor
The factor used to adjust modelled income for the ward; it is not a currency amount.Example: 0.65
HouseholdTypeHousehold type
The recorded household structure, such as a single-person or extended household.Example: Extended
HouseholdRoleRole in household
The resident’s recorded role within the household.Example: Head
HouseholdSizePeople in household
The number of residents recorded in the household.Example: 7
EmployerIdEmployer reference
The reference used to identify the employer associated with this record.Example: 1839
EmployerCodeEmployer code
The published code identifying the employer. Codes are retained as supplied in the source.Example: LOS-EMP/0009972
EmployerNameEmployer name
The name recorded for the employer associated with this record.Example: RET Enterprises 0009972
EmployerSectorCodeEmployer sector code
The published code identifying the employer sector. Codes are retained as supplied in the source.Example: RET
EmployerSizeEmployer size
The size category assigned to the employer in the published source.Example: ENTERPRISE
EmployerWardIdEmployer ward reference
The reference used to identify the employer ward associated with this record.Example: 85
EmployerWardNameEmployer ward name
The name recorded for the employer ward associated with this record.Example: Agungi
EmployerIsActiveEmployer active
Whether the employer is marked as active in the source record. In the source file, 1 means yes and 0 means no.Example: Yes
DepartmentIdDepartment reference
The reference used to identify the department associated with this record.Example: 8571
DepartmentCodeDepartment code
The published code identifying the department. Codes are retained as supplied in the source.Example: LOS-DEPT/0001839/2
DepartmentNameDepartment name
The name recorded for the department associated with this record.Example: Human Resources
JobTitleIdJob title reference
The reference used to identify the job title associated with this record.Example: HRES01
JobTitleJob title
The title of the role recorded for this employment.Example: HR Director
EmploymentTypeEmployment arrangement
The type of employment arrangement recorded, such as permanent or temporary.Example: FULL-TIME
StartDateStart date
The date recorded for the start event.Example: 7/1/2009 12:00:00 AM
EndDateEnd date
The date recorded for the end event.Example: 1/14/2012 12:00:00 AM
GrossMonthlyLocalGross monthly pay
The recorded monthly pay before deductions, in local currency.Example: 124291.78
ContractIsActiveContract active
Whether the contract is marked as active in the source record. In the source file, 1 means yes and 0 means no.Example: Yes
HasTerminationTermination recorded
Whether termination is present in the associated source record. In the source file, 1 means yes and 0 means no.Example: No
TerminationDateTermination date
The date recorded for the termination event.Example: 1/14/2012 12:00:00 AM
TerminationReasonTermination reason
The reason recorded for the termination event.Example: DEATH
IsVoluntaryVoluntary departure
Whether the employment termination is recorded as voluntary. In the source file, 1 means yes and 0 means no.Example: No
HasPayrollRecordPayroll record recorded
Whether payroll record is present in the associated source record. In the source file, 1 means yes and 0 means no.Example: Yes
LatestPayYearLatest pay year
The calendar year associated with latest pay in this record.Example: 2026
LatestPayMonthLatest pay month
The month associated with latest pay, recorded as a month number.Example: 7
LatestGrossAmountLatest gross amount
The recorded amount for latest gross, in the source’s local currency.Example: 124291.78
LatestPayeAmountLatest income tax deduction
The PAYE income tax amount in the latest payroll record, in local currency.Example: 18643.77
LatestHealthInsuranceAmountLatest health insurance amount
The recorded amount for latest health insurance, in the source’s local currency.Example: 2175.11
LatestPensionAmountLatest pension amount
The recorded amount for latest pension, in the source’s local currency.Example: 9943.34
LatestNetAmountLatest net amount
The recorded amount for latest net, in the source’s local currency.Example: 93529.56
HasPensionContributionPension contribution recorded
Whether pension contribution is present in the associated source record. In the source file, 1 means yes and 0 means no.Example: Yes
LatestEmployeeContribLocalLatest employee pension contribution
The employee contribution in the latest pension record, in local currency.Example: 9943.34
LatestEmployerContribLocalLatest employer pension contribution
The employer contribution in the latest pension record, in local currency.Example: 12429.18
BenefitCountBenefit count
The number of benefit records included in this extract for the associated person or entity.Example: 3
LeaveRecordCountLeave record count
The number of leave record records included in this extract for the associated person or entity.Example: 1
TotalDaysTakenLeave days taken
The total number of leave days recorded for the employment.Example: 0
PromotionCountPromotion count
The number of promotion records included in this extract for the associated person or entity.Example: 2
HasSelfEmploymentSelf employment recorded
Whether self employment is present in the associated source record. In the source file, 1 means yes and 0 means no.Example: No
SelfEmploymentBusinessTypeSelf employment business type
The category or type assigned to the self employment business in the source record.Example: Not provided
SelfEmploymentIsActiveSelf employment active
Whether the self employment is marked as active in the source record.Example: Not provided
ProfessionalLicenseCountProfessional license count
The number of professional license records included in this extract for the associated person or entity.Example: 0
ActiveProfessionalLicenseCountActive professional license count
The number of active professional license records included in this extract for the associated person or entity.Example: 0
HasWorkPermitWork permit recorded
Whether work permit is present in the associated source record. In the source file, 1 means yes and 0 means no.Example: No
WorkPermitTypeWork permit type
The category or type assigned to the work permit in the source record.Example: CERPAC
WorkPermitExpiryDateWork permit expiry date
The date recorded for the work permit expiry event.Example: 8/27/2027 12:00:00 AM
WorkPermitStatusWork permit status
The state recorded for the work permit in this extract.Example: ACTIVE
HasUnionMembershipUnion membership recorded
Whether union membership is present in the associated source record. In the source file, 1 means yes and 0 means no.Example: Yes
UnionNameUnion name
The name recorded for the union associated with this record.Example: NLC-Affiliated
UnionMembershipIsActiveUnion membership active
Whether the union membership is marked as active in the source record. In the source file, 1 means yes and 0 means no.Example: Yes
HasBusinessOwnershipBusiness ownership recorded
Whether business ownership is present in the associated source record. In the source file, 1 means yes and 0 means no.Example: No
OwnedBusinessCountOwned business count
The number of owned business records included in this extract for the associated person or entity.Example: 0
Download complete field guide JSON ↓
Additional records and schema context 1 documented sections
From city labor structure to one citizen's contract.

From city labor structure to one citizen's contract.

Inspect the published definitions and release context.

Read the published detail

Direct synthetic records from the current City Twin™ release. No record represents a real worker.

Download 100-Row Research Sample (CSV) →

Explore Employment Data →

Public entity familyRepresentsDisclosure boundary
Employer contextSynthetic employer, sector and geography contextPhysical employer data structure is controlled
Work relationshipResident employment type and work-history contextExact fields, placement weights and dependency logic are controlled
Self-employmentInformal and self-employment contextAssignment logic and calibration parameters are controlled
Pay & transition contextCompensation, payroll and termination contextExact salary distributions and lifecycle rules are controlled
ContractIdEmployerSectorJobTitleTypeGross/moStartDate

Connections

Known and possible relationships

Inspect the published definitions and release context.

Domain or contextRelationship and published scope
DemographicsCitizen identity, date of birth and death bound the working life; ward context locates the resident.
BusinessEmployment contracts can connect through employer and sector context. The business reference is optional; it is not assumed for every contract or self-employment record.
Area contextEmployer placement and informal work can be analysed by ward. A shared area does not establish a worker-to-business record link.
TransportA cross-domain pair is registered, but the published Employment guide says the Transport side is not generated. This is a possible commute relationship, not an available employment-to-trip join.
Social ProtectionEmployment and benefit eligibility are analytically related. No direct employment-to-benefit causal link is asserted.
EnergyThe Lagos guide documents employer context used to classify business electricity tariffs. This city-specific relationship is not asserted for Nairobi.
Full relationship reference 1 documented sections
Known and possible relationships.

Known and possible relationships.

Inspect the published definitions and release context.

Read the published detail

Connections follow the published domain scope. Optional, contextual and planned relationships retain their stated limits below.

Domain or contextRelationship and published scope
DemographicsCitizen identity, date of birth and death bound the working life; ward context locates the resident.
BusinessEmployment contracts can connect through employer and sector context. The business reference is optional; it is not assumed for every contract or self-employment record.
Area contextEmployer placement and informal work can be analysed by ward. A shared area does not establish a worker-to-business record link.
TransportA cross-domain pair is registered, but the published Employment guide says the Transport side is not generated. This is a possible commute relationship, not an available employment-to-trip join.
Social ProtectionEmployment and benefit eligibility are analytically related. No direct employment-to-benefit causal link is asserted.
EnergyThe Lagos guide documents employer context used to classify business electricity tariffs. This city-specific relationship is not asserted for Nairobi.

Domain guide

Employment · archived guide edition

Striped Donkey V5.89 - 7 September 2026

Counts, prices and “live/today” certification statements reflect this dated edition. They are not a current rerun or offer. The current scope, known limits and accepted quote take priority.

Published scope and limits

Termination records currently represent employer collapse; other termination pathways remain unpopulated. Some catalogue job titles are unused. Education, household, banking and insurance links are unbuilt; the Transport pairing is registered but ungenerated. Milestones are sourced; intervening splits are calibrated.

Read the source limits →
Accessible HTML reference 5 documented sections
Modelled entities.

Modelled entities.

Explore the entities and states represented by this domain.

Read the published detail

FCTE Employment represents the formal and informal work, income, benefits and career events needed to model the labor market within the wider city.

Employers, departments, job titles and contracts — Compensation context, employment type, payroll history and statutory-deduction context.

Represents income-generating work outside formal payroll structures, including self-employment, casual and gig work, and small-enterprise activity, with dated work and income context linked to the synthetic resident lifecycle.

Promotions, terminations and re-employment — a citizen can change jobs, be laid off and start a new contract elsewhere, all as dated, connected rows.

A yearly, per-city historical employment index modifier that shifts formal-employment formation and termination pressure — the labor market reacts to conditions, it doesn't run on autopilot.

Real, fully defunct national employers populated so their real collapse ripples through citizens' employment history — not a fabricated ongoing company.

Leave, employee benefits, pension contributions, union membership, work permits and professional licenses tied to the same contract.

Synthetic, not administrative payroll data: FCTE Employment does not reproduce a real employer's payroll registry or a real citizen's pay slip. It generates statistically grounded synthetic employment relationships bounded by real regulatory and wage frameworks.

Work moves through a life, not just a payroll run.

Work moves through a life, not just a payroll run.

Inspect the published definitions and release context.

Read the published detail

Employment is not a single status flag attached to a citizen — it moves through the same lifecycle stages every other domain does, bounded by the citizen's own demographic history.

Employment stays temporally consistent with the citizen's own demographic history — a contract cannot start before age 18 or after the citizen's own death. certification check / certification check enforce the age-18 floor for contracts and self-employment; certification check enforces that a contract cannot start after its own citizen's death date.

Employment conditions respond to the city’s historical economic context.

Employment conditions respond to the city’s historical economic context.

Inspect the published definitions and release context.

Read the published detail

FCTE carries a yearly city-level economic condition signal into employment formation and termination pressure. The public site shows direction and historical context, but not the exact transformation formula, clamps, thresholds or coefficients.

Years without a material shock retain the city’s calibrated employment structure.

Contractionary periods increase informal-employment and termination pressure; expansionary periods move the model in the opposite direction. Exact response magnitudes are controlled.

Interpretation boundary: economic context changes population-level synthetic tendencies; it does not assert that a specific real person’s employment outcome was caused by a particular policy or event.

The labor market remembers its collapses.

The labor market remembers its collapses.

Inspect the published definitions and release context.

Read the published detail

this City Twin™ carry real, fully defunct national employers — populated so their genuine collapse traces as employment history for the citizens who worked there, not a fabricated ongoing company. Every Termination row that exists on Lagos today traces to one of these four employers. Select a marker to see the underlying evidence.

Cohort date windows and headcount milestones above are real and sourced (Wikipedia, Business Daily Africa, Capital Business, African Pilot Magazine, TechCabal). The size split within each window is this engine's own modeled shape, not an individually sourced percentage.

Explore Historical Employer Records →

Evidence becomes a synthetic career through a controlled lifecycle.

Evidence becomes a synthetic career through a controlled lifecycle.

Review the documented generation rules and assumptions.

Read the published detail

The public model shows the employment lifecycle and evidence categories. Exact phase ordering, thresholds, assignment probabilities, repair logic and orchestration remain internal.

Labor-force, sector and historical-employer evidence.

Area and sector context derived from published city evidence.

City-level behavior is calibrated to cited evidence and checked at release level. Exact weights, coefficients and thresholds remain controlled.

Individual synthetic assignments are generated under controlled domain rules. Exact sampling, assignment order and parameterization are not published.

View Employment release history →

Evidence & limits

Scope and known limits

Termination records currently represent employer collapse; other termination pathways remain unpopulated. Some catalogue job titles are unused. Education, household, banking and insurance links are unbuilt; the Transport pairing is registered but ungenerated. Milestones are sourced; intervening splits are calibrated.

Evidence, findings and release history 3 documented sections
Known limits.

Known limits.

Termination records currently represent employer collapse; other termination pathways remain unpopulated. Some catalogue job titles are unused. Education, household, banking and insurance links are unbuilt; the Transport pairing is registered but ungenerated. Milestones are sourced; intervening splits are calibrated.

Read the published detail

Automatic contract closure for deceased citizens is now a permanent part of Lagos employment generation.

Every Termination row live on Lagos Twin™ today traces to a historical employer collapse (REDUNDANCY). The broader day-to-day resignation, retirement and misconduct termination pathway is built into the model but has not yet populated non-collapse rows.

No synthetic citizen corresponds to a real worker. Job titles, wages and employer names are statistically generated, not drawn from a real payroll registry.

The job title catalog contains more valid titles than are realized in the current generated employment population. Catalog coverage is broader than observed usage, and no certification rule currently requires every catalog title to appear in a generated contract or employee record.

The real dated milestones — employer scale, closure and liquidation dates — are sourced. The modeled split of synthetic terminations between those milestones is FCTE calibration, not an individually sourced percentage.

Education, Households, Finance/Banking and Insurance links to Employment are not yet built in this engine. The Transport pairing (XREL-004) is registered but not yet generated on the Transport side.

View All Employment Limitations →

Does the synthetic labor market resemble the city?

Does the synthetic labor market resemble the city?

Inspect the published definitions and release context.

Read the published detail

Three realism dimensions are already sourced and passing on this City Twin™ — not a placeholder pass.

Open Employment Realism Report →

The full certification battery (structural, temporal, career, qualification, licence, wage-floor and salary-reconciliation checks together) runs live against the Lagos release. 37 of 41 checks pass; the remaining 2 are known, disclosed residuals with a published rationale, not silent gaps — a credentialed title with no matching completed education record is reported as unverified rather than backfilled with a fabricated qualification, and the same discipline applies to the license-coverage check.

Explore Every Employment Check →

Employment V1 froze 2026-08-18 at FCTE Quality Rating 9.7/10 — a post-freeze corrective patch (v2.0.1) subsequently reduced a Lagos department-assignment residual from 5,334 to 0 by widening 6 employer-department size thresholds, with zero unrelated regressions. See the full disclosed-residual rationale →

  • certification check — Employer volume: 20,004 combined
  • certification check / E04 — Contract 2,105,311 active / SelfEmployment 4,134,020 active
  • certification check / E07 — resident-reference integrity — 0 violations
  • certification check — Department volume: 40,008 — exactly 4× Employer, Lagos (fixed 2026-08-03, was an 8-row near-miss)
  • certification check / E17 — Contract / SelfEmployment StartDate within [DOB+18, NowDate] — 0 violations
  • certification check — EndDate ≥ StartDate — 0 violations
  • certification check — Termination ≥ Contract StartDate — 0 violations
  • certification check — Contract StartDate ≤ own citizen DeathDate — 0 violations
  • certification check — 3 distinct EmploymentType values in use
  • certification check — Wage spread > 5× min-to-max, Lagos
  • certification check — IsActive/Termination-row consistency — 0 mismatches
Employment improves as evidence and models improve.

Employment improves as evidence and models improve.

Inspect the published definitions and release context.

Read the published detail

View Full Employment Release History →

Access & datasets

Scope your data request

Choose the records, dates and connected domains you need. Final availability, delivery scope and licensing are agreed with your quote.

Published access and recorded examples 1 documented sections
Recorded example.

Recorded example.

Published release reference · These recorded checks are not a current rerun.

Explore the supplied synthetic example and its source references.

Read the published detail

A real, documented national-carrier collapse exists in Employer — Nigeria's flag airline, insolvent and grounded in 2003 after decades of decline.

Station Supervisor at Nigeria Airways, ₦78,250/mo, 1979-01-26 → 2004-02-08 — a synthetic Contract aligned to the documented employer-collapse timeline.

Falls inside the documented Nigeria Airways liquidation window represented by the historical employer-collapse layer.

Station Supervisor at a different employer, ₦74,337.50/mo, active today — a real, published Contract row picking up 149 days after the Nigeria Airways termination.

Available as Standalone Domain · Multi-Domain Bundle · Full City Twin™