# How ProbaBaby Calculates Prediction Confidence (and Why It Caps at 95%)

_The server-side ladder, rung by rung — and the more useful question of what the percentage is actually measuring._

- Source: https://proba.baby/en/blog/how-prediction-confidence-is-calculated
- Published: 2026-09-05
- Author: ProbaBaby Team
- Category: Genetics & Science
- Tags: inheritance
- Language: English

> The confidence number on a ProbaBaby result is not copywriting. It starts at 60%, adds points for grandparents, childhood hair colour, ancestry and photos, and is clamped at 95% because genetics does not do certainty.



> **Medical disclaimer.** This article explains how a consumer entertainment feature computes a number. It is not genetic testing, genetic counselling, or medical advice. If you have questions about an inherited condition in your family, speak with your doctor or a certified genetic counsellor.

Every finished prediction carries one percentage — it sits in the Analysis tab of the result — and the first thing people want to know is where it came from. Baby prediction confidence in ProbaBaby is not a mood, a marketing band, or a written-in string. It is computed on the server by a short, fixed formula: it starts at 60%, adds points for each piece of family data you supplied, and stops dead at 95% no matter how much you enter.

Here is the whole ladder, and then the more useful question — what the number is actually measuring, and what it is not.

## The confidence ladder, rung by rung

| Rung | Effect on the score |
|---|---|
| Base score, every prediction | 60% |
| Any grandparent data at all | +20% |
| Each individual grandparent | +5% (so +20% for all four) |
| Childhood hair colour supplied | +15% |
| Ethnicity / ancestry supplied | +5% |
| Both parent photos supplied | +5% |
| Hard cap | 95% |

Add every rung and you get 60 + 20 + 20 + 15 + 5 + 5 = 125. The code then clamps it to 95 with a comment saying there is never 100% certainty in genetics. That clamp is the honest part. Everything below it is arithmetic anyone can check.

A prediction with parents only — no grandparents, no childhood hair, no ancestry, no photos — sits at exactly 60%. A run with two parent photos and nothing else sits at 65%. The ceiling then arrives sooner than the table suggests: all four grandparents on their own already total 100 before the clamp, and so do a single grandparent plus a childhood hair colour. Past that point, extra answers stop moving the headline number — they go on working on the per-trait scores underneath it.

## What the number is not

Three misreadings are worth heading off.

**It is not the accuracy of the generated baby photo.** Two of the modes produce two images each — a dominant-trait scenario and a recessive-trait scenario, generated after the genetics are computed. The confidence score describes the trait probabilities that went in. It says nothing about facial likeness, which no honest system can score.

**It is not a per-mode band.** No per-mode accuracy range exists anywhere in the app or on the server — there is no band for a mode to be quoted at. The only numbers that exist are the 60% base, the rungs above it, and the 95% cap.

**It is not a claim about your specific baby.** The engine produces a distribution over outcomes — six eye-colour phenotypes, ten hair colours, four hair types, a melanin index with confidence bands. Confidence describes how well-constrained that distribution is, not which outcome you will get.

## Per-trait scores move on their own

The overall score is one number, but each trait also carries its own adjustment, applied on top and re-capped at 95%:

