Home | GLMs | Multilevel | Survival | Demography | Stata | R

Life Table Analysis of Contraceptive Use

We will illustrate the application of life tables to the analysis of contraceptive effectiveness using a classic dataset from Tietze (1967) Intra-Uterine Contraception: Recommended Procedures for Data Analysis. Studies in Family Planning 1:1-6.

The data come in two tables, one showing first insertions per calendar month, and another giving details of terminations and reinsertions. Both tables are available in the datasets section of the course website as TietzeInsertions.dat and TietzeTerminations.dat.

I did some preliminary work to put the data in a more usable form. The manipulations are simple but tedious. If you are interested, my do file is available as TietzeData.do. The final result is a file that shows insertions, terminations, reinsertions, continuations, and details of events and closures by ordinal month of use.

. Use http://data.princeton.edu/eco572/datasets/Tietze

. Desc 

Contains data from http://data.princeton.edu/eco572/datasets/Tietze.dta
  obs:            15                          
 vars:            19                          15 Mar 2006 13:46
 size:         2,100 (99.9% of memory free)
-------------------------------------------------------------------------------
              storage  display     value
variable name   type   format      label      variable label
-------------------------------------------------------------------------------
month           float  %9.0g                  Ordinal month of use
ins             float  %9.0g                  First Insertions
terms           float  %9.0g                  Terminations
reins           double %9.0g                  Reinsertions
cont            float  %9.0g                  Continuing Segments
ap              double %9.0g                  Accidental Pregnancy (e)
fe              double %9.0g                  First Expulsion (e)
le              double %9.0g                  Later Expulsion (e)
rm              double %9.0g                  Removal for Medical Reasons (e)
rp              double %9.0g                  Removal for Personal Reasons (e)
ric             double %9.0g                  Removal at Investigator's
                                                Choice (e)
lfu             double %9.0g                  Lost to Follow Up (e)
cap             double %9.0g                  Accidental Pregnancy ©
cfe             double %9.0g                  First Expulsion ©
cle             double %9.0g                  Later Expulsion ©
crm             double %9.0g                  Removal for Medical Reasons ©
crp             double %9.0g                  Removal for Personal Reasons ©
cric            double %9.0g                  Removal at Invertigator's
                                                Choice ©
clfu            double %9.0g                  Lost to Follow UP ©
-------------------------------------------------------------------------------
Sorted by:  

Woman-Months of Exposure

The first task is to compute exposure. We start with all first insertions and each month add reinsertions, and substract terminations and continuations. We compute exposure assuming a uniform distribution of events within each month. Following Tietze we calculate rates only up to 12 months, while we have sufficient woman-months of exposure.

. Gen exit = ins[1] + sum(reins-term-cont)

. Gen enter = exit[_n-1]
(1 missing value generated)

. Replace enter = ins in 1
(1 real change made)

. Gen expo = (enter+exit)/2 

. List month enter reins term cont exit expo

     +-----------------------------------------------------+
     | month   enter   reins   terms   cont   exit    expo |
     |-----------------------------------------------------|
  1. |     1     250       7      25     18    214     232 |
  2. |     2     214       8       9     14    199   206.5 |
  3. |     3     199       1       7     17    176   187.5 |
  4. |     4     176       1       7     16    154     165 |
  5. |     5     154       2       4     13    139   146.5 |
     |-----------------------------------------------------|
  6. |     6     139       9      11     10    127     133 |
  7. |     7     127       5       7     17    108   117.5 |
  8. |     8     108       2       3      9     98     103 |
  9. |     9      98       0       3     17     78      88 |
 10. |    10      78       1       2     12     65    71.5 |
     |-----------------------------------------------------|
 11. |    11      65       0       0     15     50    57.5 |
 12. |    12      50       7       7     14     36      43 |
 13. |    13      36       3       4     12     23    29.5 |
 14. |    14      23       1       1     15      8    15.5 |
 15. |    15       8       0       0      8      0       4 |
     +-----------------------------------------------------+

Continuation Rates

We compute continuation rates on the basis of relevant closures: pregnancy, first and later expulsion, and removal for medical or personal reasons. We are used to compute rates and then convert to a probability, in this case assuming events are uniformly ditributed. The same answer can be obtained by computing the probability dividing events by an adjusted denominator often called N*, equal to exposure plus half the relevant closures. You may want to verify that the two procedures give the same answer. An advantage of the N* approach is that you use the same denominator for all probabilities.

. Gen relclos = cap + cfe + cle + crm + crp 

. Gen nadj = expo + 0.5*relclos

. Gen q = relclos/nadj

. Gen p = 1-q

. Gen cr = 1      // continuation rate at beginning of month

. Replace cr = cr[_n-1] * p[_n-1] in 2/-1
(14 real changes made)

. List month q cr

     +-----------------------------+
     | month          q         cr |
     |-----------------------------|
  1. |     1   .0504202          1 |
  2. |     2   .0191847   .9495798 |
  3. |     3   .0314961   .9313625 |
  4. |     4   .0298507   .9020282 |
  5. |     5   .0068027    .875102 |
     |-----------------------------|
  6. |     6   .0074906   .8691489 |
  7. |     7   .0168776   .8626384 |
  8. |     8   .0287081   .8480791 |
  9. |     9   .0335196   .8237323 |
 10. |    10   .0138889   .7961212 |
     |-----------------------------|
 11. |    11          0   .7850639 |
 12. |    12   .0229885   .7850639 |
 13. |    13   .0333333   .7670165 |
 14. |    14          0   .7414492 |
 15. |    15          0   .7414492 |
     +-----------------------------+

