Metaculus Help: Spread the word

If you like Metaculus, tell your friends! Share this question via Facebook, Twitter, or Reddit.

KBC: comment threads h-index

We haven't had a KBC in a while, and it's sad that the newest users haven't experienced their unadulterated glory yet, so here is a new one.

What will be this question's comment threads h-index?

We define this question's comment threads h-index as:

Where is the highest number such that this question has comment threads with at least unique users each, and is the number of comment threads with at least unique users.

A thread's users are all the users who commented on it, including the top level comment. Only users who joined before 2021-03-29 and are level 2+ at time of resolution will be counted.

The author has generated a secret resolution time between 2021-04-03 09:00:00 and 2021-04-03 21:00:00 (UTC+).

At the secret resolution time, the h-index will be determined, and this question will be retroactively closed and resolved. Only comments posted before the resolution time will count.

I know this isn't actually a KBC.

The h-index will be computed with this script:

import requests, json
from collections import defaultdict
from functools import lru_cache

def get_comments():
    url = ""
    comments = []
    while url is not None:
        data = json.loads(requests.get(url).text)
        url = data["next"]
        comments += data["results"]
    return comments

def get_thread_user_counts(comments):
    comment_threads = defaultdict(set)
    for c in comments:
        if c["created_time"] > "2021-04-03 09:00:00":
        comment_threads[c["id"] if c["parent"] is None else c["parent"]].add(c["author"])
    return list(map(lambda s: len([u for u in s if is_user_valid(u)]), comment_threads.values()))

def is_user_valid(user_id):
    url = f"{user_id}/"
    data = json.loads(requests.get(url).text)
    return data["date_joined"] < "2021-03-29" and data["level"] >= 2

def get_h_index(values):
    h_index_arr = [0 for _ in range(len(values)+1)]
    for v in values:
        h_index_arr[min(v,len(values) )] += 1
    total = 0
    for (i, v) in reversed(list(enumerate(h_index_arr))):
        total += v
        if total >= i:
            return i + len([0 for j in values if j >= i+1])/(i+1)
    return 0

comments = get_comments()
values = get_thread_user_counts(comments)


Metaculus help: Predicting

Predictions are the heart of Metaculus. Predicting is how you contribute to the wisdom of the crowd, and how you earn points and build up your personal Metaculus track record.

The basics of predicting are very simple: move the slider to best match the likelihood of the outcome, and click predict. You can predict as often as you want, and you're encouraged to change your mind when new information becomes available.

The displayed score is split into current points and total points. Current points show how much your prediction is worth now, whereas total points show the combined worth of all of your predictions over the lifetime of the question. The scoring details are available on the FAQ.

Note: this question resolved before its original close time. All of your predictions came after the resolution, so you did not gain (or lose) any points for it.

Note: this question resolved before its original close time. You earned points up until the question resolution, but not afterwards.

This question is not yet open for predictions.

Thanks for predicting!

Your prediction has been recorded anonymously.

Want to track your predictions, earn points, and hone your forecasting skills? Create an account today!

Track your predictions
Continue exploring the site

Community Stats

Metaculus help: Community Stats

Use the community stats to get a better sense of the community consensus (or lack thereof) for this question. Sometimes people have wildly different ideas about the likely outcomes, and sometimes people are in close agreement. There are even times when the community seems very certain of uncertainty, like when everyone agrees that event is only 50% likely to happen.

When you make a prediction, check the community stats to see where you land. If your prediction is an outlier, might there be something you're overlooking that others have seen? Or do you have special insight that others are lacking? Either way, it might be a good idea to join the discussion in the comments.