Methodology Article | | Peer-Reviewed

Calculating Childhood Mortality Rates from Algerian MICS Surveys Using the DHS.rates Package

Received: 16 August 2025     Accepted: 29 August 2025     Published: 16 January 2026
Views:       Downloads:
Abstract

The R DHS.rates package is a new statistical tool specifically designed to calculate key indicators for infant and child mortality, as well as fertility, at both national and subnational levels, using Demographic and Health Survey (DHS) data and, with minor adjustments, Multiple Indicator Cluster Survey (MICS) data. In addition to point estimates, the package also provides precision measures such as standard errors (SE), design effects (DEFT), relative standard errors (RSE), and confidence intervals. The package has been developed in accordance with the DHS Guide to Statistics and the DHS Sampling and Household Listing Manual, ensuring compliance with internationally recognized standards. By applying the DHS.rates R package to the Algerian MICS4 survey data (2012), we recalculated childhood mortality rates and compared them with the figures published in the official MICS report. The analysis revealed significant discrepancies, suggesting that the estimates originally obtained using the SPSS syntax package provided by the MICS program were incorrect. These inconsistencies were corrected using the DHS.rates package and validated by the SYNCMRATES module in Stata, both of which rely on standardized, transparent, and reliable methodologies. This study highlights the importance of using well-tested analytical tools for the accurate computation of key demographic indicators, which are essential for research, policy formulation and monitoring progress toward national and international development goals.

Published in Medicine and Life Sciences (Volume 2, Issue 1)
DOI 10.11648/j.mls.20260201.11
Page(s) 1-9
Creative Commons

This is an Open Access article, distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution and reproduction in any medium or format, provided the original work is properly cited.

Copyright

Copyright © The Author(s), 2026. Published by Science Publishing Group

Keywords

DHS.rates Package, DHS, MICS, Infant Mortality Rates, DHS Guide to Statistics

1. Introduction
The DHS Program has conducted over 300 national surveys in more than 90 countries over the past 35 years. These surveys provide critical information on fertility, family planning, maternal and child health, and childhood mortality . The surveys follow a two-stage sampling design, where census Enumeration Areas (EAs) are selected as Primary Sampling Units (PSUs), and households are selected from each PSU. Users can download the datasets in formats such as SPSS, SAS, and STATA for raw data analysis .
DHS or MICS Birth history data, which is known to be used in the calculation of keys fertility indicators, are used to calculate childhood mortality indicators too, such as the neonatal mortality rate (NNMR), post-neonatal mortality rate (PNMR), infant mortality rate (IMR), child mortality rate (CMR), and under-five mortality rate (U5MR) .
Measuring childhood mortality using household surveys is especially important in low- and middle-income countries where civil registration systems are weak or nonexistent . While CSPro is used by the DHS program to calculate these indicators, it is not suitable for data users as a statistical tool.
STATA users can use the SYNCMRATES package , while SPSS users can rely on syntax files provided by the MICS survey program . Similarly, the DHS.rates package was developed to allow R users to compute fertility and childhood mortality indicators . It is compatible with DHS and MICS survey data.
In theory, the three tools - the MICS4 SPSS package, the Stata SYNCMRATES module, and the chmort function from the R DHS.rates package - should produce the same results, since they all use the same definitions, methods, and underlying survey data. However, our investigation shows notable differences, particularly between the SPSS package estimates and those from Stata and R. This is why our study purpose is to implement and compare the results of these three tools, document the differences observed, and provide possible explanations for the distortions. This comparative assessment not only highlights the limitations of the MICS4 SPSS package but also highpoints the importance of using standardized and transparent analytical tools to ensure the accuracy, reliability, and reproducibility of key demographic indicators.
2. Data and Methods
2.1. Childhood Mortality Indicators
Childhood mortality rates refer to the number of deaths per 1,000 live births during a specified time period. In DHS and MICS surveys, five childhood mortality rates are calculated using a synthetic cohort life table approach, which combines mortality probabilities from small age segments into standard age intervals :
1) Neonatal mortality (NNMR): the probability of dying in the first month of life.
2) Postneonatal mortality (PNMR): the probability of dying between the neonatal period and the first birthday; calculated as the difference between infant and neonatal mortality.
3) Infant mortality (IMR): the probability of dying before the first birthday.
4) Child mortality (CMR): the probability of dying between the first and fifth birthdays.
5) Under-five mortality (U5MR): the probability of dying before the fifth birthday.
These rates are generally calculated based on either a five-year (like in our case) or ten-year reference period before the survey.
2.2. Required MICS Variables
In this study, we use data from the Algerian MICS surveys , which include birth history information reported by de facto women aged 15–49. The variables include live births, sex, survival status, age at death, and birth/death dates coded in Century Month Code (CMC) format. Variables accounting for sampling design and weights are also required.
Table 1. Key Variables for Childhood Mortality Calculation from MICS.

Information

Variables

Date of interview (CMC)

WDOI

Child date of birth (CMC)

BH4C

Child age at death

BH0C

Primary sampling unit (Cluster)

HH1

Women’s individual sample weight

Wmweight

Sample strata

HH7

2.3. Using the DHS.rates Package (Chmort Function)
The following R code illustrates how to compute childhood mortality rates from the Algeria MICS4-2012 data and compare the obtained results with the official MICS report.
First, we have to install a required package.
install.packages("DHS.rates")
library(DHS.rates)
library(haven)
Secondly, we have to indicate to R the directory where we put the datafile (br.dta).
getwd()
setwd("C:/Users/Snow/Desktop/R_Exercices/DHS_rates")
list.files()
Finally, we have to open the data file and use CHMORT function.
br <- read_dta("MICS4-ALG_br.dta")
chmort(br, Strata = "HH7", Cluster = "HH1", Weight = "wmweight", Date_of_interview = "WDOI", Date_of_birth = "BH4C", Age_at_death = "BH9C")
3. Results
3.1. Comparing Results from DHS.rates and MICS Report
Table 2 compare the results from the DHS.rates calculations and the official MICS4-2012 report.
Table 2. Gap between DHS.rates mortality rates and MICS report results.

R DHS.rates package

MICS 2012 report (MICS4 SPSS syntax pack)

11]

Gap

NMR

15.76

15.7

0

PNNMR

6.03

5.7

0.33

IMR

21.79

21.4

0.39

CMR

2.79

2.8

0.01

U5MR

24.52

24.1

0.51

As we can see from Table 2, there are a little difference between PNMR from DHS.rates (6.03) and the one published in MICS reports (5.7). The DHS.rates IMR was 21.79 vs 21.4 from MICS reports, and the DHS.rates U5MR was 24.52 vs 24.1 from MICS reports. These small differences confirm the accuracy of DHS.rates, but why there are a difference?
3.2. Calculating Infant Mortality Rates by Using SYNCMRATES Stata Package
To further validate the results, we used the SYNCMRATES Stata package, developed using the same methodology. Table 3 shows that the results are identical to those produced by DHS.rates.
Table 3. DHS.rates mortality rates and SYNCMRATES results.

R DHS.rates package

MICS 2012 report (MICS4 SPSS syntax pack)

11]

SYNCMRATES package

NMR

15.76

15.7

0.157573

PNNMR

6.03

5.7

0.0060314

IMR

21.79

21.4

0.217887

CMR

2.79

2.8

0.0027948

U5MR

24.52

24.1

0.0245226

We also replicated the analysis using the Trevor Croft (DHS expert) Stata code shared on DHS forum . The results (Table 4) are consistent with the previous outputs.
Table 4. Infant mortality rates obtained using Trevor Croft Stata script .

Rates

NMR

PNMR

IMR

CMR

U5MR

Values

15.75732

6.031393

21.78872

2.794921

24.52272

3.3. Algeria MICS6-2019 Case Study
This time, we followed the same approach with MICS6-2019 data using DHS.rates and SYNCMRATES. Table 5 shows that DHS.rates and SYNCMRATES produced results identical to those published in the MICS6 report (Table 5), confirming the validity of the tool and that there are no problems with MICS6 SPSS Syntax pack.
Table 5. ALGERIA MICS6-2019 Infant mortality rates (Report results vs. DHS.rates and SYNCMRATES).

