Avatar billede tofferman Nybegynder
05. januar 2006 - 01:12 Der er 10 kommentarer og
1 løsning

Forskel i statistikker..

Hejsa.
Jeg er igang med at udvikle et ret omfattende statistiksystem til mit website. I den forbindelse efterlyser jeg lidt erfaringer fra andre omkring de statistikker man kan få.

Mit problem er, at der er store forskelle imellem de statistikker jeg selv genererer, og dem jeg kan se på mit webhotel og på chart.dk

Når jeg selv regner antal unikke besøgende ud, bruger jeg session-id som udgangspunkt. Det giver i mit tilfælde følgende resultat for en tilfældig dag (her den 3. januar 2006):

EGEN STATISTIK:
Antal unikke: 5624
Antal visninger ialt: 6060

WEBHOTELLETS STATISTIK (wannafind.dk):
Antal unikke: 1187
Antal visninger ialt: 4145

CHART.DK:
Antal unikke: 1195

I forhold til for eksempel annoncering er det jo ikke helt ligemeget om man har 1000 eller 5000 besøgende om dagen.

Hvad kan årsagen være til at der er den store forskel. Jeg kan ikke rigtigt se at der skulle være fejl i min egen statistikoptagelse.
Avatar billede Slettet bruger
05. januar 2006 - 06:06 #1
Dit webhotel anvender AWStats (http://www.awstats.org/), som anvender web-serverens log filer til at analyserer trafikken.

Har ingen ide om hvordan Chart.dk i praksis finde ud af om brugeren er unik, men det må nødvendigvis baserer sig på noget IP og givet lidt mere hvis det skal være seriøst.

Begge af ovenstående baserer sig på at man kigger på trafikken og laver nogle slutninger omkring hvad et besøg er. Det vil sige man skal have en definition af hvad der menes med en unik bruger. Ved ikke om chart.dk har en beskrivelsen eller er det om ikke andet muligt at finde ud af den med AWStats og da de to er rimeligt enige om antallet så ligger deres definitioner nok meget tæt.

Det er simpelt nok at sige noget om hvormange visninger sitet har ud fra web-server loggen, da det jo dybest set er antallet af linier, minus alt der der ikke har HTTP status af 200, altså OK.

Med hensyn til unikke brugerer, så bliver det straks lidt vanskeligere ud fra en web-server log eller noget IP, fordi mange mennesker sidder bag proxy serverer og ligende, som gør at alle dem der sidder bag ved den har samme IP og derfor ser ud til at være samme bruger, altså under forudsætning af at man anvender IP til at checke det med. Hvis man tager User-agent i brug så kan man sikker yderligere udskille nogle stykker, men igen personer, som sidder i større firmaer bag proxy-serverer vil også have samme software versioner (user-agents) og derfor vil de se ud som om de er samme person. Derfor tror jeg også at både AWStats og Chart.dk ligger lidt i den lave ende, men det er jo accepteret praksis.

Omkring din egen statistik så er der et temmeligt stort spænd til de øvrigt og jeg er ikke helt sikker på at det kan forklares med IP, Det som virker lidt bekymrende er at du har en forskel i antal visninger, hvilket burde være helt simpelt at kontrollerer.

Kan du ikke prøve at sige lidt om de regler du anvender.
Avatar billede bufferzone Praktikant
05. januar 2006 - 08:19 #2
Der kan også sagtens være statestik, som web hotellet fravælger at tælle. dette kunne være:

Trafik genereret af deres egen vedligeholdelse
trafik genereret af dig
trafik genereret af forskellige robotter
osv osv
Avatar billede tofferman Nybegynder
05. januar 2006 - 11:58 #3
Jeg vil prøve at forklare kort hvad der sker når jeg optager statistik.

Jeg har en tabel i min database med følgende felter:

dato
sessionId
url
antal_visninger

Når en bruger (session) indlæser en side første gang, skrives en record i ovenstående felter. Feltet antal_visninger gives værdien "1"

Hvis brugeren indlæser siden igen, lægges 1 til antal_visninger.

Når jeg skal tælle antal unikke brugere, tæller jeg antal (forskellige) sessions i tabellen med COUNT(DISTINCT sessionId). Når jeg skal tælle antal visninger summerer jeg antal_visninger.

Jeg bruger ikke IP-adresen til noget ifm. statistikkerne.

Hvis ovenstående overhovedet ikke giver mening, må I lige sige til :)
Avatar billede Slettet bruger
05. januar 2006 - 19:57 #4
Du får sikkert rigtigt mange brugerer ved det at de fleste robotter ikke holder en session, derfor laver den en ny session pr. side og dermed får du rigtigt mange sessions. Jeg syntes du skal prøve at bringe IP og eventuelt tid i spil når du tæller.
Avatar billede tofferman Nybegynder
05. januar 2006 - 22:52 #5
Er der en måde hvorpå man kan registrere at det er en søgemaskine der kommer forbi?
Avatar billede Slettet bruger
06. januar 2006 - 05:27 #6
Ja, du kan kigge på User-agent på user-agent.

