Comments Data Requests

insights
community
comments
Author

Julian Winternheimer

Published

June 17, 2025

Overview

Buffer is launching a new feature called Community that allows people to manage their comments on Threads, Facebook, Instagram, and LinkedIn. The beta launch has already happened for Threads.

In this analysis we’ll attempt to answer the following questions:

  • What proportion of sent posts receive any comments?
  • Of those that do receive comments, how many do they typically receive?
  • How long does it typically take for a post to receive its first comment?

TL;DR

These are the main conclusions of the analysis thus far:

  • Around 14% of Facebook Posts and 4% of Threads Posts receive comments.
  • Of users who receive comments on their posts, three quarters typically get 3 or fewer.
  • Around half of these users typically wait multiple hours to receive a comment.
  • There is a long tail of users and accounts that receive many comments very quickly.

What Proportion of Sent Posts Receive Comments?

To answer this question we’ll use the following SQL query:

Code
sql <- "
  select
    timestamp_trunc(p.timestamp, week) as week
    , p.channel 
    , count(distinct p.id) as posts_sent
    , count(distinct c.post_id) as posts_with_comments
    , safe_divide(count(distinct c.post_id), count(distinct p.id)) as   percent_with_comments
  from dbt_buffer.segment_post_sent as p
  left join atlas_engage_content_engagement.comments as c
      on p.post_id = c.post_id
      and not c.is_own_reply
  where p.timestamp >= '2025-05-01'
  and p.channel in ('threads', 'facebook')
  group by 1,2
"

# get data from BigQuery
posts <- bq_query(sql = sql)

As of June 2025 we only have comments data for Facebook and Threads. The plot below tells us that approximately 14% of sent Facebook posts have at least one comment and around 4% of Threads posts do.

How Many Comments do Posts Receive?

We’ll use the following query to answer this question. It returns around 410K posts that have received at least one comment.

Code
sql <- "
  select
    p.post_id
    , p.user_id
    , p.timestamp as post_timestamp
    , p.channel 
    , count(distinct c._id) as comments
    , min(c.created_at) as first_comment_at
    , timestamp_diff(min(c.created_at), p.timestamp, minute) as minutes_to_first_comment
  from dbt_buffer.segment_post_sent as p
  inner join atlas_engage_content_engagement.comments as c
      on p.post_id = c.post_id
      and not c.is_own_reply
  where p.timestamp >= '2025-05-01'
  and p.channel in ('threads', 'facebook')
  group by 1,2,3,4
"

# get data from BigQuery
comments <- bq_query(sql = sql)

Let’s look at the quantiles for the number of comments that posts received. The median number of comments that posts received is 3 and the 75th percentile is around 15.

Code
# calculate quantiles
quantile(comments$comments)
   0%   25%   50%   75%  100% 
    1     1     3    15 49917 

Next we’ll calculate the median number of comments for each user, and then we’ll calculate quantiles for that metric.

Code
# calculate median comments per user
by_user <- comments %>% 
  group_by(user_id) %>% 
  summarise(posts = n_distinct(post_id),
            med_comments = median(comments),
            med_time_to_first_comment = median(minutes_to_first_comment))

# calculate quantiles for user metric
quantile(by_user$med_comments)
     0%     25%     50%     75%    100% 
    1.0     1.0     1.5     3.0 11079.0 

Of users who receive comments on their posts, half typically get 1.5 comments or fewer per post. Three-quarters of these users typically get 3 comments or fewer per post.

Of course there is a small number of users that typically receive a huge number of comments. For example these users typically receive at least 1000 comments on their posts!

Code
# sort users by median comments
by_user %>% 
  arrange(desc(med_comments)) %>% 
  head(10)
# A tibble: 10 × 4
   user_id                  posts med_comments med_time_to_first_comment
   <chr>                    <int>        <dbl>                     <dbl>
 1 59651ebd29f69ffc79cb64f8     9       11079                          0
 2 5ca1d7fa83663e38f3997114   181        4626                          0
 3 67c6cd9ec809aad8f102c90c     2        2440.                        44
 4 659d8c90d3f78b19670120a0     3        2195                          1
 5 509d3773d9320d580e000005     7        1838                          0
 6 63628bf0094fd96835909253     1        1464                         11
 7 5a183513dc8ca59f5412ee8c     3        1410                          5
 8 5ca1d50169ec79395e7bcfbc   122        1332.                         0
 9 68484bd841c2e8b8cad8a034    16        1282.                         1
10 63062bd99f132b63fb70992a     1        1279                          3

How Long Does it Take to Receive a First Comment

We’ll use the same dataset to answer this question. It’s important to note that I’m excluding comments where is_own_reply is true.

Let’s take the same approach of summarising the metric minutes_to_first_comment for each user and then looking at the quantiles of that metric.

Code
# calculate quantile for user metric
quantile(by_user$med_time_to_first_comment)
   0%   25%   50%   75%  100% 
    0    59   234  1364 57306 

There is a very wide range here. Of users who receive comments on their posts, half typically have to wait almost 4 hours to receive their first comment. A quarter of these users typically receive their first comment within an hour.

Again we see that this data is not normally distributed. There are a smaller number of users who tend to receive their first comments very quickly.

Code
# sort users by time to receive first comment
by_user %>% 
  arrange(med_time_to_first_comment) %>% 
  head(10)
# A tibble: 10 × 4
   user_id                  posts med_comments med_time_to_first_comment
   <chr>                    <int>        <dbl>                     <dbl>
 1 509d3773d9320d580e000005     7       1838                           0
 2 5786451550ccaf6828e9862c     1        799                           0
 3 59651ebd29f69ffc79cb64f8     9      11079                           0
 4 5ca1d36cfd16da3982443068    26         61.5                         0
 5 5ca1d50169ec79395e7bcfbc   122       1332.                          0
 6 5ca1d7fa83663e38f3997114   181       4626                           0
 7 5ca1d8fc69ec79395e84d129     3          1                           0
 8 5d271878be3d800409147364     2         30.5                         0
 9 5fbbe9ee9922fa0a2a6abb7b     1          7                           0
10 60cb3b673bb3bd36064477e5     1         61                           0

Conclusions

These are the main conclusions of the analysis thus far:

  • Around 14% of Facebook Posts and 4% of Threads Posts receive comments.
  • Of users who receive comments on their posts, three quarters typically get 3 or fewer.
  • Around half of these users typically wait multiple hours to receive a comment.
  • There is a long tail of users and accounts that receive many comments very quickly.