Calculator Methodology
This page documents the source data, eligibility rules, calculation, holdout evaluation, and important limits of version 3.0.
Method version 3.0 · Generated and published October 7, 2026
Short version
We derived puppy-to-adult weight fractions from the anonymized veterinary-record dataset released with Salt et al. (2017). Each eligible dog needed a young-adult outcome between 1.75 and 2.25 years. Eighty percent of eligible dogs produced the curve tables; the remaining 20% were kept separate until evaluation.
For a puppy's age, adult-size group, and sex, the calculator interpolates the median observed fraction of adult weight. It also uses the 10th and 90th percentile fractions to show a wider population-variation range.
Source dataset
The source is the supporting dataset for Salt C, Morris PJ, German AJ, et al., “Growth standard charts for monitoring bodyweight in dogs of different sizes,” PLOS ONE (2017). The paper analyzed records from more than six million young dogs attending over 900 Banfield Pet Hospitals, mainly in the United States.
The anonymized supporting file contains 14,957,947 visit rows and is available from the University of Liverpool Data Catalogue under CC BY 4.0. We do not redistribute the raw row-level records.
How we derived the curves
- Eligible visits: retained preventive-care or healthy-pet visits and excluded visits recorded or predicted as thin or heavy.
- Adult outcome: calculated each dog's young-adult outcome as its median eligible weight from 1.75 through 2.25 years.
- One dog per age bin: collapsed multiple visits from the same dog in the same four-week bin to one median observation.
- Adult-size groups: assigned size from the source record's average adult breed weight using the study's published boundaries through 40 kg, plus an exploratory over-40 kg group.
- Fractions: divided each puppy measurement by that dog's observed young-adult outcome.
- Training/holdout split: used PET_ID modulo 5 to reserve 20% of dogs for evaluation. Those dogs did not contribute to the curves.
- Curve points: calculated the 10th, 50th, and 90th percentiles for each size, sex, and four-week age bin, then interpolated between points in the browser.
Adult-size groups
| Calculator group | Adult weight in kg | Adult weight in lb |
|---|---|---|
| Toy | < 6.5 kg | < 14.3 lb |
| Small | 6.5–9 kg | 14.3–19.8 lb |
| Medium | 9–15 kg | 19.8–33.1 lb |
| Large | 15–30 kg | 33.1–66.1 lb |
| Very large | 30–40 kg | 66.1–88.2 lb |
| Giant | > 40 kg | > 88.2 lb |
The paper developed formal category curves only through 40 kg. It reported that giant breeds were too heterogeneous for one clinical category. We provide an exploratory over-40 kg aggregate from eligible raw records because owners still need a broad planning estimate, but giant results deserve extra caution and are not a reproduction of an official clinical chart.
How breed and sex affect the result
If sex is selected, the calculator uses the corresponding male or female distribution; otherwise it uses the combined-sex distribution. There is no arbitrary percentage adjustment.
A breed selection chooses the adult-size curve and displays that breed's listed adult reference range separately. The breed range is not blended into or forced onto the measurement-based estimate. This makes any disagreement visible instead of hiding it inside a weighting rule.
When adult size is unknown, the calculator evaluates all six size groups and returns a deliberately broad envelope. Choosing a defensible size from known parents or a reliable breed identification makes the result more useful.
What the holdout test found
Across 335,780 held-out age observations, the central estimate had a median absolute percentage error of 9.5%. The 10th–90th percentile variation band contained 80% of observed outcomes. Results improved with age because later puppy measurements contain more information about eventual adult weight.
This is an internal retrospective holdout test, not prospective clinical validation. Read the full breakdown and definitions on the validation report.
Downloads and reproducibility
- Derived curve points (CSV)
- Curves, sample sizes, and validation metrics (JSON)
- Attribution, derivation summary, license, and limitations
The repository includes the derivation script at scripts/derive-growth-curves.py. Supply the original University of Liverpool ZIP file to reproduce the tables; the raw source data is never committed to or served by this website.
Known limitations
- The source records came from one US veterinary network and mainly cover 1994–2013.
- Breed was supplied by owners and was not genetically verified.
- The source paper excluded mixed-breed dogs, so mixed-breed estimates depend on choosing a plausible adult-size group.
- Our eligibility rules approximate, but do not reproduce, the paper's full GAMLSS modeling and multi-stage cleaning procedure.
- Dogs with adult follow-up may differ from dogs without it, and visit frequency was not random.
- Weight alone cannot identify frame, body condition, health, nutrition, or ancestry.
- The 10th–90th percentile band is descriptive population variation, not a clinical confidence interval.
- The model has not been prospectively tested on a newer, independent veterinary population.
Use the output for broad planning and trend comparison. Sudden weight loss, failure to gain, poor appetite, digestive signs, lethargy, or body-condition concerns need assessment by a licensed veterinarian.
Corrections
If you find a discrepancy between the published table, the downloadable data, and the calculator output, email contact@puppysizecalculator.com with the input values and page URL.