Petter Reinholdtsen

Entries tagged "drivstoffpriser".

Hvem samler inn flest bensinpriser?
2nd July 2012

For ca. en måned siden så jeg på tjenester som forsøker å gjøre det enklere å ta informerte valg om hvor en skal kjøpe drivstoff, for å bedre konkurransesituasjonen i drivstoffmarkedet. Det er tre aktive tjenester jeg kjenner til. NAF Bergens Drivstoffpriser.no, Bitfactorys Bensinpris-app, og Dinsides prisliste. Nå har jeg holdt øye med alle disse i over en måned, og kan fortelle hvor mange priser for 95-oktan bensin de har klart å samle inn i juni 2012:

TjenesteAntall målinger i juni 2012
Bitfactorys bensinpris-app7687
Drivstoffpriser.no1788
Dinsides prisliste322

Det er dermed åpenbart at Dinsides tjeneste henger langt etter de andre to, og at Bitfactorys løsning er den som har størst sjanse for å gi bileiere gode råd ved kjøp av drivstoff. Det er ca. 1600 bensinstasjoner i Norge, så optimalt sett burde det vært samlet inn 30 * 1600 = 48 000 priser for å ha maksimalt en dag gamle priser for alle bensinstasjoner i Norge. Ingen av tjenestene er i nærheten av å ha komplett dekning. Og kun Dinside og NAF Bergens Drivstoffpriser gjør prisinformasjonen tilgjengelig for alle på Internet.

Den store fordelen med Drivstoffpriser.no er at de også har historiske priser liggende ute på åpne nettsider, slik at det er mulig å se alle prisdata de har samlet inn så langt. Jeg har laget en SQLite-database med alle prisene samlet inn der, som oppdateres jevnlig hos Scraperwiki. Tidligere anbefalte jeg å registrere priser hos Dinside, men etter å ha utvekslet noen epost med dem og konkludert med at der kommer det neppe til å skje noen videreutvikling med det første, anbefaler jeg nå å registrere prisene hos NAF Bergens drivstoffpriser.no. Jeg foretrekker å bidra til tjenester som åpent deler data med andre, og det gjør ikke Bitfactory.

Tags: drivstoffpriser, norsk, scraperwiki.
Hvor samles det inn bensinpriser for Norge?
31st May 2012

Det finnes i følge de som har talt ca. 1600 bensinstasjoner i Norge. Daglig innsamling av informasjon fra alle disse vil antagelig kreve noen tusen frivillige. Dugnadsbasert innsamling av bensinpriser for å gjøre det enklere å sammenligne priser og dermed bedre konkurransen i bensinmarkedet er en idé som mange har gjennomført de siste årene. Her er et forsøk på en oversikt over de som finnes i dag.

Dinside.no nettside
Nettavisen dinside startet for noen år siden en dugnad for å samle inn drivstoffpriser. Tjenesten samler inn med et nettsideskjema der en må registrere seg for å delta. En SMS-tjeneste har visst eksistert tidligere, men er ute av drift 2012-05-31. Listen over bensinstasjoner er kun tilgjengelig for registrerte brukere, og mangler geografiske koordinater for fremvisning på kart. Listen over innsamlede bensinpriser er tilgjengelig som nettside i litt over 24 timer etter registrering. Antall innsamlede priser pr. dag ligger i området 10-35, og jeg har startet på en database over de publiserte prisene hos Scraperwiki.
Bitfactorys mobilapp
I fjor lanserte selskapet Bitfactory sin landsdekkende mobilapp (først for iphone, siden også for Android) for å samle inn drivstoffpriser og gjøre det enkelt å finne billigste stasjon i nærområdet ved hjelp av smarttelefon. Den innsamlede informasjonen er ikke publisert på web, men dagens priser kan hentes ut ved hjelp av et web-API som jeg har dokumentert med reversutvikling. Stasjonslisten inneholder geografiske koordinater for fremvisning på kart. Antall innsamlede priser pr. dag ser ut til å ligge rundt 200.
NAF Bergens nettside og iphone-app
I år lanserte NAF Bergen en landsdekkende iphone-app koblet til NAF Bergens tjeneste for å samle inn og varsle brukerne om bensinpriser. Nettstedet har publisert listen over bensinstasjoner, men ikke en komplett oversikt over innsamlede priser. De har interessant statistikk over prisutviklingen som går tilbake til 2009.
bensinpris.net
Nettside med prisinformasjon for Trondheimsområdet. Informasjonen registreres via web og SMS, og krever ikke registrering. Nettsiden viser de tre siste prisene registret for bensin og disel. Har liste over kjente stasjoner tilgjengelig. Svært lite oppdatert for tiden.

