Skip to content

developer-led/community-sql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Community SQL

Are you a developer community engineer? Or maybe a developer communty lead? If you're using Discourse as your community platform, like OpenAI, MongoDB, Cursor, Cloudflare and many others, and at the same time you are on their Business or Enterprise tier, you should better check out their Data Explorer plugin.

One Step Backwards: Discourse Dashboard

Discourse dashbaord is probably the thing that you're using now. One can ask then, wait a minute, isn't the dashboard providing me with all the essentials I need?

It really provides you with a decent source of your most important high-level Discourse community health metrics, but with time you'll need more enhanced analytics capabilities that will allow you to understand the context in more detail.

What is Discourse Data Explorer

Data Explorer is basically a Discourse plugin for running SQL queries against your database, allowing for instant stats reporting. Those queries can be triggered manually via admin dashboard by your platform admin, or you can even build an automation for it and run a set of queries through an API from an external app. You basically turn on the plugin through your admin plugins page and then you can start creating them from scratch in the built-in editor or import from a json file.

Queries, queries everywhere

Here you can find a folder with the queries that will allow you to track some key metrics regarding user and content activation and retention, providing you with a high-level overview of where your dev community is, enabling you to build relationships with specific members and making more targeted decisions related to you your content game. Additionally there are some queries for admin related stuff. The queries are grouped into three categories (high-level, member-specific, admin).

Each query is commented so you can more easily understand it. Additionally there will be queries like measuring the number of active readers (and many others), which you can of course modify based on your own definition.

🏗️ High Level Queries

Those queries will provide overview on overall community health stats.

Query Context
Consolidated Pageviews By Month HiProvides stats for consolidated pageviews for crawlers, logged in and anonymous users by month allowing you to track real number of views coming from your audience
Get Pageviews By Group by Month Provides a number of pageviews by group by month
FAQ Views By Month Provides number of all FAQ views by month
Forum High Level Activity Summary Provides a summary of solutions, new users, active users, new topics, FAQ views and reply rate by month
Get Number of Inactive and Active Users Provides a number of inactive vs active users
Get Number of New Posts by Month Provides a number of new posts by month
Get Number of New Topics By Month Provides a number of new topics by month
Get Number of Topics Solved By Month Provides a number of topics solved by month
Get Number of Topics With No Reply Provides a number of topics with no reply by month
Get Reply Rate Provides reply-rate by month (how many threads have at least one reply post excluding the starting one)
Get Top Active Categories Based on Topics Count Provides top active categories based on topics created count
Get Total Number of Users By Month Provides a total number of users by month
Get User Visits By Month Provides number of users visits by month
Get Number Of New Users By Month Provides number of new users by month
Get Active Users By Time Period Provides number of active users (posted at least once) within specific time period
Get Users With No Activity Since Joining Provides a number of users with no activity since joining

🔍 Member Specific Queries

Those are the queries that will help you analyze specific users' behaviour.

Query Context
Get Active Readers Provides a list of active readers for the past month
Users Leaderboard Provides a leaderboard utilizing a weighted average system (solution: 3 points, reply: 2 points, like given: 1 point)
Get Users With number of Badges Granted Provides a list of users with their respective badges count
Get Users Sending Most DMs Provides a list of users sending most DMs in specified time interval
Get Users Replies Within Month Provides a list of users with their respective replies count
Get Top 100 Likers Provides a list of Top 100 users liking posts in a specified time range
Get Number Of Topics Solved By Employees By Month Provides a list of your employees with their respective solutions count by month
Get Number Of Solutions By Users Since Account Creation Provides all-time number of solutions per user
Get Lurkers Provides a list of lurkers (users reading a lot but not posting)

🚀 Admin Queries

Those queries will allow you to more efficiently create new queries.

Query Context
Find Category ID Provides forum category ID
Get Specific User Info Provides specific user info
Get Topics Solved But Not Closed Provides a list of topics that have been solved but are not closed
Get User Accounts Emails Provides a list of users' accounts emails

How to contribute or report bugs

Where to find more info

Developer Led Community

All things devrel, communities, developer marketing and GTM. Up for a weekly read?

About

Query your Discourse community with PostgreSQL

Resources

Code of conduct

Contributing

Stars

Watchers

Forks