
Vor einiger Zeit versuchte ich ein gutes Bewertungstool für Twitterer zu erstellen. Ursprung dieser Idee war, dass es einfach kein vernünftiges Bewertungsprofil gab und auch immer noch nicht gibt. Dabei war mein Ansatz – vorsichtig ausgedrückt – ziemlich geil:
Problematisch war und ist es jedoch auch, weil ich dafür die Follower der Follower der Follower eines Profils auslesen müsste. Wieso? Interessant wäre das nämlich, weil es somit etwas über die Qualität der Follower eines Accounts in Erfahrung bringen würde, weil man nämlich genauso die Qualität der Follower der Follower eines Accounts kennen würde.
Beispiel: Ich habe zur Zeit 383 Follower. Wenn jeder meiner Follower im Durchschnitt nochmal 400 Follower hat, von denen wiederum alle durchschnittlich 400 Follower haben, muss ich also 383 * 400 * 400 Profile abrufen. Das macht nun 61.280.000 (für die Mathematiker unter meinen Lesern: Einundsechzig Millionen und ein paar zerquetschte). Jeden dieser Profile würde ich dann intern nochmal auf weitere Faktoren analysieren: Following zu Follower Verhältnis, das Follower zu “Gelistet” Verhältnis, Mention (und Retweet) zu Follower Verhältnis und noch einige ander Verhältnisse. Die durchschnittliche Anzahl von Bilderaufrufen auf Twitpic oder yfrog. Favstar könnte man auch noch auslesen. Das alles hätte ich nun für jeden einzelnen der 62 Millionen User in einen Topf geworfen und eine willkürliche Zahl ohne oberes Ende daraus generiert. Da ich nun wüsste, wie qualitativ ungefähr die Follower der Follower eines Profils sind, könnte ich daraus entsprechend genauso eine Stufe weitergehen und berechnen, wie qualitativ die Follower eines Profils sind. Und daraus würde ich wieder eine Zahl ohne oberes Ende generieren, welche schließlich eine ziemlich genaue und gute Bewertung für ein Twitterprofil darstellen würde.
Das Problem ist den intelligenteren von euch bestimmt schon aufgefallen: 62 Millionen Abfragen und die zusätzliche Beschaffung der Bewertungskriterien von den hinzugezogenen Kriterien für jeden einzelnes Twitterprofil, um ein einziges zu bewerten ist ziemlich astronomisch. Würde ein Justin Bieber sich auf mein Bewertungstool verirren, würde ein Bewertungsdurchlauf vermutlich Wochen dauern.
Ich habe einige Lösungseinsätze für dieses Problem im Kopf. Erstens, ich analysiere die Follower nur bis zur zweiten Ebene (nur noch 153.200 Analysen), im Extremfall sogar nur bis zur ersten (selbst letztere Variante würde bei Zurateziehen der weiteren o.g. Faktoren und Informationen vermutlich die besten verfügbaren Resultate liefern). Das geht dann geringfügig auf die Qualität der Bewertung. Aber da es sich hier um ein Analysetool für Twitterprofil handelt und dieses in der Komplexität nicht unbedingt einen Algorithmus einer revolutionären Wettervorhersageanalyse nahe kommen muss, ist es verkraftbar. Dann könnte man die Ergebnisse cachen, denn mit einer einzigen Profilanalyse könnten bereits Teile für weitere Profilanalysen genutzt werden. Und schließlich wäre es eventuell für Twitter selbst entschlackend und würde könnte deren Ressourcen erheblich schonen, da man hier ziemlich gut auch Spamaccounts identifizieren könnte (indem man Muster für diese entwickelt, einige offensichtliche Spamaccounts per Hand raussucht, sie bewertet und daraus einen Durchschnittsbewertungswert bildet, welcher schließlich auf Spamaccounts hinweist).
Das letzte Problem ist, selbst im Falle dessen, nur die allererste Ebene, also 383 Profile + das eigene zu analysieren, schon über due maximalen Zugriffe der Twitter API hinausgeht. Die liegt, aus meinem Gedächtnis heraus, bei 150 Zugriffen pro Stunde ohne jegliche Logins und bei 300 Zugriffen pro Stunde pro eingeloggten User. Das ist eigentlich ziemlich wenig.