Coder Social home page Coder Social logo

metaculus-twitter-bot's People

Contributors

adam-binks avatar edomt avatar nikosbosse avatar scott-huston avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

metaculus-twitter-bot's Issues

Fix tweeting of new forecasts

The bot currently tweets new questions up to 2 times, which is not ideal. Current issue:

  • the minimum_hours is set to 48 to make sure that the question was already at least 24 hours old before we compare its past value to the one now. So in order to get labelled as 'change' the question needs to be at least 48 hours old.
  • The 'new question' tweet ignores that and tweets it right away, then waits 24h because of the no-tweet-period and then tweets it again as new. Then in the next cycle it would be labelled as 'change'.

Some thoughts:

  • I was thinking that maybe the requirement we really want is that a question must have x (currently 10, maybe 8?) forecasts at the first time point against which it is compared. So maybe it is fine for a question to published at t=0, it has 10 forecasts at t=10 and we tweet about a change in 24h at t=34 (or a change in 5h at t=15)?
  • So we could tweet it as 'new' iff a question has a) more than 10 forecasts and b) didn't have more than 10 forecasts 24h ago? And if it has more than 10 forecasts at both time points it would be a regular change?
  • Downsides: a) it could (in theory) happen that a forecast gets tweeted as new when it crosses the threshold after a month or so (could also add a time requirement). b) This would however make the code potentially more complicated.

What do you think @Scott-Huston, @edomt, @adam-binks?

Percentage vs percentage points

For questions involving percentages, is the difference in percentage points (6% -> 12% would be 6 pp instead of 100% increase)? I think that is more intuitive, and if it's already that, perhaps the tweet can explicitly say 'pp.'

Improve tweet text

Make text easier to skim by

  • adding emojis
  • potentially add a screenshot / plot

One proposal:
image

Tweet Metaculus comments

Sylvain from Metaculus suggested that the bot could in the future regularly include top comments (available on the API here: https://www.metaculus.com/api2/comments/)
My thoughts on this are:

  • It could post a tweet and also post an automatic reply to that tweet with the top comment
  • the top comment could be defined as
    • comment with the most upvotes
    • that passes a threshold of e.g. minimum 5 upvotes
    • the comment was made in the last X hours, where x could e.g. be equal to 24h + the time delta (i.e. the 5 or 24 hours)
  • We could also post a second reply with the overall top comment from that question (although less convinced about that).

@edomt @adam-binks @Scott-Huston

Avoid double-tweeting

The bot has access to the time series of past community predictions. It could therefore check whether the previous run of the bot would have tweeted an update. If there is no significant change after the last update, one could omit the question.

Decrease number of API calls

Currently we are calling the Metaculus API independently for every question. In principle we should be able to get all/most relevant information from a single API call, allowing us to reduce the time the bot needs to run.

Non-Ukraine questions?

What do you think about either:

A) Opening the bot up to all Metaculus questions

B) Making a second bot which is all Metaculus questions (or all non-Ukraine questions)

For me personally, I'm most interested in updates in longtermist/x-risk questions, even though I imagine they're rarer. So it'd be great to see these on Twitter as they happen.

(E.g. motivating hypothetical example: everyone is talking about a new Deepmind paper, and then you see a tweet saying that Metaculus's AGI by 2050 question has just had +10%!)

Bot claims large increase every day without large increase

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.