So the probability of continuing use after 12 months is 76.7%. (In case you are wondering why it is not 78.5% note that I computed continuation probabilities at the beginning of each month, so they line up better when we need to multiply, and that the first month is called 1, not 0.)

Net Rates of Events

We now compute so-called "net" rates of events, which correspond to the multiple decrement table. We obtain a conditional probability of pregnancy dividing pregnancies by adjusted exposure, and then unconditional probabilities multiplying by the continuation rates. (These are equivalent to cause-specific deaths in the life table). These can be added over duration of use.

. Gen qap = cap/nadj

. Gen cnap = sum(cr*qap)

. List month qap cnap

     +-----------------------------+
     | month        qap       cnap |
     |-----------------------------|
  1. |     1          0          0 |
  2. |     2          0          0 |
  3. |     3   .0104987   .0097781 |
  4. |     4   .0179104   .0259338 |
  5. |     5          0   .0259338 |
     |-----------------------------|
  6. |     6          0   .0259338 |
  7. |     7   .0084388   .0332135 |
  8. |     8          0   .0332135 |
  9. |     9          0   .0332135 |
 10. |    10   .0138889   .0442707 |
     |-----------------------------|
 11. |    11          0   .0442707 |
 12. |    12          0   .0442707 |
 13. |    13          0   .0442707 |
 14. |    14          0   .0442707 |
 15. |    15          0   .0442707 |
     +-----------------------------+

So the probablity of accidental pregnancy in the first year of use is 4.4%. You may compute similar probabilities for the other relevant closures. You should get 4.3% for first expulsions, 3.6% for later expulsions, 6.7% for medical reasons and 4.3% for personal reasons. These add up to 23.3%, which is of course the complement of the continuation rate (or probability of continuing use after 12 months).

These "rates" can also be computed for events (rather than closures) using the same procedure. Here is the "net" rate of first expulsion in the presence of the other risks:

. Gen qfe = fe/nadj

. Gen cnfe = sum(cr*qfe)

. List month qfe cnfe

     +-----------------------------+
     | month        qfe       cnfe |
     |-----------------------------|
  1. |     1   .0630252   .0630252 |
  2. |     2   .0191847   .0812426 |
  3. |     3   .0104987   .0910207 |
  4. |     4          0   .0910207 |
  5. |     5   .0136054   .1029268 |
     |-----------------------------|
  6. |     6   .0074906   .1094373 |
  7. |     7   .0253165   .1312762 |
  8. |     8   .0095694   .1393918 |
  9. |     9          0   .1393918 |
 10. |    10          0   .1393918 |
     |-----------------------------|
 11. |    11          0   .1393918 |
 12. |    12   .0229885   .1574393 |
 13. |    13          0   .1574393 |
 14. |    14   .0645161   .2052747 |
 15. |    15          0   .2052747 |
     +-----------------------------+

So we get a 15.7% probability of first expulsion in the first year of use. (Recall that first expulsions are not "fatal", as the IUD can be reinserted.)

Gross Discontinuation Rates

We can also compute the equivalent of associated single-decrement tables under the assumption of independence of risks, which in this context are often called "gross" rates. Let us estimate the probability of pregnancy if this was the only type of failure possible and all risks were independent.

. Gen nadjap = expo + 0.5*cap // different adjusted n

. Gen gqap = cap/nadjap

. Gen gcrap = 1

. Replace gcrap = gcrap[_n-1]*(1-gqap[_n-1]) in 2/-1
(12 real changes made)

. Gen gdrap = 1-gcrap

. List month gqap gcrap gdrap

     +----------------------------------------+
     | month       gqap      gcrap      gdrap |
     |----------------------------------------|
  1. |     1          0          1          0 |
  2. |     2          0          1          0 |
  3. |     3   .0106101          1          0 |
  4. |     4    .018018   .9893899   .0106101 |
  5. |     5          0    .971563    .028437 |
     |----------------------------------------|
  6. |     6          0    .971563    .028437 |
  7. |     7   .0084746    .971563    .028437 |
  8. |     8          0   .9633294   .0366706 |
  9. |     9          0   .9633294   .0366706 |
 10. |    10   .0138889   .9633294   .0366706 |
     |----------------------------------------|
 11. |    11          0   .9499499   .0500501 |
 12. |    12          0   .9499499   .0500501 |
 13. |    13          0   .9499499   .0500501 |
 14. |    14          0   .9499499   .0500501 |
 15. |    15          0   .9499499   .0500501 |
     +----------------------------------------+

So the one-year probability of accidental pregnancy would be a bit higher, 5%, in the absence of other risks.

Note that the demographic literature uses "net" for rates in the presence of other risks and "gross" for rates in the absence of other risks. The statistical literature reverses the usage.

A useful article in addition to Tietze's classic is S. R. Karia, J. Toivonen and E. Arjas (1998) Analysis of Contraceptive Failure Data in Intrauterine Device Studies Contraception 58:361-374.