Calendar & Tombstone Math
Tombstone Birth-Date Math: The 8870 Formula vs. Exact Days
A recorded age can help you look for a birth date. Compare the old 8870 shortcut with calendar arithmetic, and keep the uncertainty visible.

At a glance
- Nineteenth-century gravestones frequently record only date of death and age in years, months, and days (Aged 71 Yr, 8 Mo, 25 Ds); stonecutters and clerks commonly used the 30-day-month 8870 decimal shortcut.
- Because base-10 column borrowing adds 100 instead of 30 days or 12 months, the generalized correction constant is K = 8800 × b_M + 70 × b_D, taking four possible values (0, 70, 8800, or 8870) depending on which columns borrow.
- Because Gregorian months contain 28, 29, 30, or 31 days, the 8870 formula, Backward Exact Calendar Subtraction, and Forward Exact Age-at-Last-Birthday subtraction can differ by 1 to 3 days.
Walk through any eighteenth- or nineteenth-century churchyard in New England, the Midwest, or the Mid-Atlantic and you will find thousands of marble and slate headstones that omit the deceased person’s date of birth. Instead, the carver chiseled the date of death followed by a three-part age inscription: Died May 6, 1889 — Aged 71 Yr, 8 Mo, 25 Ds. Parish burial registers, county death ledgers, and nineteenth-century newspaper obituaries followed the exact same convention. To reconstruct the ancestor’s birth date—and understand why three experienced genealogists can calculate three slightly different birthdays (August 11, August 12, or August 10) from the same stone—you need the complete algebra behind the 4-case 8870 decimal formula alongside Backward and Forward Exact Calendar Subtraction.
Why 19th-Century Gravestones Recorded Age at Death Instead of Birth Date
Before statewide vital registration laws took effect between the 1880s and 1910s, families tracked milestones inside a family Bible or parish baptismal book. When an ancestor died, the surviving family or parish clerk computed the elapsed span of life—or conversely, when only a gravestone inscription giving age at death survived, later researchers worked backward to recover the birth date.
Crucially, two directions of calculation occurred in historical practice:
- Clerk or minister computing age from a known birth date (Forward counting): If the family Bible listed the birth date (
August 11, 1817) and death date (May 6, 1889), the minister or stonecutter counted forward—either by assuming every borrowed month had30 days(the arithmetic taught in nineteenth-century schoolhouse primers) or by advancing to the last monthly anniversary before death (April 11, 1889) and counting the remaining calendar days. - Genealogist reconstructing an unrecorded birth date from the gravestone (Inverse subtraction): When the family Bible is lost and only the gravestone inscription survives (
Died May 6, 1889, Aged 71 Yr, 8 Mo, 25 Ds), you must invert the unknown clerk’s arithmetic. Testing all three mathematical models in our Tombstone, Census & Kinship Calculator defines the exact1-to-3-dayhistorical birth window.
Mathematical Derivation of the 4-Case 8870 Formula
Genealogy handbooks often teach a pencil-and-paper shortcut called the “8870 formula”: write the death date as an eight-digit integer YYYYMMDD, subtract the age written as YYMMDD, and then subtract 8870. However, many guides fail to explain why 8870 works or why blindly subtracting 8870 produces invalid dates (such as Month 92 or Day 84) whenever a column does not require borrowing.
Encoding Dates and Ages as Base-10 Integers
Let the death date be (Y_d, M_d, D_d) and the recorded age at death be (Y_a, M_a, D_a). Packing each triple into a single base-10 integer places days in the ones-and-tens columns (10^0), months in the hundreds-and-thousands columns (10^2), and years in the ten-thousands-and-up columns (10^4):
N_d = 10000*Y_d + 100*M_d + D_d
N_a = 10000*Y_a + 100*M_a + D_a
Under the classical schoolbook convention, 1 borrowed month equals 30 days and 1 borrowed year equals 12 months. Define two binary indicator variables (b_D for a day borrow and b_M for a month borrow), where I(condition) equals 1 if the condition is true and 0 if false:
b_D = I(D_d ≤ D_a) (when D_a ≥ 1; triggers whenever D_d − D_a ≤ 0)
b_M = I(M_d - b_D ≤ M_a) (triggers when remaining death month ≤ age months)
K = 8800*b_M + 70*b_D
(Note on the equal-day boundary D_d = D_a with D_a ≥ 1: if someone died on June 15, 1862 aged 38 Yr, 4 Mo, 15 Ds, simple subtraction 15 − 15 yields Day 00, which is not a valid calendar date. Borrowing 1 month of 30 days sets b_D = 1 and K = 70, giving 18620615 − 380415 − 70 = 18240130, or January 30, 1824 under 30-day math versus January 31, 1824 under exact 31-day month math.)
Why Base-10 Borrowing Needs -70 for Days and -8800 for Months
Under the 30-day-month / 12-month-year rule, the component-wise birth date (Y_b, M_b, D_b) is:
D_b = D_d − D_a + 30 × b_D
M_b = (M_d − b_D) − M_a + 12 × b_M
Y_b = (Y_d − b_M) − Y_a
Pack (Y_b, M_b, D_b) back into an eight-digit integer N_b = 10,000 × Y_b + 100 × M_b + D_b and expand:
N_b = 10,000 × (Y_d − Y_a − b_M) + 100 × (M_d − M_a − b_D + 12 × b_M) + (D_d − D_a + 30 × b_D)
N_b = (N_d − N_a) − (10,000 − 1,200) × b_M − (100 − 30) × b_D
N_b = (N_d − N_a) − (8,800 × b_M + 70 × b_D)
That equation reveals the mechanism of the 8870 formula:
- Borrowing
1from the months column (100) into the days column adds100days instead of30days—an excess of100 − 30 = 70. Subtracting70corrects the days column. - Borrowing
1from the years column (10,000) into the months column (100s) adds100months (10,000) instead of12months (1,200)—an excess of10,000 − 1,200 = 8,800. Subtracting8,800corrects the months column.
The Four Possible Correction Constants (K)
Setting K = 8800*b_M + 70*b_D gives the universal 4-case table:
| Borrow Case | Day Condition | Month Condition | (b_M, b_D) |
Correction K |
Formula N_b |
|---|---|---|---|---|---|
| Case 1: No borrow | D_d ≥ D_a + 1 |
M_d ≥ M_a + 1 |
(0, 0) |
0 |
N_d − N_a |
| Case 2: Day borrow only | D_d ≤ D_a |
M_d − 1 ≥ M_a + 1 |
(0, 1) |
70 |
N_d − N_a − 70 |
| Case 3: Month borrow only | D_d ≥ D_a + 1 |
M_d ≤ M_a |
(1, 0) |
8,800 |
N_d − N_a − 8,800 |
| Case 4: Both borrow | D_d ≤ D_a |
M_d − 1 ≤ M_a |
(1, 1) |
8,870 |
N_d − N_a − 8,870 |
Comparing the Three Calendar Subtraction Methods Side by Side
Why does the 8870 formula disagree with modern calendar software by 1 to 3 days? Because Gregorian calendar months do not all have 30 days: seven months have 31 days (Jan, Mar, May, Jul, Aug, Oct, Dec), four have 30 days (Apr, Jun, Sep, Nov), and February has 28 days (29 in a leap year).
Depending on how the original age was computed, three distinct algorithms apply:
- Method 1 — Generalized
8870(30-Day Commercial Month): Every borrowed month is treated as30days (D_b = D_d − D_a + 30 × b_D). - Method 2 — Backward Exact Calendar Subtraction (Years → Months → Days): Starting from
(Y_d, M_d, D_d), subtractY_ayears, subtractM_acalendar months, and step backwardD_aexact calendar days (borrowing the actual number of days in the resulting birth monthM_b). - Method 3 — Forward Exact Age-at-Last-Birthday Subtraction: Answers the inverse question: “What birth date
(Y_b, M_b, D_b), when advanced byY_ayears andM_amonths to the last monthly anniversary before death, leavesD_adays remaining until(Y_d, M_d, D_d)?” Any borrowed month uses the actual length of the month immediately preceding the death month (M_d − 1).
Worked Example 1: Gravestone of May 6, 1889 (Aged 71 Yr, 8 Mo, 25 Ds)
Evaluating all three methods on Died May 6, 1889, Aged 71 Yr, 8 Mo, 25 Ds:
Given: Death = 1889-05-06 (N_d = 18890506), Age = 71 yr, 8 mo, 25 d (N_a = 710825)
1. Generalized 8870 Formula (30-day borrow, b_D = 1, b_M = 1, K = 8870):
18,890,506 − 710,825 − 8,870 = 18,170,811 → August 11, 1817 (1817-08-11)
2. Backward Exact Calendar Subtraction:
1889-05-06 − 71 yr = 1818-05-06; − 8 mo = 1817-09-06 (September 6, 1817);
Borrowing across August 1817 (31 days): 6 + 31 − 25 = 12 → August 12, 1817 (1817-08-12)
3. Forward Exact Age-at-Last-Birthday Subtraction:
Month before May 1889 is April 1889 (30 days): 6 + 30 − 25 = 11 → August 11, 1817 (1817-08-11)
Check forward: 1817-08-11 + 71 yr 8 mo = 1889-04-11; (30 − 11) + 6 = 25 days to May 6, 1889.
Worked Example 2: March Death Crossing a 28-Day February (Died March 10, 1875, Aged 42 Yr, 6 Mo, 18 Ds)
When an ancestor died in March (M_d = 3) of a non-leap year (1875), the month preceding death is 28-day February while the birth month is 31-day August:
Given: Death = 1875-03-10 (N_d = 18750310), Age = 42 yr, 6 mo, 18 d (N_a = 420618, K = 8870)
1. 8870 Method (borrows 30 days): 18,750,310 − 420,618 − 8,870 = 18,320,822 → August 22, 1832
2. Backward Exact (borrows 31-day Aug): 10 + 31 (Aug) − 18 = 23 → August 23, 1832
3. Forward Exact (borrows 28-day Feb): 10 + 28 (Feb) − 18 = 20 → August 20, 1832
All three dates—August 20, August 22, and August 23, 1832—are valid inversions of Aged 42 Yr, 6 Mo, 18 Ds on March 10, 1875.
Why Genealogists Record a 1–3 Day Birth Window
Because any borrowed month can have 28, 29, 30, or 31 days, subtracting a gravestone age without an independent birth record carries an intrinsic ±1 to ±3 day arithmetic uncertainty:
- Cite the full birth window in your research notes: Record
Calculated birth window: Aug 20–23, 1832 (from gravestone age 42y 6m 18d at death on Mar 10, 1875)rather than asserting a single unproven day. - Check whether the lifespan crosses September 1752: If an ancestor died after September 1752 but was born before September 14, 1752 in Britain or the American colonies, check whether the family added
11 daysfor the calendar shift covered in The 1752 Julian-to-Gregorian Calendar Shift and Colonial Double-Dating. - Triangulate with census schedules and primary manuscripts: Intersect two or three decennial census records using US Federal Census Official Dates (1790–1950) and Birth-Year Math, verify handwritten burial entries with Using AI to Transcribe Old Cursive Handwriting, Wills, and Newspapers, and archive your cemetery photos under ISO 8601 File Naming and the 3-2-1 Backup Rule for Family Archives.
Put it into practice
Try it with your own collection
Family history calculator
Compare dates, explore census clues, and calculate family relationships.
Sources & further reading
Information on this page is for educational archival preservation and historical genealogy research. Always test conservation handling on non-unique materials first, verify AI handwriting transcriptions against original county or NARA microfilm, and never use autosomal DNA statistics for clinical or legal parentage determinations. Nothing on this site is legal, probate, medical, or financial advice. Spotted an error? Tell us and we will review it under our corrections policy.
Back to the beginning ↑