For additional data security purposes, please create or login into our subscriptions module of HmBr.

PERA — a rating system that measures performance, not just outcome

Abstract

An open framework for fair, transparent skill ratings — built for the HmBr Sports community

Most rating systems answer one question: did you win? PERA answers a different one: how did you play, relative to what was expected of you?

The distinction sounds small. It isn't.

Under a typical Elo-style system, a 21–19 win and a 21–5 win produce the same rating change. Both are "wins." But anyone who's played badminton knows those are wildly different matches — one was a coin flip, the other was a clinic. A rating system that treats them identically is throwing away signal that exists in every scoresheet.

PERA reads what actually happened. Your performance in a match is your point share — total points won divided by total points played. Your expected performance comes from the rating gap with your opponent. If you won 21–19, 21–19, you played at about 50.4% — even though you won. If your rating said you should have won 60% of points, you actually under-performed. Your rating dips slightly. If you won 21–5, 21–5, you played at 84% against an opponent your rating expected you to dominate, and you delivered. Your rating climbs.

Yes — under PERA, you can win a match and still lose rating points, and you can lose a match and still gain them. That's the design choice most likely to surprise you the first time it happens. It's also the whole point: ratings should reflect what you did on court, not just whether the scoreboard tilted your way.

Why this matters for #playmoresavemore

The HmBr Sports community grows on volume of play. More matches against more opponents builds skill faster than any other intervention, and #playmoresavemore is built around that loop. PERA is designed to reward the same pattern directly:

More play, faster calibration. Every match feeds the system real signal — not a binary win/loss flag, but actual performance data. Players who show up more often get reliable ratings sooner.

Cross-cluster pairings count extra. Playing opponents from outside your usual circle does more for your rating's reliability than any number of matches against the same five people. PERA explicitly tracks this and rewards network breadth through its status ladder (Provisional → Developing → Established → Stable).

Mela-style events feed the system. Non-elimination, multi-match formats that mix players across rating bands and clubs aren't separate ranking events under PERA — they're calibration mechanisms that improve everyone's rating at once.

The short version: more play means better data, better data means fairer ratings, fairer ratings build the trust that gets people back on court. That's the loop #playmoresavemore is designed around, and PERA is built to fit it.

What's in the specification

The full PERA specification is a 30-page document covering:
  • The core scoring rules — how performance, expected performance, and rating updates are computed
  • A bounded adaptive K-factor that responds quickly to mis-calibrated ratings without permitting runaway volatility
  • A recursive uncertainty estimator that tracks how well a player's rating is predicting their actual performance
  • A status ladder that exposes rating reliability to users in plain language
  • A doubles model with bounded rating-skewed credit allocation between partners
  • Path-dependence rules and historical recalculation procedures
  • Network connectivity diagnostics for cross-cluster comparability
  • Side-by-side comparison with Elo, Glicko-2, TrueSkill, and margin-of-victory models from the sports analytics literature
  • A validation roadmap listing every parameter that needs empirical calibration before production deployment
  • A full references section with attribution to foundational works (Elo, Glickman, Bradley & Terry, Thurstone, Herbrich et al., and others)
Each design decision in the body is paired with a justification appendix that explains what was chosen, why, what alternatives were rejected, and what would invalidate the choice.

Status: draft for community review (v0.9)

PERA is presented as a defensible framework with explicit unknowns, not as a finished product. Several parameters — including the expectation scale constant, the K-factor bounds, the doubles split parameters, and the status thresholds — are starting priors that need empirical calibration on real match data. The validation roadmap (Appendix L) lays out what that work looks like.

We're publishing this version to invite review and pushback. If you've worked with rating systems, run a league, or have opinions about how skill should be measured in racket sports, we want to hear from you. The LinkedIn announcement linked below is where the discussion is happening.

PERA — A Smarter Way to Measure True Player Performance

PERA redefines skill ratings by going beyond simple wins and losses to capture how well you actually play. By comparing your on-court performance against expectations, it creates a fair, transparent, and data-rich system that rewards consistency, competitive intensity, and active play across the HmBr Sports community.

View PERA Spec

Open for Review & Community Feedback

PERA is a draft framework with key parameters that still need real-world validation using match data. We’re inviting players, league organizers, and experts to review, challenge, and help refine the system.

Linkedin Annoncement

This is a Heading

You can edit text on your website by double clicking on a text box on your website. Alternatively, when you select a text box a settings menu will appear. your website by double clicking on a text box on your website. Alternatively, when you select a text box

Reditt Annoncement
Items have been added to cart.
One or more items could not be added to cart due to certain restrictions.
Added to cart
- There was an error adding to cart. Please try again.
Quantity updated
- An error occurred. Please try again later.
Deleted from cart
- Can't delete this product from the cart at the moment. Please try again later.