Devlog

Every people gets neighbors: the related-groups block now reaches the whole catalog

Each peoples page shows eight related groups. Until today the same few hundred pages filled nearly every block; now the links are spread across all 4,076, and 53 pages are left without an inbound link instead of 3,323.

  • Catalog
  • Data

Every peoples page ends with eight related groups that share its homeland, region, language or religion. Measured on October 20, the way those eight were chosen meant that 3,323 of the catalog's 4,076 pages were never picked by any sibling, while one page in a hundred held four links in ten.

The block now fills half its slots by the strongest matches and half by a per-page rotation over every sibling that shares an attribute. The same page gets the same eight on every visit, and a people that shares a region with two hundred others is now offered by some of them instead of none.

The change was written down before it shipped, with the set of newly linked pages fixed in advance, so that what the links do for those pages can be read later against the pages that were already linked.

Under the hood

  • Candidates are the public pages that share at least one of the four attributes with the page. A match on homeland counts most, then language, region and religion; four slots go to the top of that order, with the page's coverage score as the tiebreak.
  • The other four slots come from a rotation keyed to the pair of pages, so the choice is deterministic per page and differs from page to page. It runs inside the database query in one read, bounded to a few dozen rows however large the match set is.
  • A people published under two names links only its canonical page, so no related link lands on a redirect.
  • The French, German and Spanish twins of a peoples page take the same eight, showing the groups that are public in that language.
  • Before and after were simulated on the full catalog first, over the pages that are public: the page-by-page prediction matched the live blocks on every page read after the deploy.
pages without an inbound related link before
3,323
after
53
peoples pages
4,076

See it on the site

Read the full log