I tillegg er jeg kjent med drivstoffguiden.no som ser ut til å være nedlagt, og at SSB som del av beregningen av konsumprisindeksen samler inn driftstoffpriser hver måned og legger dem ut i PDF-format.

Det jeg ikke forstår er hvorfor det stadig opprettes nye nett- og mobiltjenester for å samle inn bensinpriser, i stedet for å samarbeide med de eksisterende løsninger for å gjøre de gode nok til nye bruksområder. Jobben med å samle inn priser er formidabel, og hvis målet er bedre konkurranse på bensinmarkedet ville jeg tro det beste var om kundene samlet seg om _ett_ nettsted og samlet alle prisene der, i stedet for å spre innsatsen på mange nettsteder. Jeg mistenker årsaken ligger i at de aktørene som har satt opp tjenester så langt ikke har lagt opp til deling og samarbeid på like vilkår med andre aktører, og dermed gjort det vanskelig å legge til funksjonalitet som presentasjon på kart, statistisk analyse eller kvalitetssikring av bensinstasjonslisten og prisinformasjonen.

Tjeneste Offentlig stasjons-liste Publisert stasjons-geopunkt Publisert API for inn-legging Publisert API for ut-henting Publisert alle priser Publisert database Lands-dekkende
Dinside (ja) nei nei nei ja (ja) ja
Bitfactorys mobilapp nei ja (ja) (ja) nei nei ja
drivstoffpriser.no ja ja nei nei nei nei ja
bensinpris.net ja nei nei nei nei nei nei

Dinside mangler dugnadsbasert kvalitetssikring av stasjonslista, georeferert informasjon og API for innlegging og uthenting av informasjon. Bitfactory mangler publisering av all innsamlet informasjon, dugnadsbasert kvalitetssikring av stasjonslista og dokumentert API for innlegging og uthenting av informasjon. NAFs løsning mangler publisering av all innsamlet informasjon og API for innlegging og uthenting av informasjon.

Jeg har nylig spurt folkene bak dinside.nos oversikt og drivstoffpriser.no om de er villige til å gi ut sine innsamlede data uten bruksbegresninger og tilby et dokumentert og publisert API for å legge inn og hente ut informasjon. Så får vi se hva de sier.

Tags: drivstoffpriser, norsk.
Database over bensinpriser fra dinside.no
30th May 2012

En god og offentlig kilde til bensinpriser i Norge er dinside.no sin prisoversikt samlet inn på dugnad fra frivillige over hele landet. Den har ikke like mange priser rapportert inn som Bitfactorys mobil-app, men informasjonen som samles inn er enkelt offentlig tilgjengelig på web. Dessverre forsvinner prisene fra web etter noen dager, så for å kunne lage analyser og se trender må en lage en database ved å hente ut informasjon fra dinside.no sine nettsider over en lengre periode. Jeg startet for litt over en uke siden en innsamlingstjeneste som gjør nettopp dette. Jeg har de siste ukene lært meg å bruke Scraperwiki, et nytt og nyttig verktøy for å hente ut og strukturere informasjon tilgjengelig fra nettsider, PDF-er og andre kilder og som trenger strukturering. Hvis du vil se hvordan prisene har utviklet seg, ta en titt på scraperwiki-siden med databasen over bensinpriser. Den henter ned priser fra dinside.no hver time. Hvis du vil bidra til å bedre oversikt over bensinprisene i Norge registrer deg hos dinside.no og legg inn prisene fra dine lokale bensinstasjoner.

