do pre-publication likes penalize a notebook from 'trending'?

@Fil pointed out on d3 slack a couple days ago that his notebook about ‘multitouch’ seemed to be much further down the trending page than he expected given its number of likes. Someone there suggested that perhaps the algorithm takes into account the age of the likes.

I think the same thing might have happened to my notebook here (ironically if that is what happened, it’s Fil’s like on my draft notebook 3-4 weeks ago that is likely bonking it):

Is Observable’s “trending” algorithm published somewhere? (Maybe keeping it slightly mysterious prevents some amount of gaming…)

Anyhow, perhaps consider dating pre-publication likes from the date of publication for the purpose of the ‘trending’ algorithm. Otherwise people are encouraged to do things like temporarily un-share their notebooks to clear past likes before publishing, or tell friends to avoid liking draft notebooks.


It seems that the team needs to step up their game and communicate changes in a more timely manner. I had asked @visnup about this change several days ago (when I noticed it for one of my own notebooks), so allow me to paraphrase his answers:

  1. Observable now allows private likes, i.e., likes no longer disappear when unpublishing or unsharing.
  2. The time limit for unpublishing is gone. You can now unpublish and republish whenever you like.
  3. The “trending” calculation now uses the date of the first like.

Visnu also remarked that he had wanted to include comments in the calculation. He encourages a public discussion of the algorithm, as the team is open to tweaking it.

@enjalot pointed out that Observable uses the algorithm described here. I believe @mbostock also mentioned details about the algorithm at some point, but I couldn’t find his comment anymore (might have been Tom or Jeremy).

I’ll share my thoughts regarding these changes in a separate comment.


My initial response was:

While I’m personally not happy about the change in trending calculation, I don’t see any other options that would prevent gaming the algorithm. Treating all likes as equals is probably the only sane way to handle this.

But, as you’ve mentioned, there is an alternative, namely offsetting likes by the first publication date:

  • Observable needs to store the date of the first publication.
  • This date should also be used for the Recent list, as you can currently sticky a notebook by repeatedly unpublishing und publishing it.
  • For transparency, notebook dates should have an indicator, when a publishing date does not match the first publish date (e.g., “Republished on”, “Rerelased on”).
  1. The “trending” calculation now uses the date of the first like.

This seems like pretty much the worst possible choice (no offense). It means that a notebook which gathered a long-ago private like can never ever hit the trending page under any circumstance.

It discourages people from ever sharing their pre-published work, out of fear that someone might like it, with the penalty substantially limiting future audience (since most people will view the trending page rather than clicking through every link in the firehose of all published notebooks).

Authors who want to avoid this penalty have to fork their notebook and lose all its history before publishing.

wanted to include comments in the calculation.

Please don’t do this, or at least consider it very carefully. Presence or number of comments is in my experience typically not a very good signal.

Question to @visnup: under the current algorithm, should authors be emailing everyone who put their pre-publication like up, and requesting they un-like and then re-like? Will that remove the penalty?


Thanks for the feedback.

We removed the loophole that allows you to bump notebooks to the top of /recent by unpublishing and republishing.

We’ve also changed the /trending calculation to use the same time of first publish, so that a like prior to publishing no longer eats away the time a notebook will spend on trending.


Thanks Mike! Sorry to make you work on Sunday. :slight_smile:


Thanks, and sorry for the pressure! :heart:


So uh… I’m the type to publish, then notice an error or a potential improvement, therefore change the notebook and republish (without unpublishing). Sometimes I do this in notebooks months old.

I haven’t been accidentally gaming the system have I?

1 Like

No, you would have had to unpublish each time before publishing again.