Skip to main content

Methodology

How your percentile is calculated

A published strength chart sets the starting point. Lifts logged on armstats take over as they add up.

The short version

Every lift is compared only with the same exercise, the same gender, and the same weight class. We call that combination a group. Your weight class is set from the bodyweight on your profile.

Each lift is logged for your right or left arm. The two arms have separate leaderboards, and each arm keeps its own current lift per exercise. Both arms start from the same chart; the live-data part of the blend uses only lifts from the same arm, so left and right standards separate as lifts are logged. Two-handed exercises (such as the EZ bar curl) aren't left or right: they're logged as both arms and ranked on their own.

A new group has few lifts, so a published strength chart sets what normal looks like. Each lift logged in the group shifts the result toward real data. At 30 lifts, the chart and the logged lifts count equally. Past that, logged lifts count more.

Ranks

Your rank is the highest one your percentile reaches. The percentile is the share of your group you out-lift.

RankPercentileShare of lifters
BeginnerBelow 20thBottom 20%: stronger than fewer than 20 in 100
Novice20th – 50thBottom 50%: stronger than 20 in 100
Intermediate50th – 80thTop 50%: stronger than 50 in 100
Advanced80th – 95thTop 20%: stronger than 80 in 100
Elite95th – 99thTop 5%: stronger than 95 in 100
Anomaly99th and upTop 1%: stronger than 99 in 100

Beginner's chart column sits at the 5th percentile, but everyone below Novice counts as Beginner. Lifts far above normal (z above 3, about the top 0.13%) are held for review before they count, so the very top of Anomaly appears once an admin approves them.

Sub-tiers. Each tier has three steps, like grades at school: Elite−, Elite and Elite+. A plus means you're near the top of that tier, a minus means you only just got in. Anomaly+ is the very top: about 1 lifter in 1,000.

The steps are equal thirds of each tier's percentile range (Advanced: 80–85, 85–90, 90–95). Anomaly splits at the 99.5th and 99.9th percentiles, so Anomaly+ is the top 0.1%.

Arm Score is one number from 0 to 1000 that shows how strong one arm is overall, compared with lifters your size. Each arm gets its own. To unlock it, log all five table lifts with that arm: side pressure, cup, back pressure, riser and pronation. 500 means that arm is right in the middle; the higher it is, the more lifters it beats. Only those five count, so you're never marked down for skipping curls or other extra lifts.

How it's worked out: each lift's percentile is turned back into a z-score (how many standard deviations above the median it is, the bell curve's own unit). The five z-scores are averaged and the average goes back through the curve to a percentile. The score is that percentile × 10, so being average on all five is 500 and the 99th percentile on all five is about 990. Averaging z rather than percentiles keeps the top end honest, since going from the 98th to the 99th percentile takes far more strength than going from the 50th to the 51st. Flagged lifts don't count, and your headline Arm Score is your stronger arm.

Step 1: The baseline chart

For each exercise we store a chart with rows by bodyweight: 155, 175, 200, 220, 240, 265 and 310+ lb for the armwrestling lifts, and every 10 lb from 110 to 310 lb for the curls (shown below at the same bodyweights as the others). Each row lists five ranks, Beginner to Elite, each at a fixed percentile (see Ranks above). Anomaly isn't on any chart: it comes from the same bell curve as your percentile (step 4), so it sharpens as lifts are logged.

Everyone in a weight class shares one standard, like a weigh-in: a 96 kg and a 105 kg Light Heavyweight are ranked against the same line, and so are a 300 lb and a 350 lb Super Heavyweight. That line is read at the class's weigh-in limit (Light Heavyweight at 105 kg); the open classes use 125 kg for men and 90 kg for women.

A class limit rarely lands exactly on a chart row, so we take the two nearest rows and blend them in a straight line. Above a chart's last row, that row is used.

Below a chart's first row, standards are estimated (under 155 lb for the armwrestling lifts, under 110 lb for the curls). We scale the first row down by bodyweight. How fast it scales comes from the chart itself: we fit strength ∝ bodyweightk across all of that exercise's rows. Every rank is scaled by the same factor, so the ranks stay in order.

Men's light classes have a floor on the armwrestling lifts (not the curls). The charts drop off quickly below about 170 lb, so each rank's standard is at least a share of the Welterweight standard: 90% at Featherweight, 95% at Lightweight, rising smoothly to 100% at about 179 lb. The floor only raises standards, never lowers them.

Women's chart: estimated, not measured

There is no published women's chart yet. Women are compared against the men's chart scaled to a fixed fraction. That figure is a rough placeholder from grip and pulling-strength research, not measured on armwrestling lifts. Treat women's percentiles as approximate. Once a women's group has more than 30 lifts, logged lifts outweigh the estimate.

Those five numbers are then turned into a bell curve. We draw the straight line that best fits "rank value vs. z-score" (least squares), and that line gives us the chart's average (μstandard) and spread (σstandard):

value ≈ μ_standard + σ_standard · z

μ_standard = (B + N + I + A + E) / 5
σ_standard = Σ zᵢ·valueᵢ / Σ zᵢ²
Loading…

Step 2: The live data

We take every non-flagged lift in your group and compute its average (μactual) and standard deviation (σactual). n is the number of those lifts. A standard deviation needs at least two lifts, so with fewer than two the live σ is left out.

Step 3: Blend them

The two are combined as a weighted average. The chart counts as if it were n₀ = 30 lifters, and the real data counts as n lifters:

μ_blended = (n₀ · μ_standard + n · μ_actual) / (n₀ + n)
σ_blended = (n₀ · σ_standard + n · σ_actual) / (n₀ + n)

n₀ = 30
Logged lifts (n)Chart weightLogged-lift weight
0100%
0%
1075%
25%
3050%
50%
9025%
75%
27010%
90%

Step 4: Your percentile

Your lift is placed on the blended bell curve. Φ is the standard normal cumulative distribution function. It gives the share of the curve that falls below your z-score:

z = (weight_lifted − μ_blended) / σ_blended

percentile = Φ(z) × 100

A percentile of 90 means your lift beats about 90% of its group: the top 10%. Your rank is the highest rank your percentile reaches.

Keeping it honest

A new lift is flagged for review if either is true:

  • it reaches Anomaly, the top 1% of its group (a z-score of 2.33 or more against the group's blended curve), or
  • the weight lifted is more than 5× bodyweight.

Flagged lifts need proof (a video link, notes, or a video emailed to us) and are excluded from percentiles and leaderboards until an admin reviews them. Your own flagged lifts show on My Results as "Under review".

Weight classes

armstats uses the East vs West (EVW) weight classes. Your class comes from the bodyweight on your profile.

Men

  • Featherweightup to 154 lb
  • Lightweightup to 170 lb
  • Welterweightup to 187 lb
  • Middleweightup to 209 lb
  • Light Heavyweightup to 231 lb
  • Heavyweightup to 254 lb
  • Super Heavyweightover 254 lb

Women

  • Featherweightup to 132 lb
  • Lightweightup to 154 lb
  • Middleweightup to 176 lb
  • Openweightover 176 lb

armstats isn't affiliated with or endorsed by any athlete named on the site.