Encouraging User Participation - Some Ideas, More welcome

(Sam Saffron) #44

I think a key difference between Discourse and Twitter/Facebook/Snapchat etc besides operating at different scales, is that the “social” services require you are logged in to consume content.

Most Discourse sites on the other hand are perfectly usable as anonymous. This allows lots of people to continue using the site without tracking them as “active users”.

This leads to situations where some people are actually “active users” but are not being tracked. A classic example is mobile where often people just find it “too much of a pain in the behind to log in”. (also apps do not solve this)

There are things that we can do in software to push up some of these numbers, most of the non-evil things may give stuff a tiny bump.

  • (good) We can make it easier to login in mobile, in particular, “login via email” feature (you don’t require password, just send an email with a 1 time login activation)

  • (evil) We can take away the cake after 10 minutes… there would be enormous backlash in communities that do this.

  • (evil) You can hide large amounts of content from non-logged in users (and still make it Google visible) - also hated

  • (bad) You can encourage “general off topic” discussion and favor it over on-topic discussion. Turning site into a place anyone can visit anytime to kill time and talk about anything.

I did just run an interesting report on your site:

    case when time_read < 10*60 then 1 else 0 end
  ) less_than_10,
    case when time_read > 10*60 and time_read < 60*60 then 1 else 0 end
  ) f_10_to_60,
    case when time_read > 60*60 then 1 else 0 end
  ) more_than_60,
from user_stats s
join users u on u.id = s.user_id
where u.created_at >  now()::date - 365

So… 1992 people signed up.

659 stayed around for 10 minutes reading time.
684 stayed for 10 to 60 minutes
647 stayed for 60+ minutes

This ratio is actually quite spectacular compared to most of the sites we run. You are bringing on a regular amount of “fresh blood” into the forum. The reason you are only seeing 30% growth in DAU in the last year is simply because only a rare number of the 647 users become “daily” users of the site AND there is churn of old users that become less active and leave. (also … keep in mind the graphs you linked from facebook are not should much more than 30% growth in a year)

There are some things we can do in software to marginally improve things, but any radical change and growth really needs to be driven by the community and community promotion.

(Nick) #45

Another related point of difference is that Discourse users can read content entirely by email, rarely actually visiting the forum website. Which kind of worries me, by the way.

(Dave McClure) #46

Just want to say I am very happy to see this discussion happening.

I think that giving forum admins more tools out of the box to measure levels of participation / engagement / etc will be very good for the product. Happy to see the thoughtful discussion here and the responsiveness from @sam not just with example queries but also with features like these graphs.

Hopefully having some common tools will help people running sites better discuss experiments for increasing engagement and allow us to compare results and analyses of the data we can share.

(Erlend Sogge Heggen) #47

Because of spam accounts and drive-by registrations, this might often be a needlessly depressing metric to look at. There are limitations to what we can do to prevent an inflated user count. Two more interesting metrics would be:

  • % of TL1-TL4 users active, tracked from forum launch to current day.
  • Some kind of overview of active users’ activity trends:
  • top 10% of active users is generating 50% of your content;
  • next 40% is generating 35% of your content;
  • remaining 50% is generating 14% of your content.
  • 1% is generated by users not counted as “active”.

(Michael Downey) #48

Just chiming in here to say that based on the data shown, @HAWK is exactly right. This definitely looks like a content & engagement issue, which is almost certainly not going to be solved with software alone.

As others have suggested, social networks have a baked-in reason for people to keep coming back. With a community (using a plaform such as Discourse) you’re “on your own” to help your users find that motivation & passion.

(Michael Downey) #49

I agree; this is still a tracking deficiency, I think… :slight_smile:


So we have been looking at the reading time queries and also the active users reading but not posting query by @techAPJ here - Queries for specific user types

Is there any way in which we can mass message or mass email these types of users in order to try and drum up the activity?

(Dave McClure) #51

I’d like to see “posts read” and “read time” metrics on the main admin metrics dashboard too… those are shown on the admin user list page, but not in aggregate.

(Bcguy) #52


Here is what makes me wonder whether we could be doing something better at a platform level to engage and pull-in our visitors and keep them on the site.

During the past year the number of daily visitors has gone up slightly (something like 20% to 30%) but the total number of registered users has gone up 400%, and the number of daily messages have gone up from around 300 to 600 messages and from 30 to 60/70 new topics per day.

It seem to me that if we’re getting a big increase in numbers of registered users, and a large number of new messages (and huge increase in the number of messages in the database - from something lime 100,000 to now over 330,000) - that we have lots of really good, compelling information in our database that “should” be of interest to our visitors who are taking the time to register.

