Ascension

Ran into some unexpected behavior when running Placement Mode on a new, unrated performer. If the unrated performer loses its first match (usually against another unrated or low-ranking performer), occasionally this seems to trigger a sort of “underflow” error where the new performer will then be ranked against the top-rated performer in the database – if they lose this match, they’ll then be ranked against the second-highest-rated, then the third-highest-rated, etc. on down the line.

I’m not sure how the rating logic works, but perhaps the system should avoid Unrated vs. Unrated matches for a newcomer’s first match to guarantee a “real” placement in the heirarchy? I guess the root question I’m curious about is: how is an unrated performer’s rank calculated, if they lose their first match?

Sidebar question: Will performers be sortable by Ascension Rank once the Custom Field sort options drop in a future Stash update?

1 Like

In a perfect world the floor should be defined and a unrated performer should hit the floor of .1 if failing their first match however unrated handling logic has been changed and I never compensated by adjusting placement\champion to account for this. Thank you for letting me know it should be fixed in the next release.

Absolutely, in fact that is why Im setting the foundation with the composite scoring system now so I can plug in the value straight into graphql. This will allow me to continue to operate within the bounds of stashs rating system, while giving the user a more granular rating at a high and lower level.

1 Like

Thanks for the reply! One more interesting issue. I ran a reset on the database – wiped history, ratings, etc. – then primed it. Ran a couple ratings, then checked the Statistics page – which is showing the tiers out of order, for some reason (F above D). Just a heads-up about this behavior.

1 Like

No problem man, that is an incredibly weird bug. Have no idea how thats happening off the top ill look into it. Thank you

What happens when you refresh page and open it?? Could be a cache issue

Refresh (and plugin reload, just for kicks) don’t solve the problem. There are some interesting details in the dropdowns, though. C-Tier has #1 and #2 ranked performers (as would be expected, as it’s currently the top tier) but F-Tier appears to have the ones ranked 3-through-20ish. Again, nuked the old rankings + match data and ran a Prime, followed by maybe 10-20 matches.

What version is this? Please confirm from plugin settings.

Looks like I’m running 1.2.5RC1.

Rc is beta version. Rc is release candidate, meaning not final.

1.2.5 prod has alot of shadow fixes to leaderboard and sorting.

Disabled the “RC” branch and switched over to the “HF” branch; that appears to have fixed the UI issue of the groups sorting incorrectly (F over D is no longer happening – good news!); however, there’s still something odd happening with the ranks within the groups – Group C (still the top group) contains performers ranked #1-7, as well as #31-89, but performers ranked #8-30 are in Group F. Group D appears to be sorting correctly (#90-300ish).

To be clear: the actual rating values of the performers are correct (8-30 should be in Group F, by rating alone) but something about how their rank is calculated isn’t working as expected.

Can you show me a screenshot of your leaderboard without performer names.

This seems like composite scoring is doing something funny with your db being primed and match counts being non existent.

Sure; here’s the C Tier – the discontinuity happens at #11/#38 (ran a few more head-to-heads since last post):

And here’s the F-Tier, scrolled down to the point of discontinuity (#37/#364):

F-Tier contains Ranked Performers #12-#37.

Yeah composite score is boosting performers artificially due to the primer task which subsequently places them higher than they should be in the leaderboard.

Composite Formula:
Composite Score = (Rating/100) + (Win Rate × 0.5) + (Win Margin/1000) + (Total Matches/10000)

Interesting find. Ill have to think about this one. Thanks for working with me on this. Could probably just have it exclude calculation for 0 match performers.

2 Likes

Good deal, happy to help. Thanks for your work on this!

1 Like

Feature Suggestion:

Might be outside of the scope. But something like having multiple performer images to better judge the performers in comparison mode would be neat. Maybe images that are randomly shown need to be tagged for ascension and match the respective performer?

Or even if we could compare predefined/custom performer ‘attributes’, a performer attributes mode, tagging based on the attribute a bit like the ‘advanced performer/scene rating’ plugin but instead of stars its a bit more grounding with a comparative base, ones better than the other system. later maybe aggregate of attributes for a score too? Battle mode where you compare the attribute ladder of each performer. Dunno its a rough idea, but for the sake of fun.:slight_smile:

All of what you mentioned is already in the dev journal. The tag mode however comes with its own set of problems. Since you will be comparing performers of different metrics, these metrics need to be isolated from the overall pool to prevent performers from being boosted to where they shouldnt be. It is not fair for performers to battle in a ‘big tits’ tag comparison and then reach S Tier of the global score.

This means I need to design another scoring system that works in tandom with the one that already exists as well as integrating the tier system with that. So if you did battle of big tits tag, performers would be scored amongst that category but still have their own rank in the global scope that still maintains hierarchy. You also run into the issue with this being a highly customizable feature, users will need to be able to name and create their tag battle categories and then the logic accurately discover and maintain said values across the different parts of the UI.

Its not a simple feature to add, especially with what I’ve already done up until this point and it’ll require a lot of time. Before I even get to that mode I think the match making needs to be rewritten entirely to be more agnostic. But yes, its already being thought about and being developed.

1 Like

Just ran the update; thanks for addressing the underflow and unrated vs. unrated issues! Not sure if this outcome is intended or you’re still working on a fix, but I’m still seeing those discontinuities in rank (although unrated items are showing “N/A” for composite score, which I think you intended); here’s an example (this is in the C Tier, discontinuity between #41 / #100).

Just bringing this back to your attention, in case you weren’t aware. Problem will fix itself once all performers have at least one match, I’d imagine.

As an additional thought RE: the tag / filter search discussion (“tag mode”) – isn’t this issue already kind of present just via the gender filters already in the plugin? You’re sorting a slice of the total items, but still assigning a global value; it’s just via gender instead of another arbitrary variable / filter. Or am I misunderstanding?

One other find I thought was interesting:

This is down in F-Tier – the Super Losers who are down in the dregs (0.1-ish) are ranked correctly below the 0.5-rated never-competes (no discontinuity between 1078 / 1080). My initial guess was that the system was just ranking every competitor with a match history above every competitor without, but that doesn’t appear to be strictly true. The issue appears to be more around performers with winning records, who are ranked higher than non-competes regardless of Rating. Anyway, not sure if any of this helps, but there ya go!

It’ll fix itself. I’m going to change how the rank placement is done anyway next patch.

Not really the same, if a player rates all of one gender in a vacuum then they’d still rank fairly if you were to keep it exclusive by interpreting one gender as its own dataset. It may not be 1 to 1 in placement numbering on the leaderboard, but it’d be a healthy assumption to say my number 2 male rating is the number 1 of the male gender. When you mix, you can assume the user would consider the comparison fair so the ranking placement really doesnt matter in this case.

When you have a category like ‘big tits’ for example and rank your performers to the top using this metric. It wouldn’t be fair against the flat chested performers would it? You are excluding entire datasets and selectively boosting specific ones with exclusive ranking comparisons. That is why specific selections of comparison values should be segregated from global rating.

Regarding the leaderboard, from what I am seeing this is working as intended. Most of your discombobulation will balance out once you start doing more matches.Not really a significant issue at the moment.

1 Like

Right on; it doesn’t really bother me either way, just letting ya know. Appreciate it!