RISE 路 Retweet prediction ranges
259 parameters per cutoff. Three outputs: q10, median, q90.
A small CPU model for additional retweets between a 15- or 60-minute input cutoff and post age 24 hours. It uses five early-event features. Weights and reproducible code are public; source events and identities are not mirrored.
Source and RISE skill 路 Author dataset page
Actual temporal validation
Completed 2026-10-08 16:03:15 UTC, Python 3.14.7 / PyTorch 2.14.0 / one CPU thread. Per cutoff: 23,779 fit cascades, 11,964 embargoed cascades, 23,822 validation cascades. Paired cutoffs are the same source posts. This run skipped the old final-test labels before numeric parsing and evaluated that final test zero times.
Validation selected epochs and candidates: these are selection results, not independent final-test scores. Both quantile candidates were selected; epochs 14 and 15. Export contains 518 numeric parameters across the two cutoff models.
| Cutoff | Original MLP MAE | Quantile median MAE | q10-q90 empirical coverage | Mean interval width |
|---|---|---|---|---|
| 15 min | 61.72927 | 60.37052 | 86.82% | 216.28 retweets |
| 60 min | 45.35910 | 45.05648 | 90.24% | 165.09 retweets |
The nominal interval is 80%; measured coverage above 80% does not establish calibration. Intervals are wide. The 15-minute zero-future-retweet subgroup has 126 cases and 0% coverage. The 60-minute zero-target subgroup has 352 cases and 100% coverage, but median MAE is 26.05420 versus 20.73273 for the original model. All subgroup metrics remain in evaluation.json.
Inputs and outputs
Inputs: log1p observed retweet count, first-event/cutoff fraction, last-event/cutoff fraction, cold-at-cutoff indicator and cutoff/24h fraction. The cutoff fraction is constant within each model. No follower count, future event, text, media, comments or author identity enters the head.
The log-space q10 is ReLU(raw0); q50 adds softplus(raw1); q90 adds softplus(raw2). Log outputs are capped at 20 before expm1. Outputs are nonnegative and ordered. This is a quantile estimate, not a confidence interval for model parameters.
Run a synthetic input
Download this repository with hf download LIghtJUNction/RISE-retweet-quantiles --local-dir runs/retweet-quantiles-model. From that directory:
import json
from retweet_validation import predict_state_stdlib
state = json.load(open("model-state.json"))
print(predict_state_stdlib(state, 3600, "ordered_quantile_pinball", 12, 43.2, 3540.0))
This probe only checks execution. It is not a prediction for an observed X post. Training reproduction requires the pinned privately prepared SEISMIC data and the source code's validation-only plan command.
Scope and source
SEISMIC is a 2011 English no-hashtag corpus selected using future retweet success. It does not include a representative sample of zero-final-traffic posts. Different source IDs do not prove different authors or deduplicated text/topics. Current Chinese X views, verified Home impressions, follower acquisition, and authorship are not trained targets. Source dataset licensing remains unresolved; it is not redistributed or relicensed here. This repository's MIT grant covers our code and numeric parameters.
Models: Zhao et al., SEISMIC. New experiment code and reviewed aggregate results: RISE.