x algorithmopen sourcealgorithmic transparencymethodprovenance18. August 2026

X veröffentlichte seinen Algorithmus. Wir haben ihn gelesen, wir haben etwas falsch verstanden, und die Quelle hat uns erwischt.

Eine Sonderausgabe, außerhalb des üblichen Zyklus. Kein Datencluster – ein Stück Quellcode, das die halbe Internet auswendig zitiert. Wir haben alle 123 Komponenten gelesen, jede Zahl mit ihrer Zeile verknüpft und eine Behauptung aufgestellt, die unsere eigene Quelle drei Tage später widerlegt hat.

X hat seinen Algorithmus veröffentlicht. Wir haben ihn gelesen, wir haben uns in einer Sache geirrt, und die Quelle hat uns erwischt.

Eine Sonderausgabe, außerhalb des üblichen Zyklus. Diesmal kein Datencluster – ein Stück Quellcode, das das halbe Internet auswendig zitiert. Wir haben alle 123 Komponenten gelesen, eine Seite veröffentlicht, die jede Zahl mit ihrer Zeile verknüpft, und eine Behauptung aufgestellt, die unsere eigene Quelle drei Tage später widerlegt hat. Hier steht, was der Code sagt, und was uns dieser Fehler über die Methode gelehrt hat, die wir verkaufen.

Am 13. August 2026 hat X den Ranking-Code für seinen "For You"-Feed unter Apache-2.0 Open Source gestellt. Innerhalb von zweiundsiebzig Stunden waren die Zahlen überall: Ein Repost ist zwanzig Likes wert, ein Profilklick zwölf, eine Meldung hebt vierhundertachtundsechzig Likes auf.

Fast keine dieser Zahlen beschreibt den Code, der heute läuft.

Es sind keine Erfindungen. Es sind Überbleibsel – wahr für eine Scala-Pipeline, die vor Jahren in den Ruhestand versetzt wurde, zitiert, als ob sie die Rust-Pipeline beschreiben würde, die sie ersetzt hat. Eine Zahl ohne Datum und ohne Codezeile ist keine Tatsache. Es ist ein Gerücht mit Dezimalpunkt.

Also haben wir das Unspektakuläre getan: Wir haben das Repository Zeile für Zeile gelesen und die fehlende Seite erstellt.

→ d-nvest.com/x-algorithm — kostenlos, kein Konto erforderlich, neun Sprachen.

1. Was der Code tatsächlich sagt

190 Parameter, die X ohne Code-Deployment ändern kann. 24 Konstanten, die in die Binärdatei kompiliert sind. 123 Komponenten in der Ranking-Pipeline. Jede dieser Zahlen auf unserer Seite verlinkt zur exakten Zeile, aus der sie gelesen wurde, angeheftet an einen einzelnen Commit – und seit dieser Woche werden die tatsächlichen Rust-Zeilen direkt angezeigt, sodass Sie uns nie auf ein Wort festnageln müssen.

Vier der Behauptungen, die wir überprüft haben, und was die Quelle stattdessen sagt:

"Ein Repost ist 20 Likes wert." Er ist zwei wert. `RetweetWeight` ist 1,0 gegenüber `FavoriteWeight` von 0,5. Keine veröffentlichte Version dieses Algorithmus hat jemals 20 für einen Repost verwendet – nicht einmal die von 2023, die die Leute zitieren.

"Ein Profilklick ist 12 Likes wert." Heute ist er gar nichts wert: Das Gewicht ist null. Die 12 waren real, für ein zusammengesetztes Signal, das im Baum nicht mehr existiert.

"Eine Meldung hebt 468 Likes auf." Die Arithmetik ist richtig und die Schlussfolgerung falsch. Diese Gewichte multiplizieren eine vorhergesagte Wahrscheinlichkeit, nicht eine Anzahl von Aktionen. X gibt an, dass eine Meldung tausendmal seltener ist als ein Like – die beiden Begriffe waren von Anfang an nie gleich groß. Das Teilen eines Gewichts durch ein anderes ergibt keinen Wechselkurs.

"Der blaue Haken kauft Reichweite." Nichts im veröffentlichten Code multipliziert einen Score mit dem Abonnementstatus, und der Boost von 2023 ist aus dem Baum verschwunden. Die ehrliche Grenze, die wir auf der Seite drucken: Das endgültige Ranking läuft durch ein gelerntes Modell, dessen Gewichte nicht veröffentlicht sind. Eine Korrelation, die das Modell selbst gelernt hat, kann nicht durch das Lesen von Code ausgeschlossen werden. Wir sagen das, weil es wahr ist.

Und die Erkenntnis, die fast niemand erwähnt: Das stärkste positive Signal im veröffentlichten Code ist nicht der Repost, die Antwort oder der Like. Es ist jemand, der Ihren Link kopiert, um ihn woanders zu teilen. Die 20, die jeder zitiert, sind echt. Sie sind nur an eine völlig andere Aktion gebunden.

2. Die Behauptung, die wir aufgestellt haben und die unsere eigene Quelle widerlegt hat

Hier ist der Teil, den ein Marketingteam streichen würde.

Unsere Seite ging live und verkündete als wichtigste Erkenntnis, dass keine Person und keine Organisation irgendwo in diesem Repository genannt wird – keine Account-ID, kein Handle, keine hartcodierte Liste. Wir haben eine Vollbild-Null auf dem Karussell platziert.

Es war falsch.

Beim exakten Commit, den wir angeheftet hatten, enthält `home-mixer/filters/brazil_2026_election_filter.rs` 665 Account-IDs, die in den Quellcode geschrieben sind, jede mit ihrem Handle annotiert. Die Datei besagt selbst: "Benutzernamen sind zur Transparenz enthalten." Der Filter entfernt die Beiträge dieser Konten aus "For You" – einschließlich Reposts, Zitate und Thread-Vorgänger –, es sei denn, der Betrachter folgt ihnen bereits. X liefert ihn absichtlich gemäß dem brasilianischen Wahlrecht aus und dokumentiert ihn in seinem eigenen README.