Jeg har kun gjort dette med informasjonen fra dinside.no og ikke informasjonen fra Bitfactory pga. bekymring rundt opphavsrettslige problemstillinger. Faktainformasjonen samlet inn av brukerene av dinside.no nettsider er åpenbart publisert offentlig, mens jeg mistenker det er en juridisk gråsone om det samme gjelder informasjonen samlet inn av brukerne av bitfactorys mobilapp. Derfor bidrar jeg med å samle inn priser hos dinside.no, og anbefaler andre å gjøre det samme. Jeg prioriterer å bidra hos de som forstår verdien av å dele informasjon med andre uten bruksbegresninger.

Tags: drivstoffpriser, norsk, scraperwiki.
Litt informasjon om Bitfactorys Bensinpris-API
28th May 2012

I fjor lanserte Bitfactory en mobilapp for å få tilgang til bensinpriser på landets bensinstasjoner ved å samle inn prisene på dugnad ved hjelp av mobilapp-ens brukere. Informasjonen app-ens brukere har samlet inn har så langt kun vært tilgjengelig for brukerne av app-ene, og API for å hente ut informasjonen fra andre plattformer har ikke vært publisert. Da løsningen kom spurte jeg utviklerne om de kunne publisere API-dokumentasjon og de skulle se på saken, men det har ikke skjedd så langt. Jeg antar de har vært for travelt opptatt til å publisere API-dokumentasjon.

Utrolig nok er det i følge Dagens Næringsliv og Finnmark Dagblad bensinstasjoner som nekter å oppgi prisene sine på telefon, slik at det ikke finnes en fornuftig måte å få tak i prisene på uten å samle dem inn på stedet. Flere har dugnader på gang for å samle inn prisinformasjon om bensin, men så vidt jeg kan se er det kun dinside.no og Bitfactorys App som får regelmessige oppdateringer. Dinsides oversikt er tilgjengelig på web for de som vil følge med, mens bitfactorys informasjon ikke er like enkelt tilgjengelig.

Jeg tok meg derfor litt tid for å revers-utvikle protokollen for Bitfactorys mobilapp for å gjøre den innsamlede informasjonen mer tilgjengelig for flere. Protokollen bruker HTTP og normal forms-notasjon for POST. Jeg lot en telefon koble seg til mitt trådløsnett, og satte opp tcpdump til å samle all trafikken mot www.bitfactory.no, og deretter tittet på alle HTTP-kallene ved hjelp av wireshark. Her er API-kallene jeg har identifisert så langt.

stasjonsDatabaseUpdateStamp

GET http://www.bitfactory.no/Bensin/ver1.1.stasjonsDatabaseUpdateStamp

Vet ikke helt hva dette API-kallet gjør, men navnet gjør at jeg tror den rapporterer når listen over stasjoner sist ble endret. Returverdien er et tall som pr. 2011-12-09 er 1319145491 og pr. 2012-05-28 er 1336420693. Mitt gjett er at dette er sekunder siden 1. januar 1970 ala det en finner på Linux, som kan konverteres til en leselig dato med perl -e 'print scalar(localtime(1319145491)), "\n"'. Den første verdien konverterer da til "Thu Oct 20 23:18:11 2011", mens den andre konverteres til "Mon May 7 21:58:13 2012".

GetXMLDatabase

echo password=XYZXYZXYZXYZX | POST http://www.bitfactory.no/Bensin/GetXMLDatabase.php

Henter ned listen med stasjoner på XML-format. Argumentet er password som muligens følger med i programpakken og eventuelt genereres av app-en. Nedlasting med samme passord flere ganger ser ikke ut til å fungere. Innholdet er ca. 1600 stasjoner, men manglet bensinstasjonen i min hjemkommune Ballangen da jeg sjekket, så den er ikke komplett. Formatet på selve listen ser slik ut (klippet):

