Unofficial estimates and the math isn't finalized yet. If you spot an error, please email nikita@getdatingphotos.com.

Approximately

-- %

of Dating photos would score
--
after 40 votes

Enable at least one trait to see the estimate.

Votes per photo

More votes squeeze out measurement noise. Photofeeler recommends at least 20 votes before you trust any single score.

votes

Trait thresholds

Tick the traits that must all clear their cutoff at the same time.

How this is computed Plain-English notes

The short version

What this percentage actually means

We estimate, across the entire Photofeeler Dating pool, what share of photos would clear your cutoffs at the chosen vote count. The model uses three ingredients and nothing else: how much voters agree on a single trait, how scores on different traits move together and a bell-curve assumption for the leftover noise after Photofeeler's adjustments.

Read it like this

Pick a random Dating photo, give it your chosen number of votes. Roughly this share of those photos would clear every enabled cutoff at the same time.

Three ingredients

What goes into the percentage

1

How much voters agree on a trait

Two voters watching the same photo can disagree on whether it looks Attractive. The more they line up, the more the score is about the photo itself and the less it's about who happened to vote. Statisticians call this the intraclass correlation, or ICC.

2

How the traits move together

A voter who picks "Yes" on Attractive usually picks "Yes" on Smart too, and a bit less often on Trustworthy. The traits aren't independent: Smart and Attractive track tightly, Trustworthy and Attractive only loosely.

3

The shape of the leftover noise

After Photofeeler down-weights lazy raters and rescales each voter to their own habits, what's left is a bell curve sitting around a photo's true score. It's wider when only a few votes are in, and wider still toward the ends of the scale — which is exactly where a "9+" cutoff sits.

The math, step by step

From your cutoffs to a percentage

The 0–10 score is friendly to read but awkward to do math with. The first step turns each cutoff into a new number we'll call z, where 0 means an average photo and bigger numbers mean rarer ones. A cutoff of 5 maps to z = 0, a cutoff of 7 to about 0.5 and a cutoff of 9 to about 1.3:

z  =  Φ1 ⁣(s10)z \;=\; \Phi^{-1}\!\left(\dfrac{s}{10}\right)

Next we describe how photos truly differ from one another. Some photos really are more attractive than others, and that genuine spread is what the ICC pins down: a higher ICC means voters agree more, so more of the score is the photo and less is the voter. That fixes the between-photo spread σθ of each trait's true score, anchored to Photofeeler's dispersion constant C = 0.38 from its fit on 25,098 Dating votes. Each trait also sits a little above the 5.0 design centre (mean μk), because people test photos they already like:

σe=Cϕ(0),σθ,k=σeICCk1ICCk\sigma_e = \dfrac{C}{\phi(0)}, \qquad \sigma_{\theta,k} = \sigma_e\sqrt{\dfrac{\mathrm{ICC}_k}{1-\mathrm{ICC}_k}}

On top of that true score sits measurement noise: with only N votes the reported score is an estimate, not the truth. Photofeeler's own formula says that noise is not constant — it grows toward the ends of the scale, because the 0–10 score saturates near 0 and 10. So a "9+" cutoff lives exactly where a few votes can swing the result the most, which is why the vote count matters. Averaging this noise over the photo population gives each trait's marginal chance of clearing its cutoff:

σz(z,N)  =  Cϕ(z)N\sigma_z(z,\,N) \;=\; \dfrac{C}{\phi(z)\,\sqrt{N}}
Pk  =  φ ⁣(θ;μk,σθ,k)[1Φ ⁣(zkthrθσz(θ,N))]dθP_k \;=\; \int \varphi\!\big(\theta;\,\mu_k,\,\sigma_{\theta,k}\big)\,\Big[1-\Phi\!\Big(\tfrac{z_k^{\text{thr}}-\theta}{\sigma_z(\theta,\,N)}\Big)\Big]\,d\theta

Finally we stitch the traits together. Clearing 9 on Attractive makes clearing 9 on Smart a little likelier, so the cutoffs aren't independent. We couple the per-trait chances with a Gaussian copula whose correlation R is set by the trait correlations ρ: each marginal chance Pk becomes a latent cutoff uk, and the percentage at the top is the chance a single draw clears all of them at once:

uk=Φ1(1Pk),P  =  Pr ⁣(Xkuk k),XN(0,R)u_k = \Phi^{-1}(1-P_k), \qquad P \;=\; \Pr\!\big(X_k \ge u_k\ \forall k\big),\quad \mathbf{X}\sim\mathcal N(\mathbf 0,\,R)

Parameter values

What numbers are baked in

Voter agreement (ICC)

  • Attractive0.24
  • Smart0.59
  • Trustworthy0.36

Each number runs from 0 (voters completely disagree on the trait) to 1 (they always agree). Smart lands highest because grooming and outfit choices read the same way to almost everyone, so its score barely moves with more votes. Attractive has the most taste-driven disagreement, so it lands lowest. That's why a few votes can swing an Attractive score the most. Trustworthy sits in between. Values are tuned so the model reproduces the observed 9.0+ rates for women rating men.

Trait correlations

  • Smart × Attractive0.33
  • Smart × Trustworthy0.27
  • Trustworthy × Attractive0.14

Each pair runs from -1 (the traits move in opposite directions) to +1 (they move in lockstep); 0 means unrelated. All three are positive but modest: clearing 9 on one trait nudges the others up without dragging them along. Smart and Attractive are the most linked (a clean, photogenic shot reads as both), while Trustworthy and Attractive are the loosest, because a striking photo can also read as posed or edgy. These set how often the 9.0+ tails co-occur.