We know that healthy communities are always growing, through an influx of new users. Without a steady stream of new users, a community can only hope for, at best, stagnation. Discourse can’t magically deliver new users to your site. However, it should help you reward and appreciate the great new users that do arrive on your site!
For the 1.8 releases we’re building in a way to automatically reward your best new users.
Sort of a “rookie of the month” kind of badge that says …
hey thanks for showing up!
we really appreciate what you’re contributing
in fact, you’re one of the best new users this month and you get a special badge and letter to permanently commemerate
I think this badge has to be based on posting, because as much as I believe reading is fundamental, new arrivals who spend a lot of time reading aren’t moving the needle in quite the same way that new arrivals who post do.
My initial brainstorming leads me to this criteria for the badge:
of the user accounts created in the last (x) weeks …
take the top (y) users by post likes
consider ratio of total new user posts in the interval to likes, so we aren’t necessarily rewarding one post with 50+ likes
for the interval, award two users the badge and send out a congratulatory email (we provide the default copy)
we might want to ignore other new user votes to favor only votes by established users?
Note that the badge must be marked with the interval, so we know when it was awarded; it’s more meaningful that way:
I personally do not have a problem with it. Plus it would make it extremely hard for new users to earn said badge if existing contributing users are thrown in the mix. As they are likely a big source of the contributions to the site and therefore there would be several new members who would likely not get awarded for a long time and thus have zero motivation to stay.
Sorry, let me rephrase. I meant, I’m okay with current members not being able to earn said badge, because, if they could, they would be competing against the new users. The existing users are likely already contributing a lot to the site, which would make it harder for new users to stand out (potentially?).
I just imagine those who have been contributing for a while, would likely be posting better content than most new users.
I personally like it targetting new users only (that is all I was really trying to accomplish with that prior post). It offers a quick motivation to new users who “jump in with both feet”
Well yes, there are tons of badges for existing users. The whole point is to focus on the pool of new users and see who’s doing well and really congratulate them in a special, unique way. You know “welcome to the neighborhood” and so on.
It’s not inconceivable that you could do something similar for all users…
… but I honestly feel that kind of effort is best spent rewarding your new users because they are so absolutely critical to the long term survival of a community.
Yeah, I’m with that 100%. As a crazy idea and maybe to help @jomaxro side of things. The initial badge could be bronze for new users, silver for users that have been around for a year, and gold for 2+ years? (and maybe take into account other metrics too, not just likes, maybe number of replies)
It’d be good to take other measures – from the official plugins – into consideration, too. For example, a new user whose suggestions get a lot of votes (from established users?) or who has been answering questions (and had those answers accepted).
I do also like @cpradio’s idea of having this apply to established users as well by segmenting it into various groups; perhaps something along these lines:
Most valuable new member (bronze): account created within the past three months. Awarded monthly.
Most valuable established member (silver): account created between three and 12 months ago. Perhaps awarded quarterly?
Most valuable veteran (gold): account created greater than 12 months ago. Perhaps awarded quarterly?
There is, I think, value in having these sort of recurring, aspirational but limited badges. Discourse has some great recurrent badges already (like “Nice share”, “Nice reply”, “Nice topic”, and so on), but adding a little bit of competition into the mix could really help drive people to engage positively with the community.
Okay, I’ve just committed what I think is a good first stab at this:
The job runs once a month
It finds any users created in that period, and comes up with a score based on how many likes they’ve received out of how many times they’ve posted.
Likes from older accounts are weighed more than likes from new accounts, to prevent abuse via creating new accounts to get the badge.
A like from an account < 1 week old = 0.1
A like from an account < 1 month old = 0.5
A like from an account > 1 month = 1.0
Two users are selected, and they receive a PM from the system congratulating them on the badge.
The sticky bit is this:
This could be really complicated. We’re either talking about creating a new badge every month (which is much more complicated for system badges, not to mention clutters up the database), or perhaps just changing the display of the text.
For now, the PM the user receives says
Congratulations, you’ve been awarded the Rookie of the Month award for %{month_year}.
So it’s quite clear to the user who received it what month they received it for. Other users can also figure it out pretty easily from the badges page:
Now, I could add a flag to the badge type that would make it show the month/year the badge was awarded on that page. Instead of 22h it could say “Granted Mar, 2017” if the flag is set. Would that work?
This is probably ok. We need some copy changes including the badge title though. I don’t think “rookie” is going to be easy to translate and I didn’t mean it literally as the title of the badge.
I like where this is going, but I question if time is the best measurement here. If the only goal is to prevent abuse, then time is great. If the goal is to give long-time users more influence, could further multipliers be added for high TL and/or staff? A user’s vote would be worth the highest possible modifier - so a 1-day old staff account would be worth 2.0 points (not 2.1 or 0.1).
Just to check that I’m reading that correctly - that doesn’t account for staff, right? So if a user is staff but never bothered to change their trust level they’re vote will not account for being staff?