Das Tool SISTRIX ist neben Xovi das in Deutschland am meisten genutzte Analyseprogramm im Bereich SEO. Der Sichtbarkeitsindex hat sich dabei zu einem Quasi-Standard für die Sichtbarkeit einer Seite in der Google-Suche etabliert. Die Parameter, die in dessen Berechnung mit einfließen, sind zwar beispielsweise hier und hier und hier und hier und hier erläutert, eine genaue Berechnungsformel dazu wird aber offiziell nicht veröffentlicht. Es folgen die Resultate meiner halbjährigen persönlichen Recherche, die weder Anspruch auf Vollständigkeit noch Richtigkeit erheben.
Mit
- \(A_l\): SISTRIX-Keywordset (sortierte Menge an fest definierten Keywords für ein spezifisches Land, Set beinhaltet gleichbleibenden – auf trafficbasis eines 12-Monats-Schnitts erhobenen – sowie kleineren variierenden Anteil)
- \(\vert A_l \vert\): Mächtigkeit von \(A_l\) mit bspw. \(\vert A_{DE} \vert = 1.000.000\) (Stand: 01.10.2021)
- \(k \in A_l\): Keyword aus \(A_l\)
- \(u\): URL (je nach Format als Domain, Subdomain, Verzeichnis, einzelne URL zu interpretieren)
- \(r_{uklgt}\): Ranking der URL \(u\) in den organischen Suchergebnissen der Suchmaschine Google für das Keyword \(k\) im Land \(l\) auf dem Gerätetyp \(g\) zum Zeitpunkt \(t\)
- \(s_{klgt}\): Suchvolumen (durchschnittliche Suchanfragen pro Monat mit Daten von SISTRIX, nicht aus Google Keyword-Planer, sondern lt. eigener Aussage kumuliert aus über ein dutzend überwiegend externer Datenhändler) für das Keyword \(k\) im Land \(l\) auf dem Gerätetyp \(g\) zum Zeitpunkt \(t\)
- \(c_{uklgt}\): Geschätzte Klicks auf die URL \(u\) für das Keyword \(k\) im Land \(l\) auf dem Gerätetyp \(g\) zum Zeitpunkt \(t\)
- \(l \in L=\{DE;...;JP\}\): Land mit \(\vert L \vert=30\) (Stand: 01.06.2021)
- \(g\in\{D;M\}\): Gerätetyp (Desktop/Mobil)
- \(t\): Zeitpunkt (Datum um jeweils 00:00:00 Uhr)
- \(S_{ulgt}\): SISTRIX Sichtbarkeitsindex der URL \(u\) des Landes \(l\) auf dem Gerätetyp \(g\) zum Zeitpunkt \(t\)
- Wertemenge \(W_S = \, \mathbb{Q}^{+}_{0}\)
gilt
$$S_{ulgt} = \sum_{k=1}^{\vert A_l \vert} f(r_{uklgt}, c_{uklgt})$$
mit
$$\begin{multline} \mathbb{N_0} \times \mathbb{Q}^{+}_{0} \to \, \mathbb{Q}^{+}_{0}, f(r, c) = ((1-\text{sgn}(r - 1)^2) \cdot ((1-\text{ceil}(0.5 \cdot \text{sgn}(c-34{,}4796))) \cdot 0{,}0194 + \\ (\text{ceil}(0.5 \cdot \text{sgn}(c-34{,}4796))) \cdot ((1+\text{floor}(0.5 \cdot \text{sgn}(c-378{,}325))) \cdot 0{,}125 - \\ (\text{floor}(0.5 \cdot \text{sgn}(c-378{,}325))) \cdot (0{,}0004 \cdot c + 0{,}0119)))) + (\text{sgn}(r-1)^2 \cdot \\ ((1-\text{sgn}(r - 2)^2) \cdot ((1-\text{ceil}(0.5 \cdot \text{sgn}(c-17{,}418))) \cdot 0{,}0136 + \\ (\text{ceil}(0.5 \cdot \text{sgn}(c-17{,}418))) \cdot ((1+\text{floor}(0.5 \cdot \text{sgn}(c-230{,}6839))) \cdot 0{,}125 - \\ (\text{floor}(0.5 \cdot \text{sgn}(c-230{,}6839))) \cdot (0{,}0006 \cdot c + 0{,}0035)))) + (\text{sgn}(r-2)^2 \cdot \\ ((1-\text{sgn}(r - 3)^2) \cdot ((1-\text{ceil}(0.5 \cdot \text{sgn}(c-11{,}0236))) \cdot 0{,}0098 + \\ (\text{ceil}(0.5 \cdot \text{sgn}(c-11{,}0236))) \cdot ((1+\text{floor}(0.5 \cdot \text{sgn}(c-231{,}3121))) \cdot 0{,}125 - \\ (\text{floor}(0.5 \cdot \text{sgn}(c-231{,}3121))) \cdot (0{,}0006 \cdot c + 0{,}0025)))) + (\text{sgn}(r-3)^2 \cdot \\ ((1-\text{sgn}(r - 4)^2) \cdot ((1-\text{ceil}(0.5 \cdot \text{sgn}(c-8{,}8619))) \cdot 0{,}0077 + \\ (\text{ceil}(0.5 \cdot \text{sgn}(c-8{,}8619))) \cdot ((1+\text{floor}(0.5 \cdot \text{sgn}(c-219{,}6195))) \cdot 0{,}125 - \\ (\text{floor}(0.5 \cdot \text{sgn}(c-219{,}6195))) \cdot (0{,}0006 \cdot c + 0{,}002)))) + (\text{sgn}(r-4)^2 \cdot \\ ((1-\text{sgn}(r - 5)^2) \cdot ((1-\text{ceil}(0.5 \cdot \text{sgn}(c-8{,}0684))) \cdot 0{,}0068 + \\ (\text{ceil}(0.5 \cdot \text{sgn}(c-8{,}0684))) \cdot ((1+\text{floor}(0.5 \cdot \text{sgn}(c-249{,}3706))) \cdot 0{,}125 - \\ (\text{floor}(0.5 \cdot \text{sgn}(c-249{,}3706))) \cdot (0{,}0006 \cdot c + 0{,}0017)))) + (\text{sgn}(r-5)^2 \cdot \\ ((1-\text{sgn}(r - 6)^2) \cdot ((1-\text{ceil}(0.5 \cdot \text{sgn}(c-5{,}357))) \cdot 0{,}0058 + \\ (\text{ceil}(0.5 \cdot \text{sgn}(c-5{,}357))) \cdot ((1+\text{floor}(0.5 \cdot \text{sgn}(c-133{,}2103))) \cdot 0{,}1011 - \\ (\text{floor}(0.5 \cdot \text{sgn}(c-133{,}2103))) \cdot (0{,}0007 \cdot c + 0{,}0015)))) + (\text{sgn}(r-6)^2 \cdot \\ ((1-\text{sgn}(r - 7)^2) \cdot ((1-\text{ceil}(0.5 \cdot \text{sgn}(c-4{,}3643))) \cdot 0{,}0049 + \\ (\text{ceil}(0.5 \cdot \text{sgn}(c-4{,}3643))) \cdot ((1+\text{floor}(0.5 \cdot \text{sgn}(c-90{,}3704))) \cdot 0{,}0727 - \\ (\text{floor}(0.5 \cdot \text{sgn}(c-90{,}3704))) \cdot (0{,}0008 \cdot c + 0{,}0013)))) + (\text{sgn}(r-7)^2 \cdot \\ ((1-\text{sgn}(r - 8)^2) \cdot ((1-\text{ceil}(0.5 \cdot \text{sgn}(c-3{,}3292))) \cdot 0{,}0039 + \\ (\text{ceil}(0.5 \cdot \text{sgn}(c-3{,}3292))) \cdot ((1+\text{floor}(0.5 \cdot \text{sgn}(c-87{,}6123))) \cdot 0{,}0706 - \\ (\text{floor}(0.5 \cdot \text{sgn}(c-87{,}6123))) \cdot (0{,}0008 \cdot c + 0{,}0011)))) + (\text{sgn}(r-8)^2 \cdot \\ ((1-\text{sgn}(r - 9)^2) \cdot ((1-\text{ceil}(0.5 \cdot \text{sgn}(c-2{,}944))) \cdot 0{,}0029 + \\ (\text{ceil}(0.5 \cdot \text{sgn}(c-2{,}944))) \cdot ((1+\text{floor}(0.5 \cdot \text{sgn}(c-75{,}6014))) \cdot 0{,}0515 - \\ (\text{floor}(0.5 \cdot \text{sgn}(c-75{,}6014))) \cdot (0{,}0007 \cdot c + 0{,}0012)))) + (\text{sgn}(r-9)^2 \cdot \\ ((1-\text{sgn}(r - 10)^2) \cdot ((1-\text{ceil}(0.5 \cdot \text{sgn}(c-2{,}4797))) \cdot 0{,}0019 + \\ (\text{ceil}(0.5 \cdot \text{sgn}(c-2{,}4797))) \cdot ((1+\text{floor}(0.5 \cdot \text{sgn}(c-36{,}7911))) \cdot 0{,}0199 - \\ (\text{floor}(0.5 \cdot \text{sgn}(c-36{,}7911))) \cdot (0{,}0005 \cdot c + 0{,}0005)))) + (\text{sgn}(r-10)^2 \cdot 0)))))))))) \end{multline}$$
Diese Formel wurde überwiegend durch Reverse Engineering mit überwiegender zu Hilfenahme der offiziellen SISTRIX API extrahiert. Die Grundidee war dabei: Reduziere das Problem auf einfache Beispiele (finde URLs mit positivem Sichtbarkeitsindex mit nur einem/zwei/drei/... Keywords) und versuche dann komplexere Fälle zu reproduzieren.
Eigenschaften des Sichtbarkeitsindex:
- Es fließen ausschließlich die Keywords des "permanenten Keywordsets" von 1.000.000 Keywords in den Sichtbarkeitsindex mit ein, nicht die Keywords der sich ständig erweiternden "vollständigen Datenbasis" (die sich an aktuelle Events und Gegebenheiten anpasst), die momentan 100.000.000 Keywords umfasst (Stand 01.10.2021). Die jeweiligen Keywordgruppen können einfach gefiltert werden, indem man unter "Datum" einen Wert auswählt oder in der API den Wert extended auf 0 setzt. Die Standard-Daten oder auch historischen Daten sind beständig und werden seit 2008 wöchentlich, mittlerweile täglich erhoben.
- AMP Treffer fließen nicht mit in den Sichtbarkeitsindex ein.
- Es empfiehlt sich, mit den Analysen zunächst in kürzlich angelegten Ländern wie beispielsweise Rumänien, Kroatien, Slowenien & Bulgarien oder durch Anlegen eines eigenen Sichtbarkeitsindex zu beginnen. Das hat den Grund, das SISTRIX bei Ländern wie Deutschland "historischen Ballast" mitschleppt, der dazu führt, dass Keywords mit früher höherer Gewichtung trotz (auch seit längerem) niedrigem Suchvolumen aktuell noch stärker einfließen, als man es erwarten würde. Das Ganze soll aber laut der Aussage des Supports sukzessive angeglichen und langfristig nicht mehr zu sehen sein.
- Das Suchvolumen spielt entgegen meiner ursprünglichen Annahme nur eine indirekte Rolle für den Sichtbarkeitsindex. Stattdessen sind die zu erwartenden Klicks entscheidend. Der Zusammenhang zwischen Suchvolumen und geschätzten Klicks besteht hauptsächlich in der geschätzten Suchintention, die ebenfalls mit angegeben ist. Darauf weist SISTRIX selbst explizit hin.
- Die zu erwartende Klicks sind der treibende Faktor des Sichtbarkeitsindex. Deren Auswirkung ist nach oben und unten gedeckelt, damit verläuft der Sichtbarkeitsindex immer zwischen einer Ober- und Untergrenze und dazwischen linear.
- Die Klicks sind gar nicht über die offizielle API abgreifbar, sondern nur über das Webinterface oder über einen manuellen CSV-Export. Hier sind in beiden Fällen die Werte gerundet, im DOM der Ansicht "Keywords" stehen jedoch auch die originalen Werte:
Die folgende Formel kann man auch in Excel oder Google Sheets benutzen; Sie berechnet den Sichtbarkeitsindex für ein Tabellenblatt, in dem in jeder Zeile ein Keyword mit seiner Position in Spalte A und seinen zu erwartenden Klicks in Spalte B stehen:
=SUMME(WENN(A1:A999999=1;WENN(B1:B999999=378,32500379436;0,125;(0,00037306471297181*B1:B999999+0,011944496557952))); WENN(A1:A999999=2;WENN(B1:B999999=230,68394113271;0,125;(0,00055449577110866*B1:B999999+0,0035350976909409))); WENN(A1:A999999=3;WENN(B1:B999999=231,31214231278;0,125;(0,00059715499256153*B1:B999999+0,0025455442270028))); WENN(A1:A999999=4;WENN(B1:B999999=219,61948739302;0,125;(0,00063710437878404*B1:B999999+0,0020405503130787))); WENN(A1:A999999=5;WENN(B1:B999999=249,37064996217;0,125;(0,00058906284391034*B1:B999999+0,0017391721053351))); WENN(A1:A999999=6;WENN(B1:B999999=133,21031841331;0,1011;(0,00074744619531311*B1:B999999+0,0015021940435474))); WENN(A1:A999999=7;WENN(B1:B999999=90,370431493381;0,0727;(0,00078977592541601*B1:B999999+0,0012962057526498))); WENN(A1:A999999=8;WENN(B1:B999999=87,612293584114;0,0706;(0,00079399080394233*B1:B999999+0,0010648385910406))); WENN(A1:A999999=9;WENN(B1:B999999=75,601377547472;0,0515;(0,00066458507066795*B1:B999999+0,0011972721128791))); WENN(A1:A999999=10;WENN(B1:B999999=36,79114711734;0,0199;(0,00052397754322654*B1:B999999+0,00053850952142599))); 0)))))))))))
Damit lassen sich folgende Ergebnisse produzieren:
Land | Device | Datum | \(S_{echt}\) | \(S_{berechnet}\) | \(\Delta\) | \(\Delta_{\%}\) | URL / Verzeichnis |
SI | M | 29.10.21 | \( 0{,}1348 \) | \( 0{,}1348 \) | \( 0{,}0000 \) | \( 0{,}00% \) | https://support.google.com/youtube/?hl=sl |
SI | M | 29.10.21 | \( 0{,}2156 \) | \( 0{,}2155 \) | \( 0{,}0001 \) | \( 0{,}05% \) | https://Me.twitter.com/youtube |
SI | M | 29.10.21 | \( 0{,}3746 \) | \( 0{,}3740 \) | \( 0{,}0006 \) | \( 0{,}16% \) | https://sl.m.wikipedia.org/wiki/YouTube |
SI | M | 29.10.21 | \( 0{,}6771 \) | \( 0{,}6760 \) | \( 0{,}0011 \) | \( 0{,}16% \) | https://m.facebook.com/youtube/ |
SI | M | 29.10.21 | \( 0{,}6836 \) | \( 0{,}6830 \) | \( 0{,}0006 \) | \( 0{,}09% \) | https://x2convert.com/en117/download-youtube-to-mp3-music |
SI | M | 29.10.21 | \( 0{,}7636 \) | \( 0{,}7555 \) | \( 0{,}0081 \) | \( 1{,}06% \) | https://www.youtubekids.com/ |
SI | M | 29.10.21 | \( 0{,}8749 \) | \( 0{,}8730 \) | \( 0{,}0019 \) | \( 0{,}22% \) | https://www.4kdownload.com/products/youtubetomp3/6 |
SI | M | 29.10.21 | \( 4{,}0020 \) | \( 3{,}9980 \) | \( 0{,}0040 \) | \( 0{,}10% \) | https://ytmp3.cc/en23/ |
SI | M | 29.10.21 | \( 8{,}0520 \) | \( 8{,}0520 \) | \( 0{,}0000 \) | \( 0{,}00% \) | https://support.google.com/youtube/ |
SI | M | 29.10.21 | \( 11{,}6600 \) | \( 11{,}6100 \) | \( 0{,}0500 \) | \( 0{,}43% \) | https://m.facebook.com/events/ |
SI | M | 29.10.21 | \( 19{,}7000 \) | \( 19{,}6890 \) | \( 0{,}0110 \) | \( 0{,}06% \) | https://minecraft.fandom.com/wiki/ |
SI | M | 29.10.21 | \( 32{,}5900 \) | \( 32{,}5890 \) | \( 0{,}0010 \) | \( 0{,}00% \) | https://hr.m.wikipedia.org/wiki/ |
RO | M | 29.10.21 | \( 0{,}1516 \) | \( 0{,}1516 \) | \( 0{,}0000 \) | \( 0{,}00% \) | https://lol.fandom.com/wiki/LCK/2021_Season/Summer_Season |
HR | M | 29.10.21 | \( 0{,}2191 \) | \( 0{,}2190 \) | \( 0{,}0000 \) | \( 0{,}00% \) | https://starwars.fandom.com/wiki/Mandalorian |
BG | M | 03.11.21 | \( 0{,}3703 \) | \( 0{,}3702 \) | \( 0{,}0001 \) | \( 0{,}03% \) | https://leagueoflegends.fandom.com/wiki/List_of_champions |
Die Differenz zwischen den echten und den berechneten Werten entsteht durch Rundungsfehler sowie durch den begrenzten Datensatz, der dem Training des Modells zu Grunde liegt. Die obigen Ausführung können als Grundlage dienen, die Formel weiter zu verfeinern und beispielsweise den Zusammenhang zwischen Suchvolumen und zu erwartenden Klicks zu berechnen. Wer Interesse an den Skripten hat, die während meiner Recherchen entstanden sind, kann sich gerne an mich wenden.