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?

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Ingo am :

*Hallo Dirk,

obs solche Scirpts gibt weiß ich nicht, aber mit nem gewissen Fehler muss man wohl leben.

Ich zähle für nen überschlag auch immer alle Downloads zusammen und teile dann durch die Richtige länge.
Erschwerend kommt ja hinzu dass Chrome immer die Ogg Datei runterläd selbst wenn nur ein Besucher auf die Seite geht ohne überhaupt die Sendung anhören zu wollen.

Grüße

Ingo

Dirk Deimeke am :

*Dass es immer einen gewissen Fehler gibt, ist klar. Da die Podcasts aber deutlich unterschiedliche Länge haben, lohnt es sich meiner Meinung nach nicht, Übertragungsvolumen durch die durchschnittliche Länge zu teilen.

visus am :

*Ob es Scripts gibt, kann ich dir auch nicht sagen, aber zumindest gibt es gute Ansaetze (die sich garantiert relativ einfach erweitern lassen): http://sourceforge.net/projects/clicktrack/

visus am :

*Ich habe mal in den Quellcode das Apache Moduls geschaut. Es wird ein Hook pro Request gesetzt. Die Hook-Funktion bekommt einen Pointer auf ein request_rec struct fuer den Request uebergeben und darin gibt es auch bytes_sent (long), das extra fuer Logging-Module existiert. Du muesstest also 1, 2 Zeilen Code und in der MySQL Tabelle eine Zeile hinzufuegen und die Auswertung duerfte dadurch wesentlich einfacher werden. ... Naja, subjektiv. Ich finde es einfacher aus einer Datenbank Statistiken abzuleiten als ueber ein Bashscript ueber Access Logs. Ein Vorteil: Logrotate macht dir damit keine Probleme.

Dirk Deimeke am :

*Klar, ich habe Datenbanken auch lieber.

Ich habe das Skript ins Logrotate aufgenommen, damit spielt das auch keine Rolle ;-)

Dirk Deimeke am :

*Ein Apache-Modul ist für mich der falsche Weg, da der Webserver zu Nginx migriert wird. Da ist ein Skript, das die Logs durchforstet, schon besser geeignet (Nginx kann im Apache-Format loggen).

Kai am :

*Bei einem Hörertreffen hat Tim Pritlove mal erzählt, dass er das genauso macht, also Summe aller heruntergeladenen Bytes durch Größe der Podcastfolge in Bytes.
Ich hab mich bereits beim ersten Mal schon gewundert, als ihr erzählt habt, dass ihr x tausend Downloads pro Folge zählt, weil ich mir damals schon dachte, dass ihr evtl. einfach jeden (angefangenen) Download zählt.
Was ist eigentlich mit den Downloads über Itunes? Lädt Itunes einmal die Folge auf einen Appleserver und verteilt dann von dort aus weiter? Das würde dann in der Statistik wieder fehlen.

Kai am :

*P.S: Falls Bedarf besteht, kann ich ein kleines Skript in Python hacken, was die Downloads zählen kann?

Dirk Deimeke am :

*Vielen Dank für Dein Angebot Kai, aber ich bin schon dabei, das in Perl zu implementieren und - habe ich noch nicht mit Roman besprochen - wir werden die Zahlen vermutlich ab dem neuen Jahr auch veröffentlichen.

Dirk Deimeke am :

*Ich muss ehrlich gestehen, ich weiss nicht, was mit iTunes ist. Das ist so gar nicht mein Gebiet und ich bin sehr dankbar, dass Christian den iTunes-Feed erstellt. Ich habe kein iTunes-fähiges Gerät ... (http://itunes.apple.com/ch/podcast/deimhart-das-klingt-gut/id366265822?ign-mpt=uo%3D4).

Die Zahlen sind bei mp3s gar nicht so unglaublich weit auseinander. Ich habe am 18. Dezember begonnen, die Länge auch in die Datenbank zu schreiben.

Seit Beginn der Rechnung 279 mp3-Downloadversuche und nach Grösse 267 Downloads.

Bei ogg spielt selbstverständlich der html5-Audioplayer eine sehr grosse Rolle, weil das Standard-Format für Firefox, der auf unserer Seite meist genutzte Browser, ogg ist.

Ebenfalls seit Beginn der Rechnung 506 Download-Versuche und nach Grösse 342, das macht zusammen knapp 600 Downloads in etwas mehr als vier Tagen (runden wir mal auf auf fünf Tage). Damit kommen wir auf rund 3600 Downloads im Monat.

Nicht eingerechnet ist in diesem Fall, dass Download-Kurve abflacht, je weiter wir uns vom Veröffentlichungszeitraum entfernen.

MacMacken am :

*Apple speichert keine Podcast-Episoden, sondern vermittelt in iTunes lediglich RSS-Feeds.

(RSS-Feeds kann man übrigens mit iTunes-spezifischen Informationen anreichern, so dass sich das Erscheinungsbild in iTunes verbessert – wenn man das denn möchte … ich persönlich konnte und kann mich mit iTunes, dem iTunes Store und den übrigen Apple-Stores bislang nicht anfreunden.)

Dirk Deimeke am :

*Danke Martin. Das bedeutet im Gegenzug, dass alles, was bei uns heruntergeladen wird auch - bis auf private "Tauschaktionen" - das ist, was bei den Nutzern landet.

Ich kann mich mit iTunes ebenfalls nicht anfreunden und wenn Christian, ein sehr netter Hörer, uns das Angebot nicht gemacht hätte, wären wir auch nicht bei iTunes,

Kommentar schreiben

Gravatar, Favatar, Pavatar, Identica, Twitter, MyBlogLog Autoren-Bilder werden unterstützt.
BBCode-Formatierung erlaubt
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
:'(  :-)  :-|  :-O  :-(  8-)  :-D  :-P  ;-) 
Formular-Optionen