Badge Discussion: Like Ratios + Spending Likes

I think far simpler way to solve this is

Posts liked by you / count of posts you made that people liked

No need for geometric means or anything that way. And we can expose “count of posts with at least one like” on user stats somehow

The logic here is quite good, every time a first person likes one of your posts you should like back, worst case you need to like once for every post you make. Some core members could handle that while sleeping.

2 Likes

That sounds like a third badge to me, which is fine… “reciprocating” (not actual name, just the concept)

so:

  1. Like ratio (as measured by posts with at least 1 like)
  2. Reaching like limit for the day
  3. Reciprocating

seems like a good start, but

What about just showing up and reading?

In my own edge-case as an environment for teaching and learning, I would like to encourage people to log in more often and read more. A reward for Posts I like/my liked posts might do that. I would really like to find a way to get people to open more topics and see people’s work (students solve problems and post their work). I suppose that if they blindly clicked on topics just to like even the bad ones, it would still do what I want, which is for them to look at stuff. Students liking posts blindly might end up being a proxy for reading, but that could be OK.

OTOH, I might want to discourse people from liking indiscriminately. I have some sense that students would just like everything to game the system be nice (why does strikeout work on my Discourse, but not here?). Maybe the number of topics entered or posts read could play in? Maybe something like

(likes_given * (x * topics_entered + y * posts_read)) / likes_received

In case my algebra is bad or unclear, I want likes_given to be more valuable for people who have opened more topics and read more posts. If someone reads 100 posts and liked 10, that’s different than someone liking 10 the posts they see and going home.

I think that I would like to add a fourth badge for people who show up more and read more. Figuring out the defaults for these across communities will be complicated. I’ve played with normalizing all the stats on the user page (divide each metric by its mean and then sum those scores and divide by that mean) to establish a norm for participation. It sort of works.

The more I think about it, the more I like the idea of likes being worth more when given by people who read more. Oooh. Maybe a “Powerful Liker” is someone who has a 20/1 read to like ratio and “Good liker” is 10/1. (Not sure about the scale.) I could then make badges that paid attention to the powerful likers.

2 Likes

Uh, this already exists? You get badges for liked posts.

For 1.6 we can do a repeat visitor badge as well as sequential days award, perhaps sequential days + reading count, to encourage regular visits.

2 Likes

Once people are promoted to trust level 4, they receive triple the amount of likes a basic user would, and wouldn’t it be just slightly unfair to those who are trust level 4 as they would have to like triple the amount of posts?

I’m a trust level four on the Hopscotch Forums, forum.gethopscotch.com, and am very excited and curious about this!

2 Likes

I hit the allowance ceiling once from odd circumstances (catching up lost reading time over one week, in my edge case.) That and I think the default number of given likes allowed in a set period was lower at the time.

Getting a badge for that would make me smile. And when I needed it the most; *exhale* A “hit likes ceiling” badge would say “okay, stop clicking the hearts or you gonna keel from reverse operant conditioning headaches again.”

The Reader badge is a start. These user-contributed badge queries are worth noting and checking out. In your circumstances and needs, you may want to check out the offered extended Reader badge queries.

2 Likes

May it’s OT but I have it already. Not sequential (too strict) but visits + readings + posts. I used unlock badges and levels

http://community.nethserver.org/badges

2 Likes

RIght. I meant something like

1 Like

The thing about my class-based communities is that many of the normal measures like “been here a long time” don’t apply. I need more measures like “did some stuff this week”. I think I can work from examples like “30 likes accumulated over the span of 15 days”, have them set to get revoked daily and run a cron script to record who had what badges every Sunday at midnight to stick into the gradebook. Or something like that.

OOh. Some of those look helpful. Is there a way that I can get your SQL?

I was thinking earlier today that it would be cool if there were an API that would let people see/download/import badges from other sites. Permissions would be tricky, though. I suppose there could be an ok-to-export-without-admin-permissions checkbox or something.

I’ll go re-read the cool badge queries again. Thanks for the reminder. What I’d like to do is take all of those and make a more cohesive set of explanations, and then perhaps tie it in to my badge creator script.

1 Like

Naming is hard but I’m using the following names for now:

  1. Admired = have a high like ratio
  2. Generous = used up all your likes
  3. GivesBack = have a high liked / like ratio
7 Likes

Per my original comment, I believe the like mechanism is a golden hammer at best:

Any thoughts on measuring sentiment instead, or, as well as?

Machine Learning APIs: Text Analytics for Sentiment, Key Phrase Extraction, Language Detection and Topic Detection

Demo

Rather than counts or ratios, perhaps award badges based on positive contribution?

(This comment scored 82%)

2 Likes

@eviltrout mentioned some of these will need minimum thresholds to work, too.

1 Like

Okay I’ve implemented the badges in a way that I think makes sense. The ratios are based on me looking at records here on meta that I felt deserved the badges. I am more than willing to change them following discussion.

(Badges should be awarded overnight)

Admired

  • (count of posts with at least 1 like) / (total post count) > 0.75
  • requires a minimum of 5 posts

Gives Back

  • (likes given) / (total posts with at least 1 like) > 5.0

Generous

  • uses up their likes in a day

Thoughts?

5 Likes

I would up the minimum on that first badge a lot. Maybe 100 to start. Perhaps you should require trust level 2 as well…

We need to seriously think about this because these badges can only be awarded once, and if they are awarded for trivial stuff, the badges will be meaningless.

3 Likes

Also we need to think through the progression from bronze to gold

3 Likes

Wouldn’t that mean 100% of your posts have a like? That seems a bit difficult to achieve…

Edit: Ohhh, nm, I see, you meant the minimum number of posts from 5 to 100. got it.

1 Like

Agreed, but can they instead be revoked weekly or monthly?

If you gave us the SQL we might run them against our own user bases.

https://github.com/discourse/discourse/commit/e60da531baf81c7acdf446393f9d53cfc0ca1ae0

https://github.com/discourse/discourse/commit/cfe18c3f5bc636b74012b03ff6f509f6c540faba

https://github.com/discourse/discourse/commit/06591022fead4db7bf5af1e5f458e033234d03fd

Open Source FTW!

Some Numbers on my site:

  • Admired: 67 Members (0.44% of last 15 days active users)

  • Gives Back: 5 (0.03%)

  • Generous: 0

My point is the requirements could be shifted if we simply ensure the target audience for the badge starts with people who have achieved tl2 or even tl1.

It would be lame to have people get “admired” after their first two days on the site.

Or as @sam noted just have bronze, silver, and gold versions of these. (Well, not for reaching max likes in a day, the other two) also note the number of likes per day has increased several times, so people might have reached the like limit earlier, when it was lower…

2 Likes