IPUMS PMA Data Workshop

Reasons for Unmet Need for Family Planning
in PMA Panel Surveys

Devon Kristiansen - Project Manager

Matt Gunther - Senior Data Analyst

Today’s Goals

  • Introduce measures of Unmet Need in PMA Panel Surveys
  • Open an IPUMS PMA data extract in R
  • Explore women’s reasons for Unmet Need in Phase 1 of the panel
  • Predict women’s Unmet Need in Phase 2 of the panel
Now Available from IPUMS PMA
Sample Phase 1 Data Collection* Phase 1 Phase 2 Phase 3
Burkina Faso Dec 2019 - Mar 2020 x x
Kenya Nov 2019 - Dec 2019 x x
Cote d'Ivoire Sep 2020 - Dec 2020 x
DRC - Kinshasa Dec 2019 - Feb 2020 x x
DRC - Kongo Central Dec 2019 - Feb 2020 x x
India - Rajasthan Aug 2020 - Oct 2020 x
Nigeria - Kano Dec 2019 - Jan 2020 x x
Nigeria - Lagos Dec 2019 - Jan 2020 x x
Uganda Sep 2020 - Oct 2020 x
*Each data collection phase is spaced one year apart

Unmet Need

What is Unmet Need?

Women who are capable of becoming pregnant are said to have unmet need if they might want to limit or space births, but are not using a family planning method.

Examples:

  • Layla wants to have a child someday, but she is not so sure she wants to have one soon. If neither she nor her husband are currently using any family planning method, Layla would have unmet need for spacing pregnancies.
  • Yasmine is currently pregnant with her fourth child. She had planned to stop having children after her third child, so her fourth pregnancy indicates that Yasmine has unmet need for limiting pregnancies.
  • At age 15, Fatimata is not using any family planning method because she is not sexually active. Fatimata has no unmet need because she is not at risk for becoming pregnant.

How is Unmet Need Measured?

PMA uses several different survey questions to determine which women are:

  • Sexually active (including non-married women who have had sex within 30 days)
  • Neither infecund nor menopausal
  • Express uncertainty or intentions to space or limit pregnancies (including their current pregnancy, or recent pregnancy if PPA)
  • Not currently using a family planning method (including prior sterilization, emergency methods within the last year, traditional methods, and all modern methods)

IPUMS PMA Harmonized Variables

UNMETNEED explains whether each female respondent has:

  • unmet need for spacing births
  • unmet need for limiting births
  • is not at risk of becoming pregnant
  • is currently using family planning for spacing births
  • is currently using family planning for limiting births
  • is not using family planning with no unmet need

UNMETYN is binary:

  • Yes
  • No

Unmet Need in R

Setup

Our extract includes data from two phases of the panel study in Burkina Faso and Kenya (female respondents only).

We drop women who only completed one of the two interviews, and those who are not members of the de facto population.

library(ipumsr)
library(tidyverse)
library(srvyr)
library(survey)
library(scales)
library(broom)
library(gtsummary)

# load pma longitudinal samples (wide format, female respondents only)
dat <- read_ipums_micro(
 ddi = here::here("data/pma_00114.xml"),
 data = here::here("data/pma_00114.dat.gz")
)

# keep only panel members in the de facto population 
dat <- dat %>% 
  mutate(COUNTRY = COUNTRY %>% as_factor %>% as.character) %>% 
  filter(
    RESULTFQ_1 == 1 & RESULTFQ_2 == 1,
    RESIDENT_1 %in% c(11, 22) & RESIDENT_2 %in% c(11, 22)
  )

Unmet Need by Country at Phase 1

PANELWEIGHT is the sampling weight for panel members (controls for loss to follow-up).

EAID_1 and STRATA_1 are the sample clusters and strata used to select households at Phase 1.

dat %>% 
  as_survey_design(
    weight = PANELWEIGHT, 
    id = EAID_1, 
    strata = STRATA_1
  ) %>% 
  mutate(across(
    c(UNMETNEED_1, UNMETYN_1), 
    ~.x %>%  as_factor %>% fct_drop
  )) %>% 
  tbl_svysummary(
    by = COUNTRY, 
    include = c(UNMETNEED_1, UNMETYN_1), 
    statistic = list(everything() ~ "{p}%")
  ) %>% 
  modify_header(
    update = list(
      label ~ " ", 
      stat_1 ~ "Burkina Faso", 
      stat_2 ~ "Kenya"
    )
  ) %>% 
  modify_footnote(
    c(stat_1, stat_2) ~ "Weighted Percent"
  )