Nogle robotter udgiver sig for at være browserer, men de store (google/yahoo og ligende) der betyder noget givet et rigtigt navn fra sig.
Avatar billede tofferman Nybegynder
06. januar 2006 - 09:54 #7
Ok, jeg prøver at logge user-agent, og ser hvad det kommer til at betyde.

Læg lige et svar, så jeg kan lade gaveregnen falde ;)
Avatar billede Slettet bruger
06. januar 2006 - 09:57 #8
svar ;)
Avatar billede tofferman Nybegynder
06. januar 2006 - 10:48 #9
Bare til orientering fandt jeg en side på nettet med en lang liste over user-agents.

http://www.siteware.ch/webresources/useragents/db.html

Jeg har derefter organiseret min kode således:

--------------
uAgent=request.Servervariables("HTTP_USER_AGENT")
indeksering=1

if instr(uAgent, "robot")>0 then indeksering=0 end if
if instr(uAgent, "altavista")>0 then indeksering=0 end if
if instr(uAgent, "AnzwersCrawl")>0 then indeksering=0 end if
if instr(uAgent, "Arachnoidea")>0 then indeksering=0 end if
if instr(uAgent, "ArchitextSpider")>0 then indeksering=0 end if
if instr(uAgent, "CherryPicker")>0 then indeksering=0 end if
if instr(uAgent, "Crescent")>0 then indeksering=0 end if
if instr(uAgent, "EmailCollector")>0 then indeksering=0 end if
if instr(uAgent, "EmailSiphon")>0 then indeksering=0 end if
if instr(uAgent, "EmailWolf")>0 then indeksering=0 end if
if instr(uAgent, "Enfish")>0 then indeksering=0 end if
if instr(uAgent, "ExtractorPro")>0 then indeksering=0 end if
if instr(uAgent, "Harvest")>0 then indeksering=0 end if
if instr(uAgent, "GAIS")>0 then indeksering=0 end if
if instr(uAgent, "Googlebot")>0 then indeksering=0 end if
if instr(uAgent, "Gulliver")>0 then indeksering=0 end if
if instr(uAgent, "archiver")>0 then indeksering=0 end if
if instr(uAgent, "alexa")>0 then indeksering=0 end if
if instr(uAgent, "KGValidator")>0 then indeksering=0 end if
if instr(uAgent, "EZResult")>0 then indeksering=0 end if
if instr(uAgent, "T-H-U-N-D-E-R-S-T-O-N-E")>0 then indeksering=0 end if
if instr(uAgent, "MSIECrawler")>0 then indeksering=0 end if
if instr(uAgent, "Kolibri")>0 then indeksering=0 end if
if instr(uAgent, "Namecrawler")>0 then indeksering=0 end if
if instr(uAgent, "Scooter")>0 then indeksering=0 end if
if instr(uAgent, "search")>0 then indeksering=0 end if
if instr(uAgent, "sexsearcher")>0 then indeksering=0 end if
if instr(uAgent, "Slurp")>0 then indeksering=0 end if
if instr(uAgent, "Squid")>0 then indeksering=0 end if
if instr(uAgent, "SwissSearch")>0 then indeksering=0 end if
if instr(uAgent, "Ultraseek")>0 then indeksering=0 end if
if instr(uAgent, "ValueClick")>0 then indeksering=0 end if
if instr(uAgent, "WebCrawler")>0 then indeksering=0 end if
if instr(uAgent, "W3C_Validator")>0 then indeksering=0 end if
if instr(uAgent, "WiseWire")>0 then indeksering=0 end if

if indeksering=1 then
    selve statistikoptagelsen (som jeg dog lige vil holde hemmelig)
end if
Avatar billede kimlarsen1978 Nybegynder
29. juli 2007 - 11:10 #10
Hejsa
Virker det okay for dig med USER-AGENT? Jeg synes ikke altid at jeg kan identifisere en søgemaskine gennem USER-AGENT, fx dukkede den her pludselig op:

IP: 66.249.65.51
USER-AGENT: Mediapartners-Google/2.1

Det er en Google Bot, men den præsenterer sig ikke som en Bot????

Har du evt. arbejdet videre med ovenstående og hvor du en bedre måde? Vi kan sagtens finde ud af oget med nogle points, hvis det er...
Avatar billede kimlarsen1978 Nybegynder
02. august 2007 - 17:54 #11
Jeg har fundet svaret på Mediapartners-Google/2.1, det er en Google bot som Adsense bruger...

Lidt flere til lesten:

    if instr(uAgent, "Mediapartners-Google")>0 then indeksering=0 end if
    if instr(uAgent, "Gigabot")>0 then indeksering=0 end if
    if instr(uAgent, "NimbleCrawler")>0 then indeksering=0 end if
    if instr(uAgent, "Jyxobot")>0 then indeksering=0 end if
    if instr(uAgent, "findlinks")>0 then indeksering=0 end if
    if instr(uAgent, "crawler")>0 then indeksering=0 end if
    if instr(uAgent, "upgqz")>0 then indeksering=0 end if
    if instr(uAgent, "MJ12bot")>0 then indeksering=0 end if
    if instr(uAgent, "libwww-perl")>0 then indeksering=0 end if
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Alle kurser indenfor Microsoft 365 – både til begyndere og øvede.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester