4.1 Estimation of population size

In household survey analysis, estimating the size of subpopulations is essential. This size is understood as the number of people or households that belong to specific categories and the proportion they represent within the population. These estimates, based on categorical variables, make it possible to characterize the demographic and socioeconomic profile of the population, which is key information for guiding resource allocation, designing public policies, and formulating social programs. For example, estimating how many people are below the poverty line, how many are unemployed, or how many have reached a given educational level is essential for identifying gaps and evaluating well-being conditions.

The size of a population or subpopulation is estimated from categorical variables, which segment the population into mutually exclusive groups (partitions). Population size refers to the total number of individuals or households in the survey database that belong to a given category. These categories may correspond, for example, to employment status or educational attainment. To obtain these estimates, respondents’ answers are combined with the sampling weights, which indicate how many people or households each sample unit represents in the total population.

The population size estimator is defined as:

\[ \hat{N} = \sum_{h} \sum_{i} \sum_{k} w_{hik} \]

Where \(w_{hik}\) is the weight or expansion factor of unit \(k\) in PSU \(i\) of stratum \(h\). Similarly, estimating the size of a subpopulation follows the same principle, but is framed within a subset defined by a specific characteristic. To determine how many people belong to a particular category, that group is identified in the database and its sampling weights are summed. This makes it possible to quantify specific groups of interest and determine their size within the population:

\[ \hat{N}_d = \sum_{h} \sum_{i} \sum_{k} w_{hik} \ I(y_{hik}=d) \]

Where \(I(y_{hik}=d)\) is a binary variable that takes the value 1 if unit \(k\) in PSU \(i\) in stratum \(h\) belongs to category \(d\) of the variable of interest \(y\), and 0 otherwise. Also note that if \(d\) was used in the calibration of the weights, the value of \(\hat{N}_d\) will coincide with the external control applied.

In R, using the sampling design defined previously, it is possible to generate summaries of the survey information for each category of the Zone variable. To do this, the data are grouped by geographic area, which makes it possible to obtain separate results for each of these study domains. This procedure produces two main types of results. First, the number of observations actually collected in the sample is calculated without considering expansion factors, corresponding to the available sample size in each zone. Second, the population size associated with each domain is estimated by incorporating the sampling design information.

Together with the population estimates, measures of precision such as the standard error and confidence interval are also obtained. These make it possible to assess the level of uncertainty associated with the results produced from the sample. The results are presented in Table 4.1. In that table, n represents the number of sample observations in each zone, while size corresponds to the estimated population total of the subpopulation. The unweighted() function is used to calculate unweighted summaries directly from the observed sample data.

survey_design %>%
  group_by(Zone) %>%
  summarise(
    n = unweighted(n()),
    size = survey_total(vartype = c("se", "ci"))
  )
Table 4.1: Estimated population size by geographic zone
Zone n size size_se size_low size_upp
Rural 1297 72102 3062 66039 78165
Urban 1308 78164 2847 72526 83802

Indeed, the sample size was 1,297 people in the rural zone and 1,308 in the urban zone. Based on these samples, the population was estimated at 72,102 people for the rural zone, with a standard error of 3,062, and 78,164 people for the urban zone, with a standard error of 2,847. These results reflect not only the estimated population size in each domain, but also the level of precision associated with the estimates obtained from the sampling design.

Using a 95% confidence level, the confidence intervals for the population estimates ranged from 66,038.5 to 78,165.4 people in the rural zone and from 72,526.2 to 83,801.7 people in the urban zone. Similarly, it is also possible to estimate the number of people by different poverty levels; these results are presented in Table 4.2.

survey_design %>%
  group_by(Poverty) %>%
  summarise(size = survey_total(vartype = c("se", "ci")))
Table 4.2: Estimated population size by poverty status
Poverty size size_se size_low size_upp
NotPoor 91398 4395 82696 100101
Extreme 21519 4949 11719 31319
Relative 37349 3695 30032 44666

Another relevant categorical variable in household surveys is employment status. The corresponding code is presented below, and its results are shown in Table 4.3. In this case, the information is grouped according to the categories of the Employment variable, making it possible to obtain separate estimates for each labor-force status of the population. Using the group_by() function, estimates can be disaggregated into more detailed levels, facilitating comparative analysis across occupational groups.

Before producing the estimates, records with missing values in the employment variable are excluded, ensuring that the results are calculated only with valid information. Then, for each employment category, population size is estimated using the sampling design defined previously. In addition to the point estimate, measures of precision are also calculated, specifically the standard error and confidence intervals, making it possible to assess the degree of uncertainty associated with each estimate.

survey_design %>%
  filter(!is.na(Employment)) %>%
  group_by(Employment) %>%
  summarise(size = survey_total(vartype = c("se", "ci")))
Table 4.3: Estimated population size by employment status
Employment size size_se size_low size_upp
Unemployed 4635 761 3129 6141
Inactive 41465 2163 37183 45748
Employed 61877 2540 56847 66907

Based on the results obtained, an estimated 4,634.8 people are unemployed, with a 95% confidence interval between 3,128.6 and 6,140.9 people. Similarly, an estimated 41,465.2 people belong to the inactive population, with a confidence interval between 37,182.6 and 45,747.8. Finally, the employed population was estimated at 61,877.0 people, with a confidence interval from 36,784.2 to 47,793.5 people.

Finally, estimates can also be disaggregated simultaneously by more than one categorical variable. For example, it is possible to analyze employment status by poverty level; the results are presented in Table 4.4. Among other findings, these results show that approximately 44,600.3 employed people are not living in poverty, with a 95% confidence interval between 39,459.6 and 49,741.0 people. Similarly, an estimated 6,421.8 inactive people are living in extreme poverty, with a 95% confidence interval between 3,806.6 and 9,037.0 people.

survey_design %>%
  filter(!is.na(Employment)) %>%
  group_by(Employment, Poverty) %>%
  cascade(
    size = survey_total(vartype = c("se", "ci")),
    .fill = "Total"
  )
Table 4.4: Estimated population size by employment status and poverty status
Employment Poverty size size_se size_low size_upp
Unemployed NotPoor 1768 405 966 2571
Unemployed Extreme 1169 348 480 1859
Unemployed Relative 1697 458 791 2604
Unemployed Total 4635 761 3129 6141
Inactive NotPoor 24346 1736 20908 27784
Inactive Extreme 6422 1321 3807 9037
Inactive Relative 10697 1460 7806 13589
Inactive Total 41465 2163 37183 45748
Employed NotPoor 44600 2596 39460 49741
Employed Extreme 5128 1122 2907 7349
Employed Relative 12149 1347 9483 14816
Employed Total 61877 2540 56847 66907
Total Total 107977 3466 101115 114839