Burkina Faso1 Kenya1
Unmet need
Unmet need to space 17% 7.3%
Unmet need to limit 3.7% 4.9%
Using to space 22% 24%
Using to limit 6.6% 22%
Infecund or menopausal 8.8% 5.8%
Not sexually active 17% 27%
No unmet need 24% 9.7%
No response or missing 0.1% <0.1%
NIU (not in universe) <0.1% <0.1%
Total unmet need
No unmet need 79% 88%
Unmet need 21% 12%
NIU (not in universe) <0.1% <0.1%
1 Weighted Percent

Unmet Need by Country at Phase 2

EAID_1 and STRATA_1 can also be used for estimating Phase 2 outcomes.

Panel members were found in the same study area again at Phase 2.

dat %>% 
  as_survey_design(
    weight = PANELWEIGHT, 
    id = EAID_1, 
    strata = STRATA_1
  ) %>% 
  mutate(across(
    c(UNMETNEED_2, UNMETYN_2), 
    ~.x %>%  as_factor %>% fct_drop
  )) %>% 
  tbl_svysummary(
    by = COUNTRY, 
    include = c(UNMETNEED_2, UNMETYN_2), 
    statistic = list(everything() ~ "{p}%")
  ) %>% 
  modify_header(
    update = list(
      label ~ " ", 
      stat_1 ~ "Burkina Faso", 
      stat_2 ~ "Kenya"
    )
  ) %>% 
  modify_footnote(
    c(stat_1, stat_2) ~ "Weighted Percent"
  )
Burkina Faso1 Kenya1
Unmet need
Unmet need to space 14% 6.6%
Unmet need to limit 3.5% 3.7%
Using to space 26% 30%
Using to limit 7.3% 23%
Infecund or menopausal 9.7% 5.0%
Not sexually active 15% 23%
No unmet need 24% 8.9%
No response or missing 0.1% 0%
Total unmet need
No unmet need 82% 90%
Unmet need 18% 10%
1 Weighted Percent

Research Question

How well can we predict Phase 2 Unmet Need if we only know whether a woman had Phase 1 Unmet Need?

Logistic Regression

models <- dat %>% 
  mutate(across(matches("UNMETYN"), ~.x == 1)) %>% 
  group_by(COUNTRY) %>% 
  summarise(
    glm = cur_data() %>% 
      as_survey_design(
        weight = PANELWEIGHT, 
        id = EAID_1, 
        strata = STRATA_1
      ) %>% 
      svyglm(
        UNMETYN_2 ~ UNMETYN_1, 
        design = ., 
        family = "quasibinomial"
      ) %>% 
      list()
  )

# Table 
models$glm %>% 
  map2(models$COUNTRY,
    ~.x %>% 
      tbl_regression(
        exponentiate = TRUE,
        show_single_row = where(is.logical),
        pvalue_fun = ~style_pvalue(.x, digits = 2),
        label = list(UNMETYN_1 ~ "Phase 1 Unmet Need")
      ) %>%
      add_significance_stars(hide_se = TRUE) %>% 
      modify_header(update = list(
        label ~ " ", 
        estimate = .y
      )) %>% 
      modify_footnote(estimate ~ NA, abbreviation = TRUE) 
  ) %>% 
  tbl_merge(tab_spanner = FALSE) %>% 
  modify_caption("### Odds Ratios for Phase 2 Unmet Need")

Phase 2 Unmet Need

Odds Ratios

Burkina Faso1 95% CI2 Kenya1 95% CI2
(Intercept) 0.14*** 0.12, 0.17 0.09*** 0.08, 0.10
Phase 1 Unmet Need 4.22*** 3.47, 5.14 3.94*** 3.23, 4.80
1 *p<0.05; **p<0.01; ***p<0.001
2 CI = Confidence Interval

Phase 1 Unmet Need is a significant predictor of Unmet Need at Phase 2.

Women with Unmet Need at Phase 1 have about four times the odds of Phase 2 Unmet Need compared with women who had none.

Reasons for Unmet Need

If we know why a woman had Phase 1 Unmet Need, does this improve our ability to predict her Phase 2 Unmet Need?

Why are Reasons Important?

Alone, Unmet Need does not explain access or desire to use family planning.

Senderowicz and Maloney (2022) suggest dividing Unmet Need into supply- and demand-driven factors.

Demand-side unmet need represents women who are choosing not to use contraception, not because contraception is inaccessible, but because they do not see a need for it in their own lives.

Machiyama et al. (2017) propose a 5-part causal framework for unmet need.

Reasons Surveyed by PMA


Can you tell me why you are not using 
a method to prevent pregnancy?
[] Not married
[] Infrequent sex / Not having sex
[] Menopausal / Hysterectomy
[] Subfecund / Infecund
[] Not menstruated since last birth
[] Breastfeeding
[] Husband away for multiple days
[] Up to God / fatalistic
[] Respondent opposed
[] Husband / partner opposed
[] Others opposed
[] Religious prohibition
[] Knows no method
[] Knows no source
[] Fear of side effects
[] Health concerns
[] Lack of access / too far
[] Costs too much
[] Preferred method not available
[] No method available
[] Inconvenient to use
[] Interferes with body's processes
[] Other
[] Do not know
[] No response

