The conventional assumption in body measurement APIs is that more input data produces better predictions. Height and weight together should be better than height alone. Height, weight, and three circumference measurements should be better still.
The reality is more nuanced — and one of the more counterintuitive findings from anthropometric prediction research is that a well-chosen single anchor can outperform a poorly chosen combination of multiple anchors.
What anchors are
An anchor is any body measurement you provide as input to the prediction engine. The primary anchors are body_height and body_mass — the two measurements that explain the most variance in full-body anthropometry. Secondary anchors are measurements like foot length, hand length, sitting height, or span (arm span) — related to height through population-validated ratios.
Circumference anchors (chest, waist, hip, neck, wrist) are a special category: they directly constrain soft-tissue predictions and improve FLESH dimension confidence.
The imputation engine
When you provide an anchor that’s not a primary anchor, the API doesn’t directly use it in the Ridge Regression model. Instead, it runs a two-step process:
-
Imputation: Derive
body_heightandbody_massfrom the provided anchor using population-validated regression equations. For example:body_height ≈ 6.876 × foot_length + intercept(simplified). -
Primary prediction: Run the adult Ridge model on the imputed height and weight.
The imputation introduces additional uncertainty — you’re predicting height from foot length, then predicting all other dimensions from that predicted height. This compounds error, which is why the confidence score drops to SECONDARY tier (~74 for BONE, ~67 for FLESH) when the input is an imputed anchor.
A working example: foot length only
payload = {
"input_data": {
"input_unit_system": "metric",
"subject": {
"gender": "male",
"age_category": "ADULT",
"input_origin_region": "EUROPE"
},
"anchors": {
"foot_length": 275 # mm — approx. US size 10 / EU 44
}
},
"output_settings": {
"calculation": {
"calculation_model": "AUTO",
"target_region": "EUROPE",
"body_build_type": "CIVILIAN"
},
"requested_dimensions": { "bundle": "FULL_BODY" },
"output_format": {
"include_range_95": True,
"include_iso_codes": False
}
}
}
The response is a full 130-dimension profile, with a note in the header that anchor_tier: "SECONDARY". The predicted height from a 275mm foot would be approximately 181–184cm for a European male — a reasonable estimate, though with meaningful uncertainty.
When a single anchor is actually the right choice
For some real-world integrations, you don’t have height and weight. A rental equipment platform knows the customer’s shoe size from a previous purchase. A glove manufacturer has the customer’s hand circumference from a past order. An eyewear company knows head circumference from a previous fitting.
In these contexts, imputing from the available anchor is better than asking the user for a measurement they find intrusive (weight is particularly sensitive for many users). A single, domain-appropriate anchor produces reasonable estimates with known uncertainty bounds.
# Glove sizing from hand circumference
"anchors": {
"wrist_circumference": 165 # mm — known from previous order
}
The HAND_ARM dimensions will benefit most from this input. The imputation will derive approximate height and mass, then the primary model runs from there.
The multi-anchor trap
Here’s the counterintuitive finding: adding more non-primary anchors doesn’t always improve predictions, and can sometimes degrade them.
The imputation engine uses the single best anchor for height estimation. Adding multiple secondary anchors (say, foot length AND knee height AND span) doesn’t average them in a way that reduces uncertainty — the system selects the most informative single anchor from the set and ignores the others for imputation purposes.
The exception is circumference anchors, which directly improve FLESH dimension predictions and are always additive. The rule applies specifically to non-circumference secondary anchors.
What actually improves predictions:
| Change | Effect |
|---|---|
| Add weight to height | +5–7 confidence points on FLESH |
| Add any circumference to height+weight | +2–3 confidence points on FLESH |
| Add multiple circumferences | Additive improvement per region |
| Add foot length to height+weight | No effect (height already known) |
| Add knee height to height+weight | No effect (height already known) |
The last two are the trap. If you already have height and weight, additional skeletal measurements (foot length, hand length, span) don’t improve the adult Ridge model — they’re redundant given height is already the primary predictor.
The anchor decision tree
Do you have body_height?
├── Yes → Do you have body_mass?
│ ├── Yes → PRIMARY_BOTH tier. Add circumferences to improve further.
│ └── No → Impute mass from height. Lower confidence on FLESH.
└── No → Do you have a secondary anchor (foot, hand, span)?
├── Yes → Impute height from anchor. SECONDARY tier.
└── No → Is this a pediatric subject with known age?
├── Yes → Pediatric model: no anchors required.
└── No → Cannot predict. Return 422 error.
Pediatric: the zero-anchor case
The pediatric model is the only case where no anchors are required. For subjects with a pediatric age category (INFANT, TODDLER, CHILD, PRE_TEEN, TEEN) or an exact_age ≤ 20, the LMS Box-Cox model derives height and weight from CDC/WHO growth charts for the given age and sex.
"input_data": {
"subject": {
"gender": "female",
"exact_age": 7.0,
"age_category": "CHILD",
"input_origin_region": "GLOBAL"
},
"anchors": {} # empty — the pediatric model doesn't need them
}
For pediatric HEAD_FACE dimensions, LMS-derived values carry confidence 99 — higher than anything achievable through adult Ridge regression, because the LMS growth chart calibration is extremely tight for head circumference in the 0–18 age range.
Practical guidance
For most applications, the optimal anchor strategy is:
- Always ask for height and weight (or height alone if weight is sensitive)
- Ask for one circumference relevant to your use case (waist for fashion, wrist for wearables)
- If the user has previously provided shoe size or glove size, use those as optional secondary anchors only if height isn’t available
Don’t collect body measurements for their own sake. Each measurement has a user experience cost. The goal is the minimum viable anchor set that produces the prediction accuracy your use case requires.