It seems that there may be a huge opportunity (once a forum creates more traffic than a regular visitor reads in a day) - to customize the feeds similar to how facebook does it - with a good algorithm that customizes the feed so that the likelihood that the users see interesting and helpful content greatly increases.

Its easy for platform developers to just say - ah, its just your community and your management of it (just like large attrition rates may be easier for forum admins to say is the cause of the platform) - but to be honest I think Discourse is by far the best discussion forum platform out there, so I think its not an issue of you guys not doing great work - you have. The issue is that there seems to be an opportunity that I perceive is not being taken right now.

Now - it may be that doing this is just too much mathematical heavy lifting for discourse to do at this time and given the current resources, which is a completely reasonable response.

But I really think it would be helpful for Discourse to look at these issues and statistics not from a forum by forum basis but from a platform basis, and then variations from the mean for the individual forums, so that both you and we can understand better what is working and why (if possible) and how things might improve at both the platform level and the forum level as things get changed. Until we have the data at the forum and platform level - all of these things are just people waving their hands in the air without much data.

My fundamental point is that if my forum is getting 700 messages a day and the mean or median user is reading 700 divided by X messages per day (that is, people are only reading a fraction of the new daily messages) - there seems to be a great opportunity to improve the user experience so that each user gets the messages that he or she is most interested in.

It seems that we could use a cookie to start tracking a user as soon as he/she lands on our page and see what they like, based on the time they spend reading each message, and then as soon as they register start using that information from the cookie to customize the feed to improve the experience. In fact you could probably use a cookie to customize the experience for non-registered users - right?

The more you can automatically reveal to users the content / topics they are most interested in their “feed” (in our sea of discussions) the more it seems we’re going to be able to attract, convert, and retain our users. To the degree that the platform helped in this task - the better we all will be off. I don’t think this type of issue is a problem that I can address as a forum admin - unless I’m missing something in the controls (entirely possible given the frequency of updates).

(Bcguy) #53

Are spam accounts (i.e. accounts with minimal messages read, and mimimal time on the site) currently counted in the total? Is there a way to take those out? If Discourse is currently flagging something as a spam account I really don’t want that data counted in my forum statistics. From what I’ve found the ID of the spam accounts based on these metrics is very accurate - so I wouldn’t have a problem if they are removed from the total until I go through my spam account tab and specifically add any into the total that I see.

(Bcguy) #54

I think that this is completely inaccurate.

Look - please read up on Facebook’s edgerank algorithm before you comment on this. The average person on facebook gets something like 1500 posts that could be shown to them in a day - and read a small fraction of them. Are you really suggesting to me that not making any effort to show to their users the specific Topics / messages that are of most interest to their users does not help in their return user / DAU / MAU metrics?

Really? - thats like saying that if someone on facebook isn’t getting the posts that they want on their feed isn’t getting the right friends. And you telling me that that the user’s on my forum who are creating 700 messages a day just aren’t discussing the right topics to be of interest to the broader user base - seems a little ridiculous.

As a software startup company person I view it as something in our control - and that control is the software platform you are using.

Why Do we Need A Facebook News Feed Algorithm?
Whenever someone visits their News Feed, there are around 1,500 stories waiting to be seen from the friends, people, and Pages that they follow. Since the average person doesn’t have the time to read through 1,500 posts, Facebook’s algorithm prioritizes these stories to show users what they’re most likely to be interested in.

Facebook seeks to show you the information that you want to see without making you dig for it through a bunch of stories that, let’s just face it, you’re really not that interested in seeing.

Read the full story here:

(Bcguy) #55

Put another way - I suspect that the key issue that the more active sites have on Discourse is that as the number of messages per day significantly exceeds the typical user’s reading quantity, the user experiences a significant increase in the amount of “noise” to “signal” ratio - and because of this, you get less and less engagement, and more dropoff - just as we saw with facebook.

"The Beginning of Edgerank
In the spring of 2009, Facebook released the first iteration of a real-time News Feed. It was a completely unrestricted feed and would display every single story as it published. With this feed, Facebook started to see a large spike in the amount of Likes and comments from each user, which essentially created a cycle of sharing.

The increased engagement led to more content, which eventually resulted in too much noise for the user. The problem for Facebook became showing each user topical and interesting information without overwhelming them with posts. The answer came at the 2010 f8 conference with the announcement of the Facebook News Feed ranking algorithm Edgerank.