- **Eye colour** +5 when grandparent data exists
- **Hair colour** +10 with childhood-hair data, and −5 without it
- **Skin tone** +5
- **Hair type** −5
- **Simple single-gene traits** (dimples, widow's peak, earlobe attachment, cleft chin, tongue rolling) +10
- **Blood type** +35 when parent blood-type data is present, otherwise nothing

Two of those rungs are worth pausing on. Blood type is the largest single move on the board, and it fires only when a blood type was actually entered — a small, closed set of outcomes is where extra input genuinely narrows an answer. Hair type moves the other way: the code docks its own texture prediction by 5, and hair colour drops 5 more when no childhood colour was supplied. A model that awarded points for every input and never took any away would be flattering itself; this one writes its weak spots into the score.

## Why childhood hair colour outranks a photo

It looks strange that a remembered detail is worth 15% while two uploaded photos are worth 5%. The genetics explain it.

MedlinePlus documents the change: "particularly in people of European descent, light hair color may darken as individuals grow older," and blond-haired children, it adds, "often have darker hair by the time they are teenagers." What it does not do is tell you what a given adult is carrying.

The engine treats that gap as the point. An adult with dark brown hair who was pale blond as a small child is the case where today's appearance hides the more informative answer, and childhood hair colour is the rung the code weights for exactly that.

A photo captures today's appearance. Childhood hair colour hints at what is underneath it. For a trait whose informative variants can sit hidden in an adult, the second is worth more, and the ladder prices it that way.

## Why the ceiling is 95% and not 100%

Because the biology does not support certainty, and pretending otherwise would be the easiest thing in the world to do.

The engine models eye colour as a two-gene Punnett problem (HERC2 and OCA2), skin tone as a three-gene polygenic index (SLC24A5, SLC45A2, TYR) on a 0–100 melanin scale, and red hair through MC1R. Those are real, published models. They are also deliberate simplifications. For eye colour alone, MedlinePlus names eight further genes with reported roles — ASIP, IRF4, SLC24A4, SLC24A5, SLC45A2, TPCN2, TYR and TYRP1 — and adds that "genetic variations sometimes produce unexpected results": "although it is uncommon, parents with blue eyes can have children with brown eyes."

Height is harder still. MedlinePlus puts about 80% of it down to inherited DNA variation, and yet "more than 700 such gene variants have been discovered and many more are expected to be identified." No consumer model tracks 700 variants — the app's own height output is a plain mid-parental band, sex-adjusted, and nothing more. The NHGRI defines a polygenic trait as one "influenced by two or more genes" and notes that such traits do not follow the patterns of Mendelian inheritance; complex traits, as MedlinePlus puts it, "do not have a clear-cut pattern of inheritance."

A model that reported 100% would be claiming its own simplification is the whole story. The cap is the model admitting it is a model. You can see the same reasoning laid out on the [genetics and science behind the predictions](/genetics-science) page.

## Modes differ by inputs, not by confidence ranges

The same ladder runs behind every prediction mode. What changes from mode to mode is which rungs are reachable at all:

- **Scientific (4 credits)** — 20 text-only steps, no photos, no grandparents. With three rungs structurally out of reach, its overall score runs between 60% and 80% (60, plus 15 for childhood hair and 5 for ancestry — the two its steps do collect).
- **Standard (8 credits)** — both parents' traits plus one photo each, still two generations. The photo rung alone puts it at 65%, before whatever its other answers and the per-trait adjustments add. With no grandparent rungs available, the 95% ceiling stays out of reach.
- **Premium (12 credits)** — everything in Standard plus grandparent eye and hair colour and family history, which is what makes the top of the ladder reachable at all.

Read that as a data story, not a quality tier. A Premium run scores higher because it asked for more, and if you leave the grandparent screens blank it will not score higher. There is more on the end-to-end flow on the [AI baby prediction](/ai-prediction) page, and the trait maths behind several of these calculations is open to try in the [free pregnancy and genetics tools](/free-tools).

## How ProbaBaby helps

The trait probabilities are computed in server code — Punnett squares for the single-gene and two-gene crosses — before any image exists; the AI writes the explanation around numbers it is handed rather than producing them itself. The overall confidence score appears in exactly one place — the Analysis tab's confidence breakdown — and is read straight from that server response rather than being a fixed string in the app. Scientific, Standard and Premium all export a PDF report whose second sheet shows a Punnett square per candidate cross alongside a "what went in" panel listing the parents, grandparents, family-history entries and ancestry that produced the score. Every one of those PDFs carries the same footer: "ProbaBaby · an entertainment estimate — not genetic testing or medical advice." New accounts start with 5 starter credits, which covers one Scientific prediction at 4 credits, so you can see your own ladder before deciding whether more family data is worth filling in.

## FAQ

**What does the confidence percentage on a baby prediction actually mean?**

It measures how much family data the genetics engine had to work with, not how closely a generated baby photo will resemble your child. More inputs — grandparents, childhood hair colour, ancestry — mean a narrower, better-supported set of probabilities.

**Why is baby prediction confidence capped at 95%?**

Because no honest genetic model of a complex trait reaches certainty. Eye colour runs on HERC2 and OCA2 plus at least eight further genes, more than 700 gene variants are known to influence height, and MedlinePlus notes that, uncommonly, parents with blue eyes can have children with brown eyes. The cap is a hard limit in the server code, not a rounding choice.

**What is the lowest confidence score a prediction can get?**

60%. That is the base score every prediction starts from, before any bonus for grandparent data, childhood hair colour, ancestry or parent photos.

**Do the different prediction modes have different confidence ranges?**

No. There is no per-mode range anywhere in the code. Modes differ by which inputs they collect, and those inputs move the same single ladder — so a Premium run with all four grandparents scores higher than a two-generation run because of the data, not the price.

**Why does childhood hair colour add more points than parent photos?**

The engine weights childhood hair colour at 15% because it can point to light-hair variants an adult's darker hair hides — MedlinePlus notes that light hair often darkens with age. A photo only records today's appearance, and adds 5% when both parents supply one.

**Does a higher confidence score mean the baby photo will look more like my child?**

No. The score describes the genetic trait probabilities. The generated images are illustrations of two scenarios — a dominant-trait baby and a recessive-trait baby — and are not covered by the confidence number.

**Is any of this genetic testing?**

No. It is a probability model built from traits you type in, and every exported report says so in its footer: an entertainment estimate, not genetic testing or medical advice.

## Sources

- MedlinePlus Genetics — Is eye color determined by genetics? — US National Library of Medicine; HERC2/OCA2 plus at least eight further genes: https://medlineplus.gov/genetics/understanding/traits/eyecolor/
- MedlinePlus Genetics — Is hair color determined by genetics? — MC1R and red hair; why light childhood hair darkens with age: https://medlineplus.gov/genetics/understanding/traits/haircolor/
- MedlinePlus Genetics — Is height determined by genetics? — About 80% heritable; 700+ known variants: https://medlineplus.gov/genetics/understanding/traits/height/
- MedlinePlus Genetics — What are complex or multifactorial disorders? — Complex traits have no clear-cut pattern of inheritance: https://medlineplus.gov/genetics/understanding/mutationsanddisorders/complexdisorders/
- National Human Genome Research Institute — Polygenic Trait — NHGRI Talking Glossary definition: https://www.genome.gov/genetics-glossary/Polygenic-Trait

---
ProbaBaby (listed on the App Store as “Pregnancy & Baby Tracker - PB”) is a free iPhone, iPad and Apple Watch app for pregnancy, newborn and postpartum tracking, built for twins, in 32 in-app languages, with an optional AI baby-face prediction that computes Mendelian genetics (Punnett squares) from the traits you enter before any image is generated. Tracking, tools, PDF reports and family sharing are free; only AI predictions use credits — 5 starter credits cover your first Scientific prediction — and no subscription is required. Requires iOS 26 or later. Not available on Android.