R DHS.rates package

MICS 2019 report (SPSS syntax pack)

14]

SYNCMRATES package

NMR

12.41

12

0.124086

PNNMR

4.38

4

0.0043821

IMR

16.79

17

0.0167907

CMR

2.16

2

0.0021589

U5MR

18.91

19

0.0189134

Additionally, we used the MICS6 SPSS syntax pack (by Trevor Croft) on MICS4 data. The results (Table 6, 2nd column) matched those from DHS.rates (1st column) and SYNCMRATES (3rd column), demonstrating a flaw in the original MICS4 SPSS script.
Table 6. ALGERIA MICS4-2012 Infant mortality rates (MICS6 Syntax pack results vs. DHS.rates and SYNCMRATES).

R DHS.rates package

(MICS6 SPSS syntax pack)

14]

SYNCMRATES package

NMR

15.76

15,76

0.157573

PNNMR

6.03

6,03

0.0060314

IMR

21.79

21,79

0.217887

CMR

2.79

2,79

0.0027948

U5MR

24.52

24,52

0.0245226

4. Discussion and Conclusion
Several software tools, such as the DHS.rates package in R and the SYNCMRATES module in Stata, have proven to be reliable and user-friendly solutions for calculating key demographic indicators. These tools are based on well-established methodologies and provide an accessible alternative to proprietary scripts or complex platforms, making them valuable resources for researchers and public health analysts working with DHS or MICS survey data.
The findings of this study reveal that the SPSS syntax pack provided with the MICS4 survey tools contained errors in the calculation of childhood mortality rates and even fertility rates , which likely led to inaccuracies in the published results. This issue was later acknowledged and addressed by the MICS program through the development of a revised and improved syntax, introduced in MICS6. The updated version, developed by Trevor Croft, produces estimates that are consistent with those obtained from the DHS.rates R package and the SYNCMRATES Stata module, confirming its reliability and accuracy.
Abbreviations

CMC

Century Month Code

CMR

Child Mortality Rate

DEFT

Design Effects

DHS

Demographic and Health Survey

EA

Enumeration Area

IMR

Infant Mortality Rate

MICS

Multiple Indicator Cluster Survey

MHHR

Ministry of Health and Hospital Reform

NMR

Neonatal Mortality Rate

PNNMR

Post-neonatal Mortality Rate

PSU

Primary Sampling Unit

SE

Standard Errors

U5MR

Under-Five Mortality Rate

