github-readme-stats icon indicating copy to clipboard operation
github-readme-stats copied to clipboard

Change the ranking/level system

Open LucBerge opened this issue 3 years ago • 26 comments
trafficstars

Custom badge

I just discovered your repo and it is exactly what I need to create my user repo and user readme. Thank you for the amazing work you are doing here !

Is your feature request related to a problem? Please describe.

I'm surprised by the ranking system currently used:

  • B+ everyone
  • A++ top 60%
  • A+ top 45%
  • S top 25%
  • S+ top 1%

Most of the people who will see a github stats card like this won't understand the ranking system or will not understand it correctly. For me, A+ means really good user (or code quality) if you consider the ABCDEF ranking system.

To actually understand your ranking system, you need to click on the card, start reading the readme and find a little note explaining it.

The ranking label on the card must be obvious for anybody reading the card, whatever the job, nationality, education or culture.

Describe the solution you'd like

Proposing my own ranking system won't be the ideal solution too. It will have a global impact on everybody, so I think the community itself must debate to find the right ranking system !

Describe alternatives you've considered

Instead of a ranking system, you could just display the user rank in percentage:

Additional context

If you think this issue is relevant, consider pinning it so everybody can contribute.

LucBerge avatar Nov 16 '22 10:11 LucBerge

@LucBerge Thanks for your feature request. I agree with you that the ranking system is weird, and I think we are not the only ones since there have been multiple proposals and PRs open that try to improve the ranking:

  • https://github.com/anuraghazra/github-readme-stats/issues/2265
  • https://github.com/anuraghazra/github-readme-stats/issues/1560
  • https://github.com/anuraghazra/github-readme-stats/issues/1579
  • https://github.com/anuraghazra/github-readme-stats/issues/455
  • https://github.com/anuraghazra/github-readme-stats/pull/960
  • https://github.com/anuraghazra/github-readme-stats/pull/1186