Warum wir uns geirrt haben, ist der einzig interessante Teil. Der Satz wurde nicht aus irgendetwas extrahiert. Er wurde von Hand geschrieben. Er war wahr für die Teilmenge, die wir gelesen hatten – die Regeln zur Filterung der Sichtbarkeit – und wurde dann leise zu "irgendwo in diesem Repository" verallgemeinert. Eine Verallgemeinerung verifiziert sich niemals selbst neu.

Schlimmer noch: Ein Test in unserer eigenen Suite hat den Fehler an Ort und Stelle verankert. Er prüfte, ob der Satz bestimmte Wörter enthielt. Er garantierte, dass der Satz da war, aber nie, dass er wahr war. Ein Test kann eine Lüge festschreiben.

Wir haben ihn am selben Tag korrigiert. Diese Behauptung wird jetzt aus einer Durchquerung des Repositorys berechnet, anstatt darüber ausgesagt zu werden, die Seite zeigt die Konten an, und die Zahl ändert sich, wenn sich die Quelle ändert.

Die Quelle hat uns vor allen anderen widerlegt. Genau dafür ist eine Quelle da – und das ist das ganze Argument für diese Arbeitsweise.

3. Die Ländereinschränkung, die kein Land enthält

Als wir anfingen, richtig hinzusehen, stellte sich die Geografie als das Gegenteil von dem heraus, was jeder annimmt.

Im gesamten Repository hat genau ein Land eine eigene Liste. Zwei weitere Länderlisten sind hartcodiert – 16 Länder, in denen sensible Inhalte für Personen zurückgehalten werden, die kein Alter angegeben haben, und 18 Länder, die das Modell individuell behandelt – und jedes andere Land der Erde fällt in eine Sammelkategorie: nicht blockiert, ununterscheidbar.

Die Daten zur Entfernung pro Beitrag – das, was die Leute meinen, wenn sie sagen "in Land X zurückgehalten" – sind überhaupt nicht im Repository enthalten. Diese Regeln vergleichen das Land des Betrachters mit Codes, die jeder Beitrag zur Laufzeit trägt, und diese Daten werden nicht veröffentlicht. Eine Karte, die "zensierte" Länder aus diesem Code einfärbt, würde sie erfinden. Unsere tut das nicht.

Und der einzige länderspezifische Filter, der im Code geschrieben ist, hat eine Eigenschaft, die wir nicht erwartet haben: Keine Länderbedingung erscheint darin, noch um die Zeile herum, die ihn einschaltet. Er wird bedingungslos in die Filterkette der Pipeline aufgenommen.

Wir veröffentlichen dies mit der angehängten Einschränkung, denn die Einschränkung ist der ehrliche Teil: Welche Pipeline welchen Markt bedient, kann in einer Schicht entschieden werden, die X nicht veröffentlicht. Was wir sagen können, ist, was der veröffentlichte Code enthält – und er enthält keinen Ländertest.

4. Was entfernt wird, ist Reichweite, nicht Rede

Die Stummschaltungsmaschinerie existiert, sie ist lesbar und sie ist enger gefasst, als das Wort "Shadow Ban" vermuten lässt.

32 Entfernungregeln werden klar und deutlich geliefert und wirken auf 27 Labeltypen. Zwei davon verbergen einen Beitrag nur für Nicht-Follower – Ihre Follower sehen Sie immer noch. Diese Unterscheidung ist im Code enthalten und verschwindet jedes Mal, wenn jemand nach der klickträchtigen Formulierung greift.

Überall außer bei diesem einen Filter wirken die Regeln auf ein Label, das zur Laufzeit angebracht wird, und die Kennzeichnung selbst wird nicht veröffentlicht. Der Code zeigt, was getan werden kann. Niemals, wem es getan wurde.

5. Warum ein Datenunternehmen eine Woche daran gearbeitet hat

Weil es die Arbeit ist, die wir beruflich machen, öffentlich getan, an einer Quelle, über die jeder bereits eine Meinung hat.

Unsere Aufgabe ist es, etwas Undurchsichtiges – ein Register, eine Einreichung, einen Datensatz, ein Repository – zu nehmen und es Zeile für Zeile überprüfbar zu machen. Der Teil, der Disziplin erfordert, ist nicht das Finden der Antworten. Es ist, laut auszusprechen, wo die Antworten aufhören, und sich öffentlich zu korrigieren, wenn die Quelle sagt, dass Sie falsch lagen.

Die Seite beobachtet sich auch selbst. Ein Job vergleicht jeden Morgen unseren angehefteten Commit mit dem von X; wenn sie abweichen, sagt die Seite, dass sie veraltet ist, anstatt stillschweigend veraltete Zahlen zu liefern, und die Neuerstellung landet auf einem Branch, der auf einen Menschen wartet. Eine Seite, die die veralteten Zahlen anderer anprangert, darf nicht selbst veraltet werden.

→ Lesen Sie es: d-nvest.com/x-algorithm

Get the next analysis

One deep-dive per edition on where valuable data is hiding — the evidence, the sources, and who would pay for it. No noise.

One email per edition. Unsubscribe any time. We never share your address.

From the marketplace

Explore live data opportunities

Browse datasets by sector & use-case
Found this useful? Share it

d-nvest turns the data assets behind these deals into scored, actionable opportunities.

Explore the pipeline →
X veröffentlichte seinen Algorithmus. Wir haben ihn gelesen, wir haben etwas falsch verstanden, und die Quelle hat uns erwischt. | d-nvest