Author Contributions
Mesli Redhouane: Conceptualization, Formal Analysis, Investigation, Methodology, Software, Supervision, Validation, Writing – original draft
Madani Salima: Data curation, Project administration, Resources, Visualization, Writing – review & editing
Conflicts of Interest
The authors declare no conflicts of interest.
Appendix
This includes an annotated STATA script by Trevor Croft (March 9, 2018) for computing childhood mortality indicators using synthetic cohort methodology.
* Example of early childhood mortality rates calculations
* Trevor Croft, March 9, 2018
* Change directory to the data directory
cd "C:\Users\xxxx\Data"
* Open DHS dataset - births recode file
use v005 v008 b3 b5 b7 using "IABR71FL.DTA", clear
* Create variables for time period limits - need to use variables as these change from case to case
gen t1 =.
gen t2 =.
* Initialize local variable lists used later
local vlist
local vlist2
* Loop through 5-year time periods
forvalues period = 0/4 {
* Calculate upper limit of time period
replace t2 = v008 - 60*`period'
* Calculate lower limit of time period
replace t1 = t2 - 60
* List age group lower limits
local agegroups 0 1 3 6 12 24 36 48 60
* Turn thse into tokens to use for the upper limits of the age groups
tokenize `agegroups'
* Loop through the age groups
foreach age of numlist `agegroups' {
* Ignore the 60+ age group - this was just to set the upper limit for the last age group - see a2
if (`age' < 60) {
* Create local for lower limit of age group - use locals as these are constants
local a1 = `age'
* Create local for upper limit of age group = the lower limit of the next age group
local a2 = `2'
* Cohort A numerator
gen numA`age'_`period' = ((`a1' <= b7 & b7 < `a2') & (t1 - `a2' <= b3 & b3 < t1 - `a1'))
* Cohort B numerator
gen numB`age'_`period' = ((`a1' <= b7 & b7 < `a2') & (t1 - `a1' <= b3 & b3 < t2 - `a2'))
* Cohort C numerator
gen numC`age'_`period' = ((`a1' <= b7 & b7 < `a2') & (t2 - `a2' <= b3 & b3 < t2 - `a1'))
* Cohort A denominator
gen denA`age'_`period' = ((b5 == 1 | `a1' <= b7) & (t1 - `a2' <= b3 & b3 < t1 - `a1'))
* Cohort B denominator
gen denB`age'_`period' = ((b5 == 1 | `a1' <= b7) & (t1 - `a1' <= b3 & b3 < t2 - `a2'))
* Cohort C denominator
gen denC`age'_`period' = ((b5 == 1 | `a1' <= b7) & (t2 - `a2' <= b3 & b3 < t2 - `a1'))
* Count half for deaths for cohort C, except for the last period where all deaths are counted
local f = 0.5
if (`period' == 0) {
local f = 1
}
* Sum numerators from cohorts A, B and C for this case
gen num`age'_`period' = 0.5*numA`age'_`period' + numB`age'_`period' + numC`age'_`period'*`f'
* Sum denominators from chorts A, B and C for this case
gen den`age'_`period' = 0.5*denA`age'_`period' + denB`age'_`period' + denC`age'_`period'*0.5
* Generate list of numerator and denominator variables for period and age for collapse command below
local vlist `vlist' num`age'_`period' den`age'_`period'
* Similarly generate list of numerator and denominator variables for period only for reshape command below
if (`period' == 0) {
local vlist2 `vlist2' num`age'_ den`age'_
}
}
* Shift the token list to the next age group
mac shift
}
}
* Sum all numerators and denominators - weighted sum
collapse (sum) `vlist' [pw=v005/1000000]
* Add a variable to act as ID for the reshape
gen x = 0
* Reshape long by age group
reshape long `vlist2', i(x) j(period)
* Drop the underscore (_) on the end of variable names
rename *_ *
* Reshape now for periods
reshape long num den, i(period) j(a1)
* Drop the x variable as we no longer need it
drop x
* Generate the upper bounds of the age groups
gen a2 = a1[_n+1]
replace a2 = 60 if a1 == 48
* Calculate the age group mortality probabilities
gen death = num / den
* Calculate the age group survival probabilities
gen surv = 1 - death
* Generate product of survival probabilities:
gen prodsurv = surv if a1 == 0
replace prodsurv = surv * prodsurv[_n-1] if a1 > 0
* Generate product of survival probabilities for child mortality rate, starting at 12 months
gen prodsurv2 = surv if a1 == 12
replace prodsurv2 = surv * prodsurv2[_n-1] if a1 > 12
* Neonatal mortality rate
gen nmr = 1000*(1-prodsurv) if a2 == 1
* Postneonatal mortality rate (calculated later)
gen pnmr =.
* Infant mortality rate
gen imr = 1000*(1-prodsurv) if a2 == 12
* Child mortality rate
gen cmr = 1000*(1-prodsurv2) if a2 == 60
* Under-five mortality rate
gen u5mr = 1000*(1-prodsurv) if a2 == 60
* Capture just the rates
collapse (min) nmr pnmr imr cmr u5mr, by(period)
* Postneonatal mortality rate = IMR - NMR
replace pnmr = imr - nmr
* Now see the results
list
Figure 1. Childhood mortality rates from DHS.rates calculations.
Figure 2. Childhood mortality rates from Algeria MICS4-2012 reports.
Figure 3. Childhood mortality rates from Algeria MICS4-2012 performed with STATA SYNCMRATES.
Figure 4. Childhood mortality rates (Algeria MICS-2012) obtained with Trevor Stata code.
Figure 5. Childhood mortality rates obtained with DHS.rates from Algeria MICS6-2019.
Figure 6. Childhood mortality rates in Algeria (MICS6-2019 reports).
Figure 7. Childhood mortality rates obtain from Algeria MICS6-2019 survey with SYNCMRATES package.
Figure 8. Childhood mortality rates from Algeria MICS4-2012 using MICS SPSS syntax file for MICS 6 wave (the revised version).
References
[1] Boerma JT, Sommerfelt AE. Demographic and health surveys (DHS): Contributions and limitations. World Health Statistics Quarterly, 46(4), 222–226; 1993. Available from:
[2] Elkasabi, M. Calculating fertility and childhood mortality rates from survey data using the DHS.rates R package. PLOS ONE, 14(5), e0216403; 2019. Available from:
[3] Verhulst A. Child mortality estimation: An assessment of summary birth history methods using microsimulation. Demographic Research. 2016; 34(39): 1075–1128.
[4] UNICEF. (n.d.). *MICS SPSS Syntax Pack*. New York: UNICEF. Retrieved November 15, 2021, from
[5] International Institute for Vital Registration and Statistics (IIVRS). Approaches to the measurement of childhood mortality: A comparative review. IIVRS Technical Paper No. 51. Bethesda, MD: IIVRS; 1992. Available from:
[6] Masset, E. SYNCMRATES: Stata module to compute child mortality rates using synthetic cohort probabilities [Statistical Software Component S458149]. Boston College Department of Economics; 2016. Available from:
[7] UNICEF. MICS6 Tools, Analysis: MICS6 SPSS Syntax Files (42_Syntax_Files_20220509.zip); 9 May 2022. Available from:
[8] Elkasabi, M. DHS.rates (R package, Version 0.9.2). CRAN. 2025. Available from:
[9] Croft, Trevor N., Aileen M. J. Marshall, Courtney K. Allen, et al. Guide to DHS Statistics (DHS-7). Rockville, Maryland, USA: ICF; 2018. Available from:
[10] Hill K. Estimation *diredt estimation of infant mortality from birth history. In: Moultrie TA, Dorrington RE, Hill AG, Hill K, Timæus IM, Zaba B, editors. Tools for Demographic Estimation. Paris: International Union for the Scientific Study of Population; 2015. Available from:
[11] Ministry of Health, Population and Hospital Reform (Algeria), & UNICEF. Algeria Multiple Indicator Cluster Survey 2012–2013, Final Report. Algiers, Algeria: Ministry of Health, Population and Hospital Reform and UNICEF; 2015. Available from:
[12] Schmidt L, Elkasabi MA. Accumulating Birth Histories across Surveys for Improved Estimates of Child Mortality. DHS Working Papers No. 177. Rockville, Maryland, USA: ICF; November 2020. Available from:
[13] Croft T. Mortality (Under Five mortality). The DHS Program User Forum. Message 805, January 2013. Available from:
[14] Ministry of Health and Population (Algeria), & UNICEF. *Algeria Multiple Indicator Cluster Survey 2018–2019*. New York: UNICEF; 2021. Available from:
[15] Mesli R. Calculating Algerian fertility rates using MICS4 SPSS syntax files. Review of applied economics and statistics. 2022; 19(3): 6-19. Available from:
Cite This Article
  • APA Style

    Redhouane, M., Salima, M. (2026). Calculating Childhood Mortality Rates from Algerian MICS Surveys Using the DHS.rates Package. Medicine and Life Sciences, 2(1), 1-9. https://doi.org/10.11648/j.mls.20260201.11

    Copy | Download

    ACS Style

    Redhouane, M.; Salima, M. Calculating Childhood Mortality Rates from Algerian MICS Surveys Using the DHS.rates Package. Med. Life Sci. 2026, 2(1), 1-9. doi: 10.11648/j.mls.20260201.11

    Copy | Download

    AMA Style

    Redhouane M, Salima M. Calculating Childhood Mortality Rates from Algerian MICS Surveys Using the DHS.rates Package. Med Life Sci. 2026;2(1):1-9. doi: 10.11648/j.mls.20260201.11

    Copy | Download

  • @article{10.11648/j.mls.20260201.11,
      author = {Mesli Redhouane and Madani Salima},
      title = {Calculating Childhood Mortality Rates from Algerian MICS Surveys Using the DHS.rates Package},
      journal = {Medicine and Life Sciences},
      volume = {2},
      number = {1},
      pages = {1-9},
      doi = {10.11648/j.mls.20260201.11},
      url = {https://doi.org/10.11648/j.mls.20260201.11},
      eprint = {https://article.sciencepublishinggroup.com/pdf/10.11648.j.mls.20260201.11},
      abstract = {The R DHS.rates package is a new statistical tool specifically designed to calculate key indicators for infant and child mortality, as well as fertility, at both national and subnational levels, using Demographic and Health Survey (DHS) data and, with minor adjustments, Multiple Indicator Cluster Survey (MICS) data. In addition to point estimates, the package also provides precision measures such as standard errors (SE), design effects (DEFT), relative standard errors (RSE), and confidence intervals. The package has been developed in accordance with the DHS Guide to Statistics and the DHS Sampling and Household Listing Manual, ensuring compliance with internationally recognized standards. By applying the DHS.rates R package to the Algerian MICS4 survey data (2012), we recalculated childhood mortality rates and compared them with the figures published in the official MICS report. The analysis revealed significant discrepancies, suggesting that the estimates originally obtained using the SPSS syntax package provided by the MICS program were incorrect. These inconsistencies were corrected using the DHS.rates package and validated by the SYNCMRATES module in Stata, both of which rely on standardized, transparent, and reliable methodologies. This study highlights the importance of using well-tested analytical tools for the accurate computation of key demographic indicators, which are essential for research, policy formulation and monitoring progress toward national and international development goals.},
     year = {2026}
    }
    

    Copy | Download

  • TY  - JOUR
    T1  - Calculating Childhood Mortality Rates from Algerian MICS Surveys Using the DHS.rates Package
    AU  - Mesli Redhouane
    AU  - Madani Salima
    Y1  - 2026/01/16
    PY  - 2026
    N1  - https://doi.org/10.11648/j.mls.20260201.11
    DO  - 10.11648/j.mls.20260201.11
    T2  - Medicine and Life Sciences
    JF  - Medicine and Life Sciences
    JO  - Medicine and Life Sciences
    SP  - 1
    EP  - 9
    PB  - Science Publishing Group
    SN  - 3071-0618
    UR  - https://doi.org/10.11648/j.mls.20260201.11
    AB  - The R DHS.rates package is a new statistical tool specifically designed to calculate key indicators for infant and child mortality, as well as fertility, at both national and subnational levels, using Demographic and Health Survey (DHS) data and, with minor adjustments, Multiple Indicator Cluster Survey (MICS) data. In addition to point estimates, the package also provides precision measures such as standard errors (SE), design effects (DEFT), relative standard errors (RSE), and confidence intervals. The package has been developed in accordance with the DHS Guide to Statistics and the DHS Sampling and Household Listing Manual, ensuring compliance with internationally recognized standards. By applying the DHS.rates R package to the Algerian MICS4 survey data (2012), we recalculated childhood mortality rates and compared them with the figures published in the official MICS report. The analysis revealed significant discrepancies, suggesting that the estimates originally obtained using the SPSS syntax package provided by the MICS program were incorrect. These inconsistencies were corrected using the DHS.rates package and validated by the SYNCMRATES module in Stata, both of which rely on standardized, transparent, and reliable methodologies. This study highlights the importance of using well-tested analytical tools for the accurate computation of key demographic indicators, which are essential for research, policy formulation and monitoring progress toward national and international development goals.
    VL  - 2
    IS  - 1
    ER  - 

    Copy | Download

Author Information