← Back to the body-composition question · Front page
How has my body composition changed?
How have fat, lean mass and bone changed across every DEXA scan, first to latest?
Client name: Bill · 70 BodySpec scans · 2021-06-15 → 2026-09-15
Answer to the presenting question
Less fat, more lean mass than when the scans began — based on the analysis below, and within its assumptions and limits.
- Fat: less. 2021 average 38 → 2026 average 31 lb. In between it fell as low as 13 lb (2024-01) and climbed back.
- Lean mass: more. 2021 average 134 → 2026 average 141 lb.
- Bone density: lower. 2021 average 1.220 → 2026 average 1.182 g/cm².
- Compared: 2021 (2 scans) against 2026 (7 scans so far).
Do you have a similar question? Join the waitlist.
Ask for a chart
Table of these points
How this chart was derived
The short answer
Across 70 scans from 2021-06-15 to 2026-09-15, five things happened, in this order. The phase boundaries are drawn by eye from the fat line, not found by a test; the numbers inside each phase are exact.
- Slow cut, 2021-06-15 → 2023-06-24. Fat mass went from 40.9 to 24.0 lb over two years (12 scans). Lean mass never left the band 132.9–138.5 lb through the end of 2023.
- Hard cut, 2023-08-12 → 2023-12-16. Fat went from 22.6 to 15.1 lb over 8 scans in 4 months, with a low of 13.9 lb on 2023-12-02; body fat from 13.7% to 9.5%, and visceral fat from 0.75 to 0.46 lb (it started at 1.90 in 2021). Lean mass read 136.9 lb at the start and 137.5 at the end.
- Lean gain, 2024. Lean mass averaged 141.6 lb over 25 scans in 2024 against 136.0 over 13 in 2023: +5.6 lb, about 3× the 1.8 lb that scans ≤21 days apart typically differ by. It was spread across the body — comparing the same two yearly means, arms +2.4, legs +1.9, trunk +1.6 lb — and those three are too close to rank. Fat came back alongside it, 14.4 → 27.7 lb.
- Fat regain, 2025-01-26 → 2026-03-25. Fat kept climbing, 30.3 → 33.0 lb over 21 scans, and visceral fat with it, 0.77 → 1.23 lb. Lean mass held on to the 2024 gain: it averaged 143.3 lb over 18 scans in 2025.
- 2026 cut, 2026-05-02 → 2026-09-15. Fat 33.4 → 24.2 lb, body fat 18.8% → 14.4%, visceral fat 1.21 → 0.51 lb. Unlike the 2023 cut, lean mass did not hold: it averaged 138.6 lb over these 4 scans, -4.7 lb against 2025's mean — about 3× the noise floor.
Whole-body bone density's yearly average is lower at the end than the start: 1.220 in 2021 and 1.182 g/cm² in 2026, a change of -3.1%, about 4× the typical step between scans (0.010). By year:
- 2021: 1.220 g/cm² (2 scans)
- 2022: 1.204 g/cm² (5 scans)
- 2023: 1.194 g/cm² (13 scans)
- 2024: 1.186 g/cm² (25 scans)
- 2025: 1.194 g/cm² (18 scans)
- 2026: 1.182 g/cm² (7 scans)
How much one scan can be trusted
On 2025-10-18 the same body was scanned twice, 35 minutes apart, on purpose. Nothing real changes in 35 minutes, so every difference below is the measurement itself. The last column is the everyday noise floor used elsewhere on this page (median step between scans ≤21 days apart), for comparison.
| first scan | second scan | difference | typical step | |
|---|---|---|---|---|
| lean mass · whole body lb | 141.4 | 141.1 | -0.4 | 1.8 |
| fat mass · whole body lb | 31.2 | 31.7 | +0.6 | 0.9 |
| body fat · whole body % | 17.4 | 17.7 | +0.3 | 0.5 |
| visceral fat mass · whole body lb | 0.9 | 1.1 | +0.3 | 0.2 |
| bone mineral density · whole body g/cm² | 1.180 | 1.190 | +0.010 | 0.010 |
| lean mass · trunk lb | 67.7 | 67.4 | -0.3 | 1.4 |
| fat mass · trunk lb | 15.8 | 17.0 | +1.1 | 0.5 |
| lean mass · both arms lb | 20.2 | 19.8 | -0.4 | 0.5 |
| lean mass · left arm lb | 9.9 | 9.8 | -0.1 | 0.2 |
| lean mass · right arm lb | 10.3 | 10.0 | -0.3 | 0.3 |
| fat mass · left arm lb | 1.7 | 1.6 | -0.2 | 0.1 |
| fat mass · right arm lb | 1.7 | 1.6 | -0.1 | 0.1 |
| lean mass · both legs lb | 45.9 | 46.1 | +0.2 | 0.8 |
| lean mass · left leg lb | 23.0 | 23.1 | +0.0 | 0.4 |
| lean mass · right leg lb | 22.8 | 23.0 | +0.2 | 0.5 |
| fat mass · left leg lb | 4.8 | 4.6 | -0.2 | 0.2 |
| fat mass · right leg lb | 5.1 | 4.9 | -0.2 | 0.2 |
One pair is one pair: it shows what the difference was that morning, not what it typically is. Within minutes, these moved by more than the typical step between scans weeks apart: visceral fat mass (whole body), fat mass (trunk), fat mass (left arm), fat mass (right arm). A one-scan change in any of those is not a finding. These moved by less: lean mass (whole body), fat mass (whole body), body fat (whole body), bone mineral density (whole body), lean mass (trunk), lean mass (both arms), lean mass (left arm), lean mass (right arm), lean mass (both legs), lean mass (left leg), lean mass (right leg), fat mass (left leg), fat mass (right leg).
The machine matters too. The clinic has three scanners and they do not agree on how your weight splits into lean and fat. Which machine each scan was on, and how much it shifts the numbers →
The headline measures
Shaded: the two cuts, July–December 2023 and May 2026 on (where the record reaches it). Click any chart to open it in the ask box.
Yearly means
Small number: scans that year. Hover a cell for its range.
| 2021 | 2022 | 2023 | 2024 | 2025 | 2026 | |
|---|---|---|---|---|---|---|
| lean mass · whole body lb | 133.62 | 135.85 | 136.013 | 141.625 | 143.318 | 141.27 |
| fat mass · whole body lb | 38.42 | 32.25 | 21.513 | 19.725 | 30.918 | 31.17 |
| body fat · whole body % | 21.52 | 18.55 | 13.013 | 11.725 | 17.118 | 17.47 |
| visceral fat mass · whole body lb | 1.72 | 1.35 | 0.713 | 0.525 | 0.918 | 1.07 |
| lean mass · both arms lb | 17.92 | 17.15 | 16.613 | 19.025 | 19.818 | 19.37 |
| lean mass · both legs lb | 43.82 | 43.55 | 43.013 | 44.825 | 45.318 | 44.57 |
| lean mass · trunk lb | 65.02 | 68.25 | 69.513 | 71.125 | 71.018 | 70.37 |
| bone mineral density · whole body g/cm² | 1.2202 | 1.2045 | 1.19413 | 1.18625 | 1.19418 | 1.1827 |
What the prose above is checked against
Each sentence with a claim in it is computed and tested at build time. A new scan that breaks one fails the build.
- CSV vs PDF: every shared value agrees to the two sources' rounding (720 values, 12 scans, 0 beyond)
- API vs PDF: every shared value agrees to the two sources' rounding (3150 values, 70 scans, 0 beyond)
- API vs CSV: every shared value agrees to the two sources' rounding (576 values, 12 scans, 0 beyond)
- fat fell across the slow cut
- fat fell again across the hard cut
- fat rose across the lean-gain year
- mean lean mass in 2024 exceeds 2023's by more than the scan-to-scan noise floor (141.6 vs 136.0 lb; floor 1.8)
- arms, legs and trunk each gained lean, 2023→2024 means (arms +2.4, legs +1.9, trunk +1.6 lb)
- visceral fat at the end of the hard cut is under half its 2021 start
- fat rose across the fat-regain phase
- fat fell across the 2026 cut
- lean mass held on to the 2024 gain through 2025: 2025's mean is not below 2024's by more than the noise floor (143.3 vs 141.6 lb)
- lean mass during the 2026 cut averages below 2025's by more than the noise floor (138.6 vs 143.3 lb; floor 1.8)
- the report for 2025-10-18 names kh3, the machine the diary says (machine 2)
- the report for 2025-10-20 names kj7, the machine the diary says (machine 3)
- every scanner code is one of the three known (none unknown)
- every scan's machine is known (0 without a report: none)
- significant offsets removed: '2024 minus 2023' in whole-body lean still says what the main page says (+5.6 lb raw, +5.6; floor 1.8)
- significant offsets removed: '2026 cut minus 2025' in whole-body lean still says what the main page says (-4.7 lb raw, -4.7; floor 1.8)
- significant offsets removed: '2025 minus 2024' in whole-body lean still says what the main page says (+1.7 lb raw, +1.7; floor 1.8)
- every estimated offset removed: '2024 minus 2023' in whole-body lean still says what the main page says (+5.6 lb raw, +6.2; floor 1.6)
- every estimated offset removed: '2026 cut minus 2025' in whole-body lean still says what the main page says (-4.7 lb raw, -5.3; floor 1.6)
- every estimated offset removed: '2025 minus 2024' in whole-body lean still says what the main page says (+1.7 lb raw, +2.4; floor 1.6)
Sources and derivation
- PDF reports: 74 files, 70 distinct scans, read with
pdftotext -layout. 0.1 lb precision. - Encore CSV export: 12 scans in grams, full precision.
- BodySpec API: pulled 2026-09-30: 70 scans.
- Where a scan comes from more than one source, the value drawn is from the best: API, then CSV, then PDF. Values drawn, by source: api: 70, csv: 12, pdf: 70.
- CSV vs PDF: 720 shared values over 12 scans; 0 differ by more than the two sources' rounding allows.
- API vs PDF: 3,150 shared values over 70 scans; 0 differ by more than the two sources' rounding allows.
- API vs CSV: 576 shared values over 12 scans; 0 differ by more than the two sources' rounding allows.
- Body fat % follows the report: tissue %fat for android and gynoid, region %fat everywhere else, in every source.
- Noise floor: for each measure, the median absolute difference between scans ≤21 days apart. An upper bound on scanner noise, since two weeks allows real change.
- Every value on this page is in
tidy.csvbeside it.
If you have a health-related question about your own data, join the waitlist for your own custom analysis.
Act soon: it is free while we stand this service up and refine it. All we ask in return is permission to publish a results page like the ones we have made for our other clients. We never publish your surname or your date of birth. The page shows a first name or a pseudonym, whichever you prefer, and your age in years and your sex.