Recoding

Reasons Surveyed by PMA


Can you tell me why you are not using 
a method to prevent pregnancy?
[] Not married
[] Infrequent sex / Not having sex
[] Menopausal / Hysterectomy
[] Subfecund / Infecund
[] Not menstruated since last birth
[] Breastfeeding
[] Husband away for multiple days
[] Up to God / fatalistic
[] Respondent opposed
[] Husband / partner opposed
[] Others opposed
[] Religious prohibition
[] Knows no method
[] Knows no source
[] Fear of side effects
[] Health concerns
[] Lack of access / too far
[] Costs too much
[] Preferred method not available
[] No method available
[] Inconvenient to use
[] Interferes with body's processes
[] Other
[] Do not know
[] No response

Recoding

Low risk of becoming pregnant

Reasons Surveyed by PMA


Can you tell me why you are not using 
a method to prevent pregnancy?
[] Not married
[] Infrequent sex / Not having sex
[] Menopausal / Hysterectomy
[] Subfecund / Infecund
[] Not menstruated since last birth
[] Breastfeeding
[] Husband away for multiple days
[] Up to God / fatalistic
[] Respondent opposed
[] Husband / partner opposed
[] Others opposed
[] Religious prohibition
[] Knows no method
[] Knows no source
[] Fear of side effects
[] Health concerns
[] Lack of access / too far
[] Costs too much
[] Preferred method not available
[] No method available
[] Inconvenient to use
[] Interferes with body's processes
[] Other
[] Do not know
[] No response

Recoding

Low risk of becoming pregnant

Opposition or prohibition

Reasons Surveyed by PMA


Can you tell me why you are not using 
a method to prevent pregnancy?
[] Not married
[] Infrequent sex / Not having sex
[] Menopausal / Hysterectomy
[] Subfecund / Infecund
[] Not menstruated since last birth
[] Breastfeeding
[] Husband away for multiple days
[] Up to God / fatalistic
[] Respondent opposed
[] Husband / partner opposed
[] Others opposed
[] Religious prohibition
[] Knows no method
[] Knows no source
[] Fear of side effects
[] Health concerns
[] Lack of access / too far
[] Costs too much
[] Preferred method not available
[] No method available
[] Inconvenient to use
[] Interferes with body's processes
[] Other
[] Do not know
[] No response

Recoding

Low risk of becoming pregnant

Opposition or prohibition

Method Access

Other / Unknown

Who gave reasons?

Most - but not all - women with unmet need were asked to give reasons for non-use.

Most - but not all - women who gave reasons for non-use also have unmet need.

Who gave reasons?

Most - but not all - women with unmet need were asked to give reasons for non-use.

Most - but not all - women who gave reasons for non-use also have unmet need.

Who gave reasons?

Most - but not all - women with unmet need were asked to give reasons for non-use.

Most - but not all - women who gave reasons for non-use also have unmet need.

Who gave reasons?

Most - but not all - women with unmet need were asked to give reasons for non-use.

Most - but not all - women who gave reasons for non-use also have unmet need.

Popularity of Reasons For Phase 1 Unmet Need

Recoding

dat <- dat %>% 
  mutate(
    across(
      c(starts_with("UNMETYN"), starts_with("FPYNOT"), starts_with("PREGNANT")),
      ~.x == 1
    ),
    FPYOPPOSED = if_any(c(FPYNOTRELIG_1, FPYNOTOPPF_1, FPYNOTFATE_1,
                          FPYNOTOPPH_1, FPYNOTOPPO_1, FPYNOTSIDEF_1,
                          FPYNOTSDHLTH_1,  FPYNOTCONV_1, FPYNOTBODY_1)),
    FPYMETHOD = if_any(c(FPYNOTFAR_1, FPYNOTCOST_1, FPYNOTKNO_1,
                      FPYNOTSRC_1, FPYNOTAVAIL_1, FPYNOTAVAILP_1, 
                      PREGNANT_1)),
    FPYLOWRISK = if_any(c(FPYNOTBSTFD_1, FPYNOTHSBAWAY_1, FPYNOTMENO_1,
                       FPYNOTAMEN_1, FPYNOTNOSEX_1, FPYNOTMAR_1, FPYNOTINF_1
                       )),
    FPYOTHER = UNMETYN_1 & !FPYOPPOSED & !FPYMETHOD & !FPYLOWRISK,
    across(
      c(FPYOPPOSED, FPYMETHOD, FPYLOWRISK),
      ~if_else(UNMETYN_1, .x, FALSE)
    )
  )