I think three things can be improved about the ranking:

  • Switch to a more commonly used grading system (i.e. A-F, A+ to F or % based).
  • Show top-users percentage on hover (see https://github.com/anuraghazra/github-readme-stats/issues/2157).
  • Improve the rank calculation (see https://github.com/anuraghazra/github-readme-stats/pull/2116 and https://github.com/anuraghazra/github-readme-stats/pull/1186).

@anuraghazra I think we can merge https://github.com/anuraghazra/github-readme-stats/pull/2116 and https://github.com/anuraghazra/github-readme-stats/pull/1186 and switch to the A-F or A+ to F ranking system?

rickstaa avatar Nov 18 '22 13:11 rickstaa

This is one of our most requested features, so I have looked at it (see https://github.com/anuraghazra/github-readme-stats/issues/1935). I, however, would like some feedback from @anuraghazra before merging https://github.com/anuraghazra/github-readme-stats/pull/2116 and https://github.com/anuraghazra/github-readme-stats/pull/1186.

rickstaa avatar Nov 18 '22 13:11 rickstaa

In this issue, I'm only talking about the displayed values, I'm not questionning the model behind.

You first have to deal with the computation method before moving to the displayed values.

For now, the propositions are:

  • #1560: S+, S, A, B, C, D, E...
  • #1579: lvl 1, lvl 2, lvl 3, lvl 4...
  • #2265: % based
  • US ranking system: A+, A, B+, B, C+, C...

What else do we have ?

LucBerge avatar Nov 18 '22 14:11 LucBerge

@LucBerge I think the other ones would be the US ranking systems (see https://everydayeducation.com/blogs/news/grading-systems#:~:text=The%20most%20commonly%20used%20grading,100%20instead%20of%20letter%20grades).

  • A-F.
  • A+-F

I prefer these systems while showing the % based results on hover (see https://github.com/anuraghazra/github-readme-stats/issues/2157), but I might be biased let's see what @anuraghazra thinks.

rickstaa avatar Nov 18 '22 14:11 rickstaa

We also have the Japanese, which I think the current ranking is based on (see https://en.wikipedia.org/wiki/Academic_grading_in_Japan). Since only the S+ is confusing for me, I think this one is also fine, but I think fewer people are familiar with that ranking system. So my vote still goes to the US-based ranking systems If we want to use letters.

rickstaa avatar Nov 18 '22 14:11 rickstaa

Well, I didn't know it was Japanese until now...

LucBerge avatar Nov 18 '22 14:11 LucBerge

Well, I didn't know it was Japanese until now...

Same for me. I looked it up some months ago. It was the closest one I could find to the one GRS is using. 🤓 Maybe @anuraghazra can elaborate on which ranking system he based the GRS ranks on.

rickstaa avatar Nov 18 '22 14:11 rickstaa

Hello, I don't think the A-F system is a good idea. C, D and F are associated to a bad grade so it would be like "shaming" new devs because they have little contributions.

francois-rozet avatar Nov 18 '22 16:11 francois-rozet

image Maybe we can refer to the game rank, after all the developers spent a lot of time researching this

ZjzMisaka avatar Nov 19 '22 14:11 ZjzMisaka

Hello, I don't think the A-F system is a good idea. C, D and F are associated to a bad grade so it would be like "shaming" new devs because they have little contributions.

Good point we don't want that 😅!

rickstaa avatar Nov 19 '22 15:11 rickstaa

image Maybe we can refer to the game rank after all the developers spent a lot of time researching this

@ZjzMisaka Thanks for your input. That ranking system looks good to me very clear. It also is very close to the Japanese game ranking system @anuraghazra is currently using. I think if we extend the current ranking system to your suggestion and add a hover that explains the score, we should be good to go (see https://github.com/anuraghazra/github-readme-stats/issues/2157).

rickstaa avatar Nov 19 '22 15:11 rickstaa

@ZjzMisaka, I think your suggestion is similar to the suggestion given in https://github.com/anuraghazra/github-readme-stats/issues/1560. I would go for your version since it doesn't include the F grade and is more commonly used. Let's see what @anuraghazra thinks.

rickstaa avatar Nov 19 '22 19:11 rickstaa

Giving the lowest percentile a "B+" is bizarre. Based on the popularity of the project, I think it deserves a meaningful ranking system that doesn't use "A++" for half of users.

vezaynk avatar Jan 18 '23 16:01 vezaynk

+1 for this, since A+, A++, S, S+, etc are confusing for me. @francois-rozet has a valid point about C, D, and E though, so maybe we should consider something different. Seeing the current ranks though, A++, A+, A, A-, B+, B, B- should be enough, which solves both the problems.

Zo-Bro-23 avatar Jan 19 '23 02:01 Zo-Bro-23

B- to say bottom percentile is weird as well.

Imagine if the top grade this gave was a C+ for top 1%.

Same thing here.

vezaynk avatar Jan 19 '23 02:01 vezaynk

B- to say bottom percentile is weird as well.

Why do you say so? The problem with C and D is that they imply a "bad" user, which is not the case. So we have to make do with A and B alone.

Zo-Bro-23 avatar Jan 19 '23 02:01 Zo-Bro-23

C and D only mean "bad" because they're at the bottom. If you make B- at the bottom, it's not any better, just misleading.

vezaynk avatar Jan 19 '23 02:01 vezaynk

C and D only mean "bad" because they're at the bottom. If you make B- at the bottom, it's not any better, just misleading.

Well, the whole point of changing the ranking system is for users who have no idea what GRS is. When someone randomly comes across a GitHub profile, their impression is different for B and C, since they have no idea what ranking system we use.

The same is true for the current ranking system. I have an A+, which might impress people more than if I had an S, since they have no idea what S means.

Zo-Bro-23 avatar Jan 19 '23 02:01 Zo-Bro-23

In which case we could give everyone an S++++? You see what I'm saying?

vezaynk avatar Jan 19 '23 04:01 vezaynk

In which case we could give everyone an S++++? You see what I'm saying?

Yes. This is difficult 😕 @rickstaa thoughts?

Zo-Bro-23 avatar Jan 19 '23 04:01 Zo-Bro-23

In which case we could give everyone an S++++? You see what I'm saying?

Yes. This is difficult 😕 @rickstaa thoughts?

My vote is with the gaming rank system proposed by @ZjzMisaka (see https://github.com/anuraghazra/github-readme-stats/issues/2265#issuecomment-1320908160). I think that system togheter with a hover that explains the score solves our problems (see #2157). @anuraghazra what do you think?

rickstaa avatar Jan 19 '23 06:01 rickstaa

In which case we could give everyone an S++++? You see what I'm saying?

Yes. This is difficult confused @rickstaa thoughts?

My vote is with the gaming rank system proposed by @ZjzMisaka (see #2265 (comment)). I think that system togheter with a hover that explains the score solves our problems (see #2157). @anuraghazra what do you think?

Sure, that works. Can you add hover text to SVGs though?

Zo-Bro-23 avatar Jan 19 '23 06:01 Zo-Bro-23

In which case we could give everyone an S++++? You see what I'm saying?

Yes. This is difficult confused @rickstaa thoughts?

My vote is with the gaming rank system proposed by @ZjzMisaka (see #2265 (comment)). I think that system togheter with a hover that explains the score solves our problems (see #2157). @anuraghazra what do you think?

Sure, that works. Can you add hover text to SVGs though?

It appears so (see https://stackoverflow.com/questions/41768657/display-text-over-svg-element-on-hover). I also was surprised; I didn't test it out yet. 😅

rickstaa avatar Jan 19 '23 07:01 rickstaa

In which case we could give everyone an S++++? You see what I'm saying?

Yes. This is difficult confused @rickstaa thoughts?

My vote is with the gaming rank system proposed by @ZjzMisaka (see #2265 (comment)). I think that system togheter with a hover that explains the score solves our problems (see #2157). @anuraghazra what do you think?

Sure, that works. Can you add hover text to SVGs though?

It appears so (see https://stackoverflow.com/questions/41768657/display-text-over-svg-element-on-hover). I also was surprised; I didn't test it out yet. sweat_smile

That would be in HTML, yes? I doubt you can do that with GRS though, since the application returns an SVG image, and not an SVG image embedded in an HTML page. It's obviously great if you can do that, but even if it works in the browser, I doubt it will work in other places like GitHub READMEs.

Zo-Bro-23 avatar Jan 19 '23 07:01 Zo-Bro-23

So to summarize I think the following will improve the ranking of the stats card which is one of our most requested enhancements:

  • Merging #1186 while setting the STARS_WEIGHTS to 0.75.
  • Creating a PR for @ZjzMisaka ranking suggestions (see https://github.com/anuraghazra/github-readme-stats/issues/2265#issuecomment-1320908160). Also document the new ranking in the readme.
  • Create a PR for #2157.

However, since this affects all users I also want to have @anuraghazra's opinion.

rickstaa avatar Jan 19 '23 07:01 rickstaa

In which case we could give everyone an S++++? You see what I'm saying?

Yes. This is difficult confused @rickstaa thoughts?

My vote is with the gaming rank system proposed by @ZjzMisaka (see #2265 (comment)). I think that system togheter with a hover that explains the score solves our problems (see #2157). @anuraghazra what do you think?

Sure, that works. Can you add hover text to SVGs though?

It appears so (see https://stackoverflow.com/questions/41768657/display-text-over-svg-element-on-hover). I also was surprised; I didn't test it out yet. sweat_smile

That would be in HTML, yes? I doubt you can do that with GRS though, since the application returns an SVG image, and not an SVG image embedded in an HTML page. It's obviously great if you can do that, but even if it works in the browser, I doubt it will work in other places like GitHub READMEs.

I support your conclusion. 🤔 I, however, did not test this out. Anyway, I would likely wait for #1633 to be implemented before trying to see if a hover works on the README. This proposal will improve our codebase a lot.

rickstaa avatar Jan 19 '23 07:01 rickstaa

Hey there I joined some days ago in this cool project. Is this feature going to be implemented after all?

chrisK824 avatar Mar 24 '23 21:03 chrisK824

Hey there I joined some days ago in this cool project. Is this feature going to be implemented after all?

I am in favour of merging #1186 since it is more balanced (see https://github.com/anuraghazra/github-readme-stats/pull/1186#issuecomment-1382458487). I, however, would like to have @anuraghazra's opinion before making such a breaking change. After the rank calculation is fixed, we can then change the ranking system.

rickstaa avatar Mar 27 '23 10:03 rickstaa

Here is some suggestions of Ranking System v2, copied from https://github.com/anuraghazra/github-readme-stats/pull/1186#issuecomment-1556622639

The new system is good, but I'd like to express my personal opinion. I believe that a grading system with only S, A, B tiers is not very good, because people might unconsciously believe that there exist tiers like C, D, F. I've previously stated that a "grading system that satisfies everyone" could ultimately lose its reference value, and the meaning represented by the rank "B" could eventually become the new F.

I trust that people's spirits are not so fragile that they cannot face their own grades, and even lower grades can serve as motivation for personal growth. We don't have to view this system as competitive ranking, instead, we can try to understand this system as a measure of a developer's "growth from the initial state". If we really don't want the grade F to appear, we could use a format like Lv1, Lv2, Lv3... and so forth.

or, if you're willing, you can also consider the content mentioned in the https://github.com/anuraghazra/github-readme-stats/issues/2265#issuecomment-1320902200

ZjzMisaka avatar May 22 '23 08:05 ZjzMisaka

#2265 (comment)

@ZjzMisaka thanks for including your comment here. My preference is still with https://github.com/anuraghazra/github-readme-stats/issues/2265#issuecomment-1320902200 👍🏻.

rickstaa avatar May 22 '23 08:05 rickstaa