<?xml version="1.0" encoding="UTF-8"?>
<STASJONSDATABASE>
<STASJON>
<NAME></NAME>
<ADDRESS></ADDRESS>
<ID>0</ID>
<LATITUDE>0.000000</LATITUDE>
<LONGITUDE>0.000000</LONGITUDE>
<COMPANY></COMPANY>
</STASJON>
<STASJON>
<NAME>Statoil Best Eidsvoll Verk</NAME>
<ADDRESS>Gamle Trondheimsvei 339 2074 Eidsvoll Verk</ADDRESS>
<ID>1</ID>
<LATITUDE>60.303902</LATITUDE>
<LONGITUDE>11.168100</LONGITUDE>
<COMPANY>Best</COMPANY>
</STASJON>
[...]
<STASJON>
<NAME>Esso Andenes</NAME>
<ADDRESS>Falcksgate 9, 8480 Andenes</ADDRESS>
<ID>1822</ID>
<LATITUDE>69.320999</LATITUDE>
<LONGITUDE>16.118700</LONGITUDE>
<COMPANY>Esso</COMPANY>
</STASJON>
</STASJONSDATABASE>

GetBanStatus

echo UDID=Android-123456789012345 | POST http://www.bitfactory.no/Bensin/ver1.1.GetBanStatus.php

Vet heller ikke helt hva dette API-kallet gjør. Navnet gjør at jeg tror den rapporterer om telefonen med UDID oppgitt som argument er bannlyst fra tjenesten. Bannlysning gjør antagelig at telefonen ikke kan brukes til å registrere bensinpriser, men det er også mulig det blokkerer for å se på priser. Eneste POST-argument er UDID, som ser ut til å være den unike ID-en til en mobil-enhet. Returnverdi er 'NO' for alle UDID-verdier jeg har testet. Gjetter på at alternativ returverdi er 'YES', men har ikke sett en slik verdi så langt.

PriserVedStasjoner

echo 'stasjoner=810,364&day=0' | POST http://www.bitfactory.no/Bensin/ver1.1.PriserVedStasjoner.php

Dette kallet henter ut priser registrert på en eller flere bensinstasjoner. Den tar to POST-argumenter, "stasjoner" som er kommaseparert liste over stasjons-IDer (numeriske), og "day" som bør settes til "0" for å få ut informasjon om priser. Usikker på hva day-tallet betyr, men mistenker det har med hvor langt tilbake i tid det skal hentes ut informasjon.

Resultatet som kommer tilbake er en kommaseparert liste for hver enkelt stasjon, med <br> som skillemarkør mellom hver stasjon. Ikke helt sikker på hva alle feltene er. Her er mine gjett:

FeltBeskrivelse
1Bensinstasjons-ID
2Pris for blyfri 95 oktan, flyttall med punktum som desimalskille.
3Klokkeslett da prisen ble oppdatert, format HH:MM.
4Telefon-ID på formen Android-123456789012345 eller hex-kodet streng/MD5-sum
5tall, uviss betydning. muligens relatert til day-verdien. Oppdatering 2012-06-02: Denne verdien er antall bekreftelser en gitt pris har fått.
6Pris for blyfri 98-oktan?
7samme som felt 3
8samme som felt 4
9samme som felt 5
10Pris for disel
11Samme som felt 3
12Samme som felt 4
13Samme som felt 5

En stasjonsoppføring består dermed av av bensinstasjons-ID og deretter tre blokker for 95-oktan bensin, 98-oktan bensin og disel.

PriserVedStasjon

echo 'id=736&day=0' | POST http://www.bitfactory.no/Bensin/ver1.1.PriserVedStasjon.php

Ser ut til å returnere informasjon for en enkelt bensinstasjon. Formatet er dato på formen "08_12_2011" for 2011-12-08, og noe som ser ut som samme format som fra PriserVedStasjoner. For stasjoner der intet er registrert returnerer den "NO RESULTS".

AllePriser

echo day=0 | POST http://www.bitfactory.no/Bensin/ver1.1.AllePriser.php

Returnere liste med av alle stasjoner det er registrert oppdaterte priser på siste 24 timer (eller er det fra ca. midnatt dagen før?). Returnerer "NO RESULTS" når listen er tom. Ellers returnerer den en dato på formen "Thursday_09_12_2011" fulgt av <br> og deretter en liste med stasjoner på samme format som PriserVedStasjoner.

Tags: drivstoffpriser, norsk.

RSS Feed

Created by Chronicle v4.6