Recoded Reasons by Country

dat %>% 
  filter(UNMETYN_1) %>% 
  as_survey_design(
    weight = PANELWEIGHT, 
    id = EAID_1, 
    strata = STRATA_1
  ) %>% 
  tbl_svysummary(
    by = COUNTRY, 
    include = c(
      FPYOPPOSED, 
      FPYMETHOD, 
      FPYLOWRISK, 
      FPYOTHER
    ), 
    label = list(
      FPYOPPOSED ~ "Opposition or prohibition", 
      FPYMETHOD ~ "Method access",
      FPYLOWRISK ~ "Low risk of becoming pregnant",
      FPYOTHER ~ "Other / Unknown Reason"
    ),
    statistic = list(everything() ~ "{p}%")
  ) %>% 
  modify_header(update = list(
      label ~ " ", 
      stat_1 ~ "Burkina Faso", 
      stat_2 ~ "Kenya"
  )) %>% 
  modify_footnote(
    c(stat_1, stat_2) ~ "Weighted Percent; 
    Women could list multiple reasons"
  ) %>% 
  modify_caption("### Phase 1 Reasons \n ### for Unmet Need")

Phase 1 Reasons

for Unmet Need

Burkina Faso1 Kenya1
Opposition or prohibition 38% 38%
Method access 20% 24%
Low risk of becoming pregnant 32% 46%
Other / Unknown Reason 19% 7.9%
1 Weighted Percent; Women could list multiple reasons

Logistic Regression

models <- dat %>% 
  group_by(COUNTRY) %>% 
  summarise(
    glm = cur_data() %>%  
      as_survey_design(
        weight = PANELWEIGHT, 
        id = EAID_1, 
        strata = STRATA_1
      ) %>% 
      svyglm(
        formula = UNMETYN_2 ~ 
          FPYOPPOSED + FPYMETHOD + FPYLOWRISK + UNMETYN_1,
        family = "quasibinomial",
        design = .
      ) %>% 
      list()
  ) 

# Table 
models$glm %>% 
  map2(models$COUNTRY,
    ~.x %>% 
      tbl_regression(
        exp = TRUE, show_single_row = where(is.logical),
        pvalue_fun = ~style_pvalue(.x, digits = 2),
        label = list(
          FPYOPPOSED ~ "Opposition or prohibition", 
          FPYMETHOD ~ "Method access",
          FPYLOWRISK ~ "Low risk of becoming pregnant",
          UNMETYN_1 ~ "Phase 1 Unmet Need"
        )
      ) %>%
      add_significance_stars(hide_se = TRUE) %>% 
      modify_header(update = list(
        label ~ " ", 
        estimate = .y
      )) %>% 
      modify_footnote(estimate ~ NA, abbreviation = TRUE) 
  ) %>% 
  tbl_merge(tab_spanner = FALSE) %>% 
  modify_caption("### Phase 2 Unmet Need \n ### Odds Ratios") 

Phase 2 Unmet Need

Odds Ratios

Burkina Faso1 95% CI2 Kenya1 95% CI2
(Intercept) 0.14*** 0.12, 0.17 0.09*** 0.08, 0.10
Opposition or prohibition 1.55* 1.10, 2.19 1.77* 1.14, 2.73
Method access 1.88 0.99, 3.59 0.84 0.48, 1.45
Low risk of becoming pregnant 1.44 0.91, 2.29 0.77 0.52, 1.14
Phase 1 Unmet Need 2.78*** 1.90, 4.06 3.61*** 2.34, 5.58
1 *p<0.05; **p<0.01; ***p<0.001
2 CI = Confidence Interval

Compared to women who gave no reason, women who were opposed to using family planning were significantly more likely to have Phase 2 unmet need.

Women with method access issues or at low risk of becoming pregnant - less clear!

Next Steps

What controls could we add to our model?

Comparison with results from other IPUMS Global Health surveys

New at IPUMS

References

Machiyama, Kazuyo, John B Casterline, Joyce N Mumah, Fauzia Akhter Huda, Francis Obare, George Odwe, Caroline W Kabiru, Sharifa Yeasmin, and John Cleland. 2017. “Reasons for Unmet Need for Family Planning, with Attention to the Measurement of Fertility Preferences: Protocol for a Multi-Site Cohort Study.” Reproductive Health 14 (1): 23. http://dx.doi.org/10.1186/s12978-016-0268-z.
Senderowicz, Leigh, and Nicole Maloney. 2022. “Supply-Side Versus Demand-Side Unmet Need: Implications for Family Planning Programs.” Population and Development Review 48 (3): 689–722. https://onlinelibrary.wiley.com/doi/10.1111/padr.12478.