Allora, partiamo dalla singola nazione.
Secondo me considerarla come omogenea è troppo semplicistico.
Io avrei pensato a dividerla in "cluster" per età.
1-5 anni
6-10 anni
11-15 anni
etc. etc.
E in ogni cluster tenere traccia del numero di uomini e donne.

Ad ogni scadenza temporale (quando cioè girerà lo script che aggiorna i dati) una certa percentuale di unità passa da un cluster al successivo (cresce).
Su questo modello vanno poi inserite le nascite e le morti.

Se qualcuno ha altre proposte in merito si faccia avanti.
Tenete presente che il modello deve essere realistico ma non eccessivamente preciso e macchinoso, altrimenti diventa ingestibile.
Per capirci, Un cluster di ampiezza "un anno" aumenta il realismo ma ci fotte lo spazio sul database e i tempi di calcolo.