molily: performante Verteilungsstatistik

Beitrag lesen

Hallo,

Nachteil: Ich blicke nicht ganz durch, ob ich meine Berechnungen wirklich aussagen: Soundsoviel Prozent haben eine innerwidth kleiner gleich x.

Das sagen sie auch nicht aus. Das kannst du schon daran erkennen, daß die Prozentwerte mit steigender innerwidth ebenfalls wachsen sollten.

Ja, stimmt. Den Fehler hab ich schonmal gemacht... Im verlinkten Artikel habe ich (nach Korrektur im Kommentar) geschrieben:

»Diese Diagramme sind so zu lesen: 78,9 Prozent aller Besucher haben eine Viewport-Breite größer als 1000 Pixel, hingegen nur 48,1 Prozent einen Viewport größer als 1040 Pixel.«

Wenn ich richtig sehe, stimmt diese Beschreibung auch. Danke für die Auffrischung, ich hatte das wieder komplett vergessen... ;)

Ich weiß nicht, womit du die obige Graphik erstellt hast

Mit dem besagten Algorithmus. ;)

aber sie scheint mir genau das Gegenteil auszudrücken: x Prozent haben eine Auflösung von y Pixel oder _größer_. Vermutlich ist es auch das, was du eigentlich wissen möchtest. Oder?

Ja, das will ich.

Ich habe z.B. eine Site, deren Layout einen Viewport von 1000px voraussetzt. Jetzt will ich wissen, wieviele Leute einen so breiten Viewport oder einen breiteren haben. Anders herum: Bei wieviel Prozent ist die Site zu breit für den Viewport (das sollte durch Umkehrung des Prozentwertes ersichtlich werden).

Leider habe ich durch das Umkehren der Statistik von viewport <= x nur ein viewport > x im Diagramm. Deshalb ist die ursprüngliche Beschreibung richtig, aber ich hätte lieber >= gewusst.

Beginne bei der höchsten Auflösung (z.B. 1000 Pixel).
100 * hits_1000 / hits_total ergibt den Prozentwert der Leute, die mit 1000 oder mehr Pixeln Breite registiert wurden.

Abwärts zur nächst tieferen Auflösung (z.B. 990 Pixel).
100 * (hits_1000 + hits_990) / hits_total ergibt den Prozentwert der Leute, die mit 990 oder mehr Pixeln Breite registiert wurden.

usw.

Danke, so habe ich es jetzt implementiert und es liefert auch die korrekten Zahlen (ich kann es ja mit Methode 2 nachprüfen).

Die Zahlen weichen nicht groß von denen meines bisherigen Algorithmus ab. Bzw. die Abweichungen sind logisch klar auf den Unterschied zwischen <= und >= zurückzuführen. Bsp.

Gesamtheit: 62756

Alter Algorithmus:
12972 haben <= 1000px
Demnach haben 49784 > 1000px, das sind 79,3294665052% der Gesamtheit

Neuer Algorithmus:
49882 haben >= 1000px
Das sind 79,4856268723% der Gesamtheit

SELECT count(id) as summe FROM hits WHERE innerwidth = 1000 (AND ...)
ergibt: 98

62756 - 49882 = 12874
(gesamt minus x>=1000 = 12874)

12972 - 98 = 12874
(x<=1000 minus 98 = 12874)

Insofern stimmen die Aussagen des ursprünglichen Diagramms zwar (wenn ich mich nicht irre), aber jetzt kann ich sinnigeres Diagramm im Hinblick auf meine Fragestellung erstellen.

Danke für die Erklärungen!

Mathias