My hypothesis is that if you looked at all the discourse forums that get more than some significant level of usage (say 500+ messages a day) - that you start seeing a significant drop-off of DAU/Total Registered Users - simply because the signal to noise ratio is getting too large for most users.

I think Facebook suffered from this. I think we also are suffering from this.

See more here:

(Bcguy) #56

Part of the issue here may be philosophical - I suspect that Jeff sees the “best platform for civil discourse” in the more traditional vein, where all conversations are show to all people in reverse chronological order, and anything other than this is heresy.

I think there is a huge opportunity to merge the worlds of social network customization intelligence with the worlds of traditional discussion forum. These algorithms could be keep private to Discourse (the company, separate from the platform)- and thus would be a huge competitive advantage to hosting on the Discourse Hosting platform and a sustainable competitive advantage to the company.

If each of our forums prioritized the feed of topics for our users based on the preferences that we learn about each person over time from their click patterns - I think you truly start getting the best platform for civil discourse in the world - and more importantly you create a company (Discourse) that can start growing faster with more engaged users - more similar to the way Slack is growing.

In an Ideal world - I’d see Discourse hiring some data scientists (even as contractors to start and keep the development effort relatively low-cost) to help define and refine these algorithms.

Here is what the ideal case would be:

At Facebook headquarters in California, about 20 engineers and data scientists meet every Tuesday in the “John Quincy Adding Machine” room—“Abraham Linksys” and “Dwight DVD Eisenhower” are nearby. They’re tasked with assessing the billions of likes, comments and clicks Facebook users make each day to divine ways to make us like, comment and click more.

Their assessments, as well as ratings from about 700 other reviewers around the United States, are later fed back to the team in California, all in the service of improving Facebook’s News Feed algorithm, the software that delivers personalized streams of content.

of course - for DIscourse - the goal would not just to be to devine ways to make our users “like comment and click more” - the goal would be to do those things in a way that improves the conversations and quality of the interaction, a possibly more difficult but infinitely more valuable goal. Then again - maybe its not more difficult - because I think for Discourse the granularity of the “feed” isn’t the individual message, but rather the higher level “topic” (at least to begin with).

(Jeff Atwood) #58

Yes, but this is magical thinking.

“Just show the user exactly what they want to see! How hard can it be?”

It’s easy, right?

Never mind that entire multi-billion dollar businesses, with thousands of employees, have worked on this for a decade, and still haven’t achieved the perfection that you imply is just a moment of thought away.

(Alessio Fattorini) #59

Looks that We have gone a bit of topic even if it was started off very well!

I like very much this idea, why just a rookie?
This automatic system should help the new members to become more and more active, not just in the early period. A simple mail with last achievements, likes received, badges earned and so on… Also suggested some topics useful to rejon the discussions.

(Jeff Atwood) #60

That already exists in the form of the weekly digests which go out to all users who haven’t visited the site in the last week.

(Alessio Fattorini) #61

Of course, though they are sent only if you don’t visit Discourse for a while. I’d like to send it anyway with the contents I suggested above until the user don’t become enough active and he’s not a rookie anymore.

(mountain) #62

Not only enormous global businesses, but a completely different type of platform.

(Bcguy) #63

Jeff - I never said it was easy, it just seems that if Facebook can invest .16% of its time (20 engineers and data scientists out of 12,000 employees) working on their feed algorithm - then perhaps Discourse could invest something like that to create at least a rudimentary algorithm to do some sort of prioritization.

And, I’m sure you’re an Eric Reis fan - it seems you could start with some sort of minimum viable algorithm. I suspect (correct me if I’m wrong) that any simple algorithm that even just takes into consideration 1 factor - the titles of the topics that the user has “liked” - would be better than just a chronological firehose feed of all the data / messages / topics.

What I’m saying is the following:

  1. Investment could start low with a minimum viable algorithm using a contract data scientist (Stanford and Berkelely have lots of these people, and if you combine the data from all your hosted forums, you have some good data to evaluate). Perhaps get some PHD students for cheap at UC Berkeley to do this for free or near free as a PHD thesis.

  2. Constrain the number of variables initially - just try to get a prioritization of the Topics (not the individual messages - since really each topic is one conversation).

I may be wrong on this - but it seems that virtually any effort at prioritization is better than no prioritization (other than time).

I mean - you don’t have all your engineers just randomly work on possible projects for Discourse right? Why do we expect our forum users - who are likely just as pressed for time as you guys - to engage in randomly prioritized topics?

(Mittineague) #64

Seems it would be easy enough to create a custom badge that has a nag type of descriiption. eg.

Cat Liker - You’ve liked n number of posts in the Cat category. Have you considered Watching it?