++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++ HINWEISE UND BEISPIELE ZUR BERECHNUNG des DAUs ++++ ++++ Eine Nachempfindung des Originals: "Goldfind3 - DAUs-Statistik" ++++ Autor: Heiko Studt (2017) ++++ ++++ ++++ 2023-12-30 Thomas Barghahn ++++ + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Im Folgendem soll die Berechnung der DAUs-STATISTIK genauer erläutert werden. Mit den vorliegenden Hinweisen und Beispielen soll es jedem User möglich sein, seine von der DAUs-Statistik errechneten DAUs-Points mit "Zettel und Bleistift" zu überprüfen. Betrachtet werden bei der Bewertung alle Artikel, die auf den Newservern bzw. in den jeweiligen News-Gruppen zur Verfügung stehen. Artikel, welche durch eine Cancel-Message oder einem Supersedes von den Servern entfernt wurden, werden nicht bewertet. Eine Besonderheit dieser Bewertung findet sich darin, dass gegenüber dem Original quoted-printable- und base64-kodierte Artikel vor der Bewertung dekodiert werden. Jene Unzulässigkeit des Originals führte bzw. führt zu erheblichen Fehlern bei der Berechnung des DAUs. Goldfind in all seinen Versionen suggeriert auch, eMail-Adressen der Header "From" und "Reply-To" auf Gleichheit zu überprüfen, welches aber schon bei einer unterschiedlichen Länge der Header-Inhalte zum falschen Ergebnis führt. Hier nur ein kleines Beispiel, welches von Goldfind als Unterschied von eMail-Adressen interpretiert wird, obwohl die eMail-Adressen tatsächlich identisch sind: From: Max Mustermann Reply-To: Entsprechend wurde die Prüfung der eMail-Adressen, der Realnamem und der Message-ID /nicht nur/ bezüglich obiger Darstellung verschärft. Weiterhin bekommt der User mit den überarbeiteten Bewertungsmethoden nun einen genaueren Überblick über "Missgeschicke", welche sich in seinen Artikeln im Bewertungszeitraum unter Umständen "manifestiert" haben (könnten). ;-) - - dreizeiliger Tabellenkopf der DAUs-Tabelle mit insgesamt einund- - - zwanzig Kriterien ---------------,-------------------------------------------------------- Rang Mgs| FAin FAfa FNin FNno RAin RAfa RNin DAUsAv DAUmax| FeqR M-ID CrPo HTML bina vCrd unCh User| qrat megq trmq sig4 psga psg4 trel DAUs ---------------+------ ------ ------ ------ ------ ------ ------ ------- 1 8| . . . . . . . 43.0 221| . . 20 . . . . Max Mustermann| 107 137 . 72 . . 8 344 ---------------+------ ------ ------ ------ ------ ------ ------ ------- 2 ....| .[...] Obiger User hat jeweils Punkte für die Kriterien "CrPo=20", "qrat=107", "megq=137", "sig4=72" und "trel=8" angesammelt und sein Durchschnitt pro Posting (insgesamt 8) liegt bei 43,0 Punkten (DAUs-Points). ++++ Bedeutung der Bewertungskriterien sowie deren Wichtung im Detail ++++ (siehe Tabellenkopf) FAin ==> 50 Pts - invalid From-adress - invalide From-Adresse; es wird auch auf erlaubte Zeichen und Länge der TLD geprüft FAfa ==> 25 Pts - From - fake assumed - Fake-Adresse z.B.: Max Mustermann - die Adresse wird auch auf verschiedene Wortkombinationen geprüft, welche hier nicht weiter genannt werden sollen FNin ==> 10 Pts - invalid (real)name in From assumed - invalider (oder einteiliger) Realname im From z.B.: Max FNno ==> 10 Pts - no (real)name in From assumed - Realname im From fehlt Auch wenn die Reply-To-Adresse keine Pflicht ist, so werden bei gravierenden Fehlern in dieser ebenfalls DAUs-Points angerechnet! RAin ==> 25 Pts - invalid Reply-To-adress - invalide Reply-To-Adresse (siehe FAin) RAfa ==> 25 Pts - Reply-To - fake assumed - Fake-Adresse (siehe FAfa) RNin ==> 10 Pts - invalid (real)name in Reply-To assumed - invalider (oder einteiliger) Realname im Reply-To - ein fehlender Realname im Reply-To ist erlaubt! FeqR ==> 1 or (1+50) Pts - Reply-To adress = From adress - Reply-To Adresse = From-Adresse - bemängelt wird das Dasein zweier Adressen, die einfach nur gleich sind - sollte die Reply-To-Adresse im Falle einer invaliden From-Adresse entsprechend "unzulässig" sein, so gibt es 50 Punkte obendrauf! M-ID ==> 5 Pts - invalid M-ID assumed - invalide Message-ID - z.B.: geprüft wird u.a. auf eine fehlende TLD und auf zulässige Zeichen CrPo ==> 10 Pts / group - crosspost w/o FollowUp-To - Crosspostings über mehrere Gruppen /ohne/ F'up2 HTML ==> 50 Pts - html - HTML im Usenet bina ==> 50 Pts - binary in non-b.-group assumed - Bilder und ähnliches "Zeugs" in reinen Text-Gruppen vCrd ==> 25 Pts - VCard - Visitenkarten im Usenet unCh ==> 5 Pts - uncoded 8bit-chars in header - unkodierte 8bit-Zeichen in Headern - nach dem ersten Fund wird die Suche abgebrochen - maximal also +5 Punkte qrat ==> n Pts - +1 Pts/q-line and -1 Pts/text => "quote-ratio" - +1 Punkt / gequotete Zeile und -1 Punkt für eigenen Text; gewertet wird erst ab +10 Punkten, wenn diese am Ende der Zeilenzählung noch vorhanden sind - "einfachgequotete" Leerzeilen ("> [Leerzeile]") und Leerzeilen werden *nicht* berücksichtigt => "Quote-Ratio" megq ==> n Pts - +10Pts / 10q-lines (one after the other) => "mega-quote" - +10 Punkte / 10 aufeinanderfolgende gequotete Zeilen; jede weitere gequotete Zeile +1 Punkt => "Mega-Quote" - "einfachgequotete" Leerzeilen ("> [Leerzeile]") und Leerzeilen werden *nicht* berücksichtigt trmq ==> n * 2 Pts - trailing mega-quote - gequotete Zeilen am Ende eines Artikels werden *doppelt*(!) angerechnet - "einfachgequotete" Leerzeilen ("> [Leerzeile]") und Leerzeilen werden *nicht* berücksichtigt - siehe hierzu auch den Begriff "TOFU"! sig4 ==> n Pts - .sig > 4 lines; 5 Pts at least; every additional line +1 Pts - Signatur nach Signaturtrenner ("-- ") ist länger als 4 Text-Zeilen; mindestens +5 Punkte; jede weitere Text-Zeile kostet +1 Punkt; - eventuell folgende Leerzeilen werden als "trailing empty-lines" gewertet (siehe "trel" w.u.) psga ==> 1 Pts - pseudo-.sig assumed - Zeile beginnt mit "--[---]" (2..5 aufeinanderfolgende Minus-Zeichen), wobei die Zeile nicht mehr als 10 Zeichen enthält und die Zeile nicht mit "-->" beginnt psg4 ==> n Pts - pseudo-.sig > 4 lines assumed - Pseudo-Signatur länger 4 Zeilen (Rechnung siehe sig4) trel ==> n - 1 Pts - trailing empty-lines - Leerzeilen am Ende eines Artikels DAUs = DAUs-Points - Summe angefallener Punkte im Bewertungszeitraum DAUmax = höchster DAUs-Wert, welcher in einem Artikel erreicht wurde DAUsAv = DAUs average - DAUs-Durchschnitt auf alle geposteten Artikel; dieser Wert legt schlussendlich den Rang in der Tabelle fest: bei Gleichstand mit anderen Usern "gewinnt" der Erst-Poster Mgs = Anzahl aller geposteten Artikel, welche im Bewertungszeitraum eingeliefert wurden ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++ 1. BEISPIEL Die Header werden im "raw-Format" geprüft, der Body hingegen wird vor der Prüfung dekodiert, wenn dieser mit CTE=qp oder CTE=base64 versendet wurde! Kriterien und Punkte: |---- ANFANG POSTING ---------------------------------------------------- |Path: uni-berlin.de!individual.net!not-for-mail FAin 50; FNin 10 |From: Thomas CrPo 20 |Newsgroups: de.test,alt.de.test,alt.alt.test unCh 5 |Subject: ein Versüch mit ä ö ü - do not ignore |Date: Wed, 27 Dec 2023 09:50:26 +0100 (CET) |User-Agent: tin/2.6.3-20231201 ("Pittyvaich") (Linux) |Organization: =?UTF-8?B?8J+QuSDwnZOX8J2TqvCdk7bwnZO88J2TvfCdk67wnZO7?= | =?UTF-8?B?LfCdk5LwnZO18J2TvvCdk6sg8J+QuQ==?= |Lines: 22 M-ID 5 |Message-ID: RAin 25; RNin 10; FeqR 51 |Reply-To: "Barghahn" |Mime-Version: 1.0 |Content-Type: text/plain; charset=UTF-8 |Content-Transfer-Encoding: quoted-printable |X-Trace: individual.net EE2JtSgeSw9zLQv/1pOL+QqitnWY2xYCV7z4q3OPTh/dOi3tIN qrat megq | -1 |Thomas meinte: -1 e-gequ. Leerz.* |> 0 1 |> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean 1 2 |> felis, ultricies nec, pellentesque eu, pretium quis, sem. 2 3 |> commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus 3 4 |> et magnis dis parturient montes, nascetur ridiculus mus. Donec quam 4 5 |> felis, ultricies nec, pellentesque eu, pretium quis, sem. 4 5 e-gequ. Leerz.* |> 3 |Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean 2 |felis, ultricies nec, pellentesque eu, pretium quis, sem. 2 Leerzeile | 3 1 |> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean 4 2 |> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean 5 3 |> commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus 6 4 |> et magnis dis parturient montes, nascetur ridiculus mus. Donec quam 7 5 |> felis, ultricies nec, pellentesque eu, pretium quis, sem. 8 6 |> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean 9 7 |> commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus 10 8 |> et magnis dis parturient montes, nascetur ridiculus mus. Donec quam 11 9 |> felis, ultricies nec, pellentesque eu, pretium quis, sem. 12 10 |> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean 13 11 |> commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus 14 12 |> et magnis dis parturient montes, nascetur ridiculus mus. Donec quam 14 Leerzeile | 13 |Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean 12 |commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus 11 |et magnis dis parturient montes, nascetur ridiculus mus. Donec quam 10 |felis, ultricies nec, pellentesque eu, pretium quis, sem. 10 Leerzeile | 9 |Thomas |-- |1. Sig_Zeile |2. Sig_Zeile |3. Sig_Zeile |4. Sig_Zeile |5. Sig_Zeile sig4 6 Punkte |6. Sig_Zeile | | trel 3 Punkte | hier steht der Cursor ==>>|| |---- ENDE POSTING ------------------------------------------------------ *e-gequ. Leerz. = "einfachgequotete" Leerzeile Diese, als auch ungequotete Leerzeilen werden *nicht* gewertet! Siehe hierzu auch "trel"! ---- Zusammenfassung: ---- ---------------- Fehler Adressen + Header Krit Pkte ----------------------------------- ---- ---- From-Adresse "invalid" : FAin 50 Realname "invalid" : FNin 10 Crosspost über 3 Gruppen : CrPo 20 8bit-Zeichen in Headern : unCh 5 Reply-To-Adresse invalid : RAin 25 Reply-To Realname invalid : RNin 10 From- u. Reply-To Adr. sind gleich: FeqR 1 From- u. Reply-To Adr. invalid : FeqR 50 Message-ID : M-ID 5 - fehlende TLD --------------------------------------------- Zwischensumme : 176 DAUs Fehler Body - - - - - - Quote Ratio : qrat 0 - am Ende der Zählung ist der Wert <10 Mega Quote : megq 12 - die erste Zählung endet bei 5 => das ist <10 und somit kein "Vergehen"; die zweite Zählung endet bei 12 => das ist >=10 und somit 12 Punkte Signatur länger als 4 Zeile: : sig4 6 - 2 Text-Zeilen mehr, als erlaubt Leerzeilen am Ende des Artikels : trel 3 drei Leerzeilen am Ende ------ ---- -------------------------- Summe: 197 DAUs - - In der DAUs-Tabelle für das erste Beispiel sieht es dann so aus: - - DAUs-Tabelle - 1. Beispiel: ---------------,-------------------------------------------------------- Rang Mgs| FAin FAfa FNin FNno RAin RAfa RNin DAUsAv DAUmax| FeqR M-ID CrPo HTML bina vCrd unCh User| qrat megq trmq sig4 psga psg4 trel DAUs ---------------+------ ------ ------ ------ ------ ------ ------ ------- 1 1| 50 . 10 . 25 . 10 197.0 197| 51 5 20 . . . 5 Thomas| . 12 . 6 . . 3 197 ---------------+------ ------ ------ ------ ------ ------ ------ ------- - -- Zum Vergleich: Goldfind3 errechnet für dieses 1. Beispiel nur - -- 141 DAUs, denn die identischen eMail-Adressen werden nicht erkannt, - -- was zunächst einmal 51 Punkte ausmacht. - -- Auch wird die M-ID nicht bemängelt, was dann zusammen 56 DAUs in - -- der Differenz ergibt. Wäre 1. Beispiel base64-kodiert, so würden - -- zusätzlich alle DAUs-Points aus der Body-Prüfung /komplett fehlen/! ++++ 2. BEISPIEL Kriterien und Punkte: |---- ANFANG POSTING ---------------------------------------------------- |Path: uni-berlin.de!individual.net!not-for-mail FAin 50; FNin 10 |From: Thomas CrPo 20 |Newsgroups: de.test,alt.de.test,alt.alt.test unCh 5 |Subject: ein Versüch mit ä ö ü - do not ignore |Date: Wed, 27 Dec 2023 09:50:26 +0100 (CET) |User-Agent: tin/2.6.3-20231201 ("Pittyvaich") (Linux) |Organization: =?UTF-8?B?8J+QuSDwnZOX8J2TqvCdk7bwnZO88J2TvfCdk67wnZO7?= | =?UTF-8?B?LfCdk5LwnZO18J2TvvCdk6sg8J+QuQ==?= |Lines: 22 M-ID 5 |Message-ID: RAin 25; RNin 10; FeqR 51 |Reply-To: "Barghahn" |Mime-Version: 1.0 |Content-Type: text/plain; charset=UTF-8 |Content-Transfer-Encoding: quoted-printable |X-Trace: individual.net EE2JtSgeSw9zLQv/1pOL+QqitnWY2xYCV7z4q3OPTh/dOi3tIN qrat megq | -1 |Thomas meinte: 0 1 |> Thomas meinte: 1 2 |>> 2 3 |>> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean 3 4 |>> commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus 4 5 |>> et magnis dis parturient montes, nascetur ridiculus mus. Donec quam 5 6 |>> felis, ultricies nec, pellentesque eu, pretium quis, sem. 5 6 e-gequ. Leerz.* |> 6 7 |> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean 7 8 |> felis, ultricies nec, pellentesque eu, pretium quis, sem. 8 9 |> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean 9 10 |> felis, ultricies nec, pellentesque eu, pretium quis, sem. 9 Leerzeile | 8 |Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean 7 |commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus 6 |et magnis dis parturient montes, nascetur ridiculus mus. Donec quam 5 |felis, ultricies nec, pellentesque eu, pretium quis, sem. 5 trmq Leerzeile | 6 1 |>> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean 7 2 |>> commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus 8 3 |>> et magnis dis parturient montes, nascetur ridiculus mus. Donec quam 9 4 |>> felis, ultricies nec, pellentesque eu, pretium quis, sem. 10 5 |>> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean 11 6 |>> commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus 12 7 |>> et magnis dis parturient montes, nascetur ridiculus mus. Donec quam 13 8 |>> felis, ultricies nec, pellentesque eu, pretium quis, sem. 14 9 |>> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean 15 10 |>> commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus 16 11 |>> et magnis dis parturient montes, nascetur ridiculus mus. Donec quam 17 12 |>> et magnis dis parturient montes, nascetur ridiculus mus. Donec quam trel 1 Pkt | Hier steht der Cursor ==>>|| |---- ENDE POSTING ------------------------------------------------------ *e-gequ. Leerz. = "einfachgequotete" Leerzeile Diese, als auch ungequotete Leerzeilen werden *nicht* gewertet! Siehe hierzu auch "trel"! ---- Zusammenfassung: ---- ---------------- Fehler Adressen + Header Krit Pkte ----------------------------------- ---- ---- From-Adresse "invalid" : FAin 50 Realname "invalid" : FNin 10 Crosspost über 3 Gruppen : CrPo 20 8bit-Zeichen in Headern : unCh 5 Reply-To-Adresse invalid : RAin 25 Reply-To Realname invalid : RNin 10 From- u. Reply-To Adr. sind gleich: FeqR 1 From- u. Reply-To Adr. invalid : FeqR 50 Message-ID : M-ID 5 - fehlende TLD --------------------------------------------- Zwischensumme : 176 DAUs Fehler Body - - - - - - Quote Ratio : qrat 17 - am Ende der Zählung endet der Wert bei >=10, => 17 Punkte Mega Quote : megq 10 - die erste Zählung endet bei 10 => das ist >=10 und somit 10 Punkte; die zweite Zählung endet am Ende des Artikels, was auf "trmq" hindeutet Mega-Quote am Ende des Artikels : trmq 24 Mega-Quote am Ende eines Artikels (trailing mega-quote); die Anzahl der Punkte berechnet sich aus megq * 2 12 * 2 = 24 Punkte Leerzeilen am Ende des Artikels : trel 1 eine Leerzeilen am Ende ------ ---- -------------------------- Summe: 228 DAUs - - In der DAUs-Tabelle für das zweite Beispiel sieht es dann so aus: - - DAUs-Tabelle - 2. Beispiel: ---------------,-------------------------------------------------------- Rang Mgs| FAin FAfa FNin FNno RAin RAfa RNin DAUsAv DAUmax| FeqR M-ID CrPo HTML bina vCrd unCh User| qrat megq trmq sig4 psga psg4 trel DAUs ---------------+------ ------ ------ ------ ------ ------ ------ ------- 1 1| 50 . 10 . 25 . 10 228.0 228| 51 5 20 . . . 5 Thomas| 17 10 24 . . . 1 228 ---------------+------ ------ ------ ------ ------ ------ ------ ------- ++++ Beide Beispiele zusammengefasst in einer Tabelle. ---- Zunächst noch einmal beide Tabellen zur Übersicht: - - DAUs-Tabelle - 1. Beispiel: ---------------,-------------------------------------------------------- Rang Mgs| FAin FAfa FNin FNno RAin RAfa RNin DAUsAv DAUmax| FeqR M-ID CrPo HTML bina vCrd unCh User| qrat megq trmq sig4 psga psg4 trel DAUs ---------------+------ ------ ------ ------ ------ ------ ------ ------- 1 1| 50 . 10 . 25 . 10 197.0 197| 51 5 20 . . . 5 Thomas| . 12 . 6 . . 3 197 ---------------+------ ------ ------ ------ ------ ------ ------ ------- - - DAUs-Tabelle - 2. Beispiel: ---------------,-------------------------------------------------------- Rang Mgs| FAin FAfa FNin FNno RAin RAfa RNin DAUsAv DAUmax| FeqR M-ID CrPo HTML bina vCrd unCh User| qrat megq trmq sig4 psga psg4 trel DAUs ---------------+------ ------ ------ ------ ------ ------ ------ ------- 1 1| 50 . 10 . 25 . 10 228.0 228| 51 5 20 . . . 5 Thomas| 17 10 24 . . . 1 228 ---------------+------ ------ ------ ------ ------ ------ ------ ------- ++++ DAUs-Tabelle - 1. und 2. Beispiel zusammengefasst ---------------,-------------------------------------------------------- Rang Mgs| FAin FAfa FNin FNno RAin RAfa RNin DAUsAv DAUmax| FeqR M-ID CrPo HTML bina vCrd unCh User| qrat megq trmq sig4 psga psg4 trel DAUs ---------------+------ ------ ------ ------ ------ ------ ------ ------- 1 2| 100 . 20 . 50 . 20 212.5 228| 102 10 40 . . . 10 Thomas| 17 22 24 6 . . 4 425 ---------------+------ ------ ------ ------ ------ ------ ------ ------- Ich hoffe sehr, dass obige Hinweise und Beispiele zu deiner völligen Ratlosigkeit ausreichend beigetragen haben. ;-) Thomas Barghahn