Skip to content

Hörerzahlen bei DeimHart ...

deimhart Das Herausfinden der Hörerzahlen stellt sich schwieriger dar als ursprünglich gedacht.

Erste Ansatz war, da wir wissen, wie die Episoden heissen, weil wir ein festes Namensschema verwenden, durchsuchen wir die Apache-Logfiles nach den Namen, zählen und sind fertig. Falsch gedacht, wie ein Blick auf die übertragene Datenmenge zeigt.

Nach diesem Verfahren hätte die Dezember-Episode über Perl die folgenden Downloadzahlen
dh-20101206-ausgabe-020.mp3 3341
dh-20101206-ausgabe-020.ogg 6428

und Spitzenreiter wäre die Episode Ingo Ebel und RadioTux
dh-20100705-ausgabe-015.mp3 8435
dh-20100705-ausgabe-015.ogg 9309


Das stimmt aus drei Gründen nicht.
• das Verfahren zählt auch abgebrochene Downloads mit
• jeder, der sich nur ein Mal mit einem html5-fähigen Webbrowser auf unsere Seite begibt, wird mitgezählt
• ein Download bedeutet nicht, dass die Episode auch gehört wurde

Am letzten Punkt können wir leider nichts ändern. Den html5-Audioplayer setzen wir seit September ein. Das kann auch ein Grund dafür sein, dass Podcasts in "Häppchen" gehört werden (fünf Minuten hören, beim nächsten Besuch noch einmal fünf Minuten, ...).

Jetzt bieten die Apache-Logs aber das Feature, dass sie die übertragenen Daten mitprotokollieren.

Hier zwei typische Logzeilen:
0.0.0.1 - - [17/Dec/2010:08:23:10 +0100] "GET /uploads/dh-20101206-ausgabe-020.ogg HTTP/1.1" 206 1025 "http://deimhart.net/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.12 (KHTML, like Gecko) Chrome/9.0.579.0 Safari/534.12"
0.0.0.2 - - [17/Dec/2010:09:16:17 +0100] "GET /uploads/dh-20101206-ausgabe-020.ogg HTTP/1.1" 206 64400662 "-" "Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.10 (maverick) Firefox/3.6.13"


Der erste Request zeigt deutlich ein "gib mir Deinen Index" und der zweite ist ein nahezu kompletter Download.

Meine Idee ist es jetzt pro Episode die Menge der übertragenen Bytes zu summieren und durch die Länge der Episode zu teilen, um die Anzahl der Komplettdownloads zu bekommen. Das ist immer noch nicht 100% ideal, aber es ist wesentlich näher an realen Zahlen als das, was wir jetzt machen.

Ist da ein Denkfehler? Gibt es bessere Methoden? Kennt jemand vielleicht ein Skript, dass das bereits implementiert?