Super spændende forløbsbeskrivelse af hvordan østrigske Mario Zechner (@[email protected]) fik nok af regeringens tomme løfter om et “kig på dagligvarepriserne”, og på 2 timer havde første version af en prissammenligner stykket sammen, fangede mediernes opmærksomhed, gjorde den relevante minister til grin, og afslørede meget sansynlig stiltiende samarbejde (†) omkring priserne.
Jeg har selv været lidt skeptisk omkring den nuværende inflation (greedflation?) af dagligvarepriser (††), og samtidig super frustreret over udbredelsen (måske nærmere eskaleringen?) af ‘shrinkflation’ (†††). Men det er vildt svært at regne ud hvad man skulle kunne gøre selv, både fordi man måske - som jeg selv - ikke er programmør, og fordi man ikke ved hvor man skal starte.
Enormt forløsende at læse om Marios (overvejende) succes på området (med ministeriske benspænd, selvfølgelig…), og der er allerede mange forks af projektet for at tilpasse det andre landes indkøbsmuligheder (har dog ikke fundet en dansk fork endnu).
Tænk hvis vi kunne få adgang til den data for Danmark! Men ak, tror det kan blive en smule svært at genbruge dette projekt, da vi stort set ikke har nogen supermarkeder der er online, og jeg ikke ved om man overhovedet kan få adgang til deres API (et krav for at HeissePreisse kan fungere).
Så vidt jeg kan se er der kun:
- BilkaToGo (Salling Group, Danmark)
- Rema1000 (Reitan Group, Norge)
- Nemlig.com (Intervare A/S, Danmark)
Kan også være Danmark er for lille til at man overhovedet ville kunne gøre noget hvis man fik dataen, men synes tanken er interessant. Er der nogen af jer der ved om den slags data er tilgængelig (næppe, men skader ikke at spørge)? Andre idéer til hvad man kan gøre, om noget?
Er desuden også interesseret i hvordan man kunne forsøge at tackle overemballering og unødvendig brug af plast i emballage i dagligvarer - sig endelig til hvis der er nogen der har hørt om nogen projekter på det område!
. . . . . .
Update 1
De tre butikker jeg nævnte har alle en API, men to af dem bruger POST uden den relevante query i URL’en, og ser ud til at det er ud over mit niveau at tilpasse koden til at kompensere for dette.
Den sidste bruger GET til at snakke med sin API, med søgningen synlig i URL og det hele, men jeg får nogle fejl når jeg kører den tilpassede kode, og indtil videre har jeg ikke fundet en løsning.
Tror jeg prøver at skrive til Mario for at høre om han har idéer til hvordan man kommer ud over de to issues. Umiddelbart ville det hele være nemmere hvis der bare var en enkelt fil per butik man skulle tilpasse, baseret på en simpel skabelon, men det er ikke helt tilfældet.
Hvis der er nogen der har lyst til at give det et skud er det Nemlig.com der lader til at være den bedre kandidat, selvom jeg tænker at det må være muligt med alle tre.
Det er måske også værd at nævne at selvom der er tale om offentligt tilgængelig data ved jeg ikke om butikkernes TOS brydes, og der dermed kunne være juridiske konsekvenser.
. . . . . .
Hovedlink er en roll-up af denne Mastodon-tråd: https://mastodon.social/@[email protected]/111071396843370282
Projektet på GitHub: https://github.com/badlogic/heissepreise
. . . . . .
† Stiltiende samarbejde / koordinering: jeg kunne ikke finde på en bedre oversættelse. Fra den originale tråd:
“…tacit collusion, meaning, oligopolic price coordination without explicit coordination.”
†† Relevant artikel om inflation/greedflation fra Cory Doctorow: Look at all the great stuff we lost because of inflation scare-talk (pluralistic.net)
††† Shrinkflation (også kaldet ‘downsizing’): inflation der skjules ved at mindske varens mængde/indhold, typisk uden at ændre på emballagens størrelse, og stadig sælge den til samme pris.
Eksempel: Kleenex Balsam box:
-
I 2017 indeholdt en æske Kleenex Balsam 80 ark. Helt op til 2021 kunne man altid finde et tilbud på Kleenex Balsam box til 10,- i højsæsonen. Kr. 0,125 / ark (bedste pris).
-
I dag er der 64 ark i en æske, og p.t. kan det ikke lade sig gøre at finde et bedre tilbud end 12,- (1, 2, 3) (og den “almindelige” spotvare/tilbudspris ligger fast på omkring 14,- / 15,-). Kr. 0,188 / ark (bedste pris).
-
En prisstigning på kr. 0,063 pr. ark lyder ikke af meget, men det er prisstigning på 50,4%. Reduktionen i antal af ark i æsken er sket gradvist siden mindst 2017 (kan ikke finde ud af om der nogensinde har været mere end 80 ark i æsken).
-
Kleenex gjorde også deres almindelige ark mindre i 2009 (vides ikke om det også gælder for Balsam). (mouseprint.org, desuden et meget fint lille community af folk der nærlæser det med småt på emballagen).
Meget spændende. I forhold til “stiltiende koordinering”, er det overhoved ulovligt? Der er jo netop ikke reelt noget samarbejde (må man antage)?
Skrinkflation synes jeg dog virkelig er irriterende. Jeg ville ønske man ved lov kunne gøre noget for at det stoppes men jeg ved ikke hvordan. Kunne man kræve at produkter sælges i prædefinerede mængder? Altså produkter skal bruge 250, 500, 750 eller 1000 ml fx. Dermed bliver det svære at skjule shrinkflation da det ikke bare kan sættes ned fra 1000 ml til 900 ml. Men det virker meget restriktivt.
Alternativt skal man kræve at størrelsen af pakningen ændres når størrelsen af indholdet ændres, men det lyder som noget der er meget svært at holde styr på.
Måske en nemmere løsning: Kræv at kilopris/literpris/stykpris vises lige så tydeligt som den normale pris. Lige nu vises kiloprisen altid i meget småt skrift under den normale pris, hvis den overhoved er der. Hvis nu man kunne se kiloprisen nemt ville det være svære at skjule et prishop via shrinkflation.
Jeg er faktisk selv begyndt at holde styr på kilopriser på en liste på min telefon med forskellige varer for at kunne sammenligne og huske hvad en “god” pris er.
I Sverige virker det til at butikkerne skriver kiloprisen med meget større skriftstørrelse end i danske butikker. Det må næsten være lovgivningsbestemt.
Edit: Jeg fandt den svenske lovgivning. Det skal skrives med skrift der er let at læse og jämforpris (kilopris/literpris/enhedspris) skal skrives på gul baggrund. Se nedenfor.
4 § Uppgifter om pris och jämförpris ska anges i omedelbar närhet till varandra med en stil och storlek som är lätt att läsa. Prisinformationen ska anges med kommatecken eller kolon mellan kron- och öretal. Jämförpriset ska avrundas till två decimaler. Måttenheten för jämförpriset ska skrivas ut. På hyllkantsetiketter ska jämförpriset särskiljas från priset genom att jämförpriset anges mot gul bakgrund.
Det ville være en forbedring. Ideelt synes jeg stadig den burde være lige så stor som den normale pris, ikke bare “let læselig”.
Det er nice! 😍👌
Personligt synes jeg det en belastning, når man kigger efter kilopris, og på 3 varer af samme type, både har kilopris, stk pris, og hvad de ellers kan finde på af mængdepris, så det ikke kan sammenlignes
Eks. er Netto rigtig led til denne disciplin når det kommer til toiletpapir. Ikke nemt at sammenligne når enhederne er henholdsvis “pris pr. rulle”, “kilopris”, og “pris pr. m2”.
OK den sidste fandt jeg selv på, men jeg ville ikke blive den mindste smule overrasket hvis den dukkede op en dag. Og selvfølgelig kun angivet på ét produkt… 🙄
Det har jeg ikke oplevet, men man kan jo altid også beregne kiloprisen selv fra prisen og nettovægten.
Det er mest når der på den ene side er 3 for et eller andet, kontra købe et andet mærke, af samme slags for kilopris. Bliver lige lidt meget hovedregning i en presset indkøbstur
Tror ikke at det vil være nok at sige mængden skal være en faktor af 250 (kan allerede høre folk råbe kommunisme). Mit lokale supermarked lagde for nyligt et par pre-shrinkflication 1000 g müsli pakker ud blandt de nye pakker på 750 g. De har næsten identisk emballage (svag ændring i farven) men de fylder eksakt det samme for de har pumpet den nye pakker fuld med luft…
Oplevede noget tilsvarende i en 365 forleden hvor der var en spotpris på 400g M&Ms, stor skiltning osv.
Sagen var bare den at der var masser af poser, men højst 5 stk. på 400g; resten var 200 eller 250g (husker ikke hvilken). Men de var sjovt nok næsten den samme størrelse 🤔
Ups! Ej det må have været en fejl, det er vi da super kede af!, tænker jeg respons ville være.
Hmm, kan ikke få lov at poste hele min kommentar, tror jeg har ramt Lemmys 10K char limit… deler op og kommenterer en ekstra gang 👍
Tacit collusion
Tacit collusion can be difficult to prove and is often illegal under antitrust laws, as it can lead to reduced competition and higher prices for consumers. Regulators may use various methods, such as analyzing pricing behavior and market structure, to detect and deter tacit collusion.
Many jurisdictions deem collusion to be illegal as it violates competition laws and is regarded as anti-competition behaviour. The EU competition law in Europe prohibits anti-competitive practices such as price-fixing and competitors manipulating market supply and trade.
…Corporations may often thus evade legal consequences through tacit collusion, as collusion can only be proven through direct communication between companies.
- A Market Investigation Tool to Tackle Algorithmic Tacit Collusion: An Approach for the (Near) Future (PDF) Colm Hawkes, College of Europe, 03-2021
Algorithms are widespread across many industries. They are deployed to efficiently manage business processes and automate decisions. They are becoming increasingly sophisticated; capable of executing complex processes for businesses. They can improve efficiency and bring many benefits to consumers. However, algorithms can also cause substantial consumer harm. They are increasing transparency, the speed of business decisions and the ability of companies to immediately respond to rivals’ actions. In this manner, they exacerbate one of the longstanding quandaries of competition law: tacit collusion. Tacit collusion falls outside the scope of Articles 101 and 102 TFEU. Notwithstanding the potential anticompetitive effects when firms observe each other’s market actions and adopt the same strategy, it was felt that, from a legal perspective, mere conscious parallelism should not be prohibited. This theory is placed under increased scrutiny in an age where algorithms facilitate tacit collusion and make it more sustainable. This issue has attracted the attention of many competition authorities and academics, with various suggested solutions emerging. With limited empirical evidence of tacit collusion in existence, many stress the need for more information about how algorithms operate on the market and cause tacit collusion.
. . . . . .
Der er temmeligt meget research derude omkring algoritmer og tacit collusion, viser det sig. Mit umiddelbare overblik siger at det kan være meget svært at bevise, især pga. mangel på data, og virksomheder derfor ofte slipper af sted med det, muligvis også fordi det ikke er direkte ulovligt.
Det jeg synes der er så fint ved Marios case er at han havde et helt tydeligt resultat, som medierne nemt kunne sælge: “Se her, folkens, supermarkederne knepper jer”. Det skabte nok Offentlig Outrage™ til at maskineriet rent faktisk kom i gang, og de Østrigske myndigheder lyttede ekstremt nøje til Mario + team. At der så sidder en konservativ minister med fingeren på godkendelsesknappen er surt, men der skete stadig et eller andet! Folket blev opmærksomme på priserne på madvarer, og at de blev snydt, og det ville de ikke finde sig i.
Man kunne jo også håbe at der var en eller anden konsekvens ved at noget der får så megen opmærksomhed i medierne, og rører så mange mennesker, så bliver nerf’et af én minister (konservativ eller ej); måske det kunne få nogle flere mennesker til at stille spørgsmålstegn ved hvem det er den pågældende minister arbejder for? Ringe i vandet, osv.
Det virker lidt som om at Outrage™-knappen er den eneste der - i det store hele - har nogen form for funktion længere. Empati™ kan lidt en gang imellem, men det er ikke alle der har fået den knap med i dåbsgaven, og andre har aktivt fået den afmonteret.
Der er en stor mængde områder hvor der er behov for forandring, men det er langt fra dem alle sammen der er nemme at sælge.
-
For meget emballage og/eller for meget unødvendig plastic i emballagen? Luk røven hippie, du kan jo bare købe den spelt et andet sted.
-
Greenwashing og uambitiøse klimamål fra regeringen? Tjooo, men er der overhovedet noget galt med klimaet? Er klimakrisen ikke bare noget “de” har opfundet for at tjene penge?
-
Det er ikke kun inflation; supermarkederne bruger algoritmer til at overvåge hinandens priser, så de kan danne implicitte karteller uden at de kan blive straffet for det, og sammen flænse dig for så mange penge som muligt. Jytte, ræk mig høtyven!
Det virkede! Her kommer andel del…
Shrinkflation
Så enig, det er røvirriterende. Er også selv meget opmærksom på kilopris, men mest ift. prissammenligning af produkter; synes det er svært at huske hvad kiloprisen på et specifikt produkt er/var, men kan være et regneark er vejen frem, omend irriterende ekstraarbejde.
(…men sig endelig til hvis der er nogen der vil have mit regneark med pris per anbefalet DOSIS for alle varianter af Omega3 kapsler man kan købe i Netto. Tog mig en halv time forleden, men yderst tilfredsstillende bagefter!)
Jeg tænker også at der vil være for megen modstand imod regulering af indholdsmængde vha. interval/faktor, også fra Folket, og det ville sikkert også være svært ift. EU regulativer (det gælder nok mange af de mulige tiltag…).
Jeg kan godt li’ krav om tilpasning af emballagestørrelse, men der kan være issues ift. tooling til emballagen. En stands til en foldet papæske koster ikke det store, men en støbeform til blow-molding af en plasticdunk til vaskemiddel (grrr, findes i ark-form der vejer 1/25 af de flydende sæber (†), og kan leveres i simpel pap; flydende vaskemiddel burde forbydes 😡) er ikke billig, og det kunne være frustrerende for virksomheder at skulle re-designe og købe nye værktøjer til emballage hver gang de… hey, måske slet ikke så tosset 😅
Mit ideelle scenarie er noget i stil med:
-
Der laves en fælles database over alle dagligvarer.
- Alle dagligvarer skal registreres i databasen inden de er lovlige at sælge.
- Alle unikke produkter registreres som et “hovedprodukt”, e.g. “Buko Pikant”. Hovedprodukt har info om ingredienser, men ikke mængder, emballage, dimensioner, etc.
- Alle varianter af produktet skal registreres separat som et “underprodukt” af hovedproduktet. Buko Pikant: 120g, 200g, 300g, etc. Dette gælder også hvis der kun findes én version af produktet. Lidt ligesom CVR og P-enheder. Produktet på konceptuelt plan + alle fysiske manifestationer af produktet som underenheder.
- Hvis en variant af en vare udgår skal det registreres. Hvis den erstattes af en ny størrelse skal det nye produkt angives/linkes (ikke sikker på at dette er nødvendigt efter tilføjelse ovenfor af “registrering af udgået variant” og variant-systemet generelt).
- Alle nye varianter skal registreres inden lovligt salg.
- Alle historiske data bevares. Ideelt set for evigt.
- Varekategorier + underkategorier: fødevare > bagværk > kage.
- Alle fødevarer skal registreres med fulde ingredienser (+ allergener/spor af).
- Alle varianter registreres med vægt (både brutto og netto), måleenhed og mængde, etc. Måske også dimensioner af emballeret vare i form af omsluttende kube med XYZ angivet i cm?
- Imens vi er i gang kunne det være fedt at have procentvis opdeling af emballagens materialer, e.g. 20% papir, 10% metal, 70% plast (HDPE/LDPE/PET/PP/PA/etc.).
- Alle varianter registreres med unik kode (EAN/GS1 Stregkode/GTIN, allerede en ting).
- Alle ændringer af produkter skal registreres! Vægt (brutto+netto), ingredienser, dimensioner (XYZ), emballage komposition.
- Oprindelsesland, oprindelsesland for ingredienser/komponenter, etc. Tilsvarende eksisterende lovkrav.
- Databasen er offentlig tilgængelig. Jeg har eks. et barn med meget alvorlige nøddeallergier, og vi forlader ikke vores hjem uden en EpiPen; adgang til ingredienser/allergener for alle fødevarer ville være uvurderlig i forhold til vores evner til at A) finde ting hun må spise og B) kommunikere hvad hun må spise til andre når vi ikke er til stede.
- Det skal være muligt at lave en app der kan slå varer (nærmere specifikke varianter) op i databasen via stregkoden. Åben API?
-
Lovkrav - tydelig beskrivelse på emballagens forside når:
- En variant har nogen form for ændring (vægt, antal enheder i pakke, etc.), hvor XYZ dimensioner er uændret (eller ændring større end X%).
- Emballagens fremtoning efter en ændring af variant (æske, ca. den her størrelse / flaske i alm. størrelse og grøn farve / etc.) må forventes at kunne forveksles med den tidligere emballage.
- Emballagens XYZ ændrer sig uden at produktets nettovægt gør.
- En ny variant tilføjes.
-
“Tydelig beskrivelse” defineres med meget specifikke regler for størrelse og synlighed:
- Beskrivelsen skal udgøre mindst X% af emballagens forsides areal, dog minimum X * Y cm.
- Se EUs regler for labels på fødevarer - de er rimeligt dygtige til regler 😅
- Beskrivelserne skal fremgå af emballagen mindst 6 måneder (?) fra første salgsdato.
- Eksempler på beskrivelser:
- Uændret XYZ, lavere nettovægt = X% mindre indhold, emballage uændret
- Ændring i ingredienser = Ny opskrift - se specifikke ændringer på bagsiden under “ændringer”
- Ændring af ingredienser, nye allergener = NYE ALLERGENER! Se specifikke ændringer på bagsiden under “ændringer”
- Ændring af ingredienser, allergener fjernet = Nu uden [allergen] / Nu uden spor af [allergen], læs mere på bagsiden
- Uændret XYZ, lavere antal enheder i pakken = X færre [enhed] i æsken!
- Osv.
I forhold til den data ovenstående ville kræve findes 99% af det allerede, et eller andet sted, og sikkert flere. Der er bare ikke noget sted hvor det er samlet, og hvis der er er det ikke et sted vi har fri adgang til. Og det er fucked, for der burde ikke være nogen som helst del af det der er hemmelig. Stort set alle informationerne kan vi få i supermarkedet, men ingen af os ville nogensinde kunne registrere dem manuelt og skabe adgang til dem i et fælles system.
Det er obfuskering via besværlighed, og det er fucking nederen. Hvis DK ikke lovligt kan lave sådan et system, så må EU gøre det. Det er sikkert også bedre, opgaven lugter langt væk af et af Danmarks famøse IT projekter, AKA 10 milliarder over budget, 10 år forsinket, med 10% af den bestilte funktionalitet.
Skalaen gør systemet komplekst, ja, men ikke den grundlæggende struktur. Det burde være rimeligt ligetil at bygge med en gruppe dygtige ildsjæle. Hvis I kender nogen i Folketinget / EU så sig at jeg gerne gør det for 10 milliarder, og det bliver færdigt på 2 år. Sig at jeg lover at overholde deadline; det plejer at være godt nok.
Jeg må vist hellere stoppe nu, kan se at der forsvandt et par timer, men synes de er givet godt ud ift. at få konkretiseret et par idéer og tanker. Kan være det kan bruges til noget en dag af mig selv eller andre, eller kan sætte skub i et par tanker andetsteds☺
. . . . . .
† Eks. Laundry Sheets. 109,- for 60 ark = kr. 1,82/vask, 2,08 gram/vask. 480 vaske/kg.
A+ flydende vask, 880 ml, 52,95 (Rema1000). Antager at 1L = ~1KG: kr. 3,11/vask (aktuel Rema pris, kan helt sikkert findes billigere), 51,76 gram/vask, 20 vaske/kg (efter A+ anvisninger). 2385% tungere/vask.
synes det er svært at huske hvad kiloprisen på et specifikt produkt er/var, men kan være et regneark er vejen frem, omend irriterende ekstraarbejde
Jeg har også dårlig hukommelse når det kommer til priser så nu er jeg virkelig glad for at jeg er begyndt at skrive dem ned! Det er ret nemt med et regneark på telefonen.
Tak for al den research! Jeg er enig, det kunne være for vildt med sådan en database. Hvis det kunne gøres på EU-plan ville det også være nemmere for virksomhederne da de ikke skal registrere for hvert lands egen lille database separat. Men når det er sagt så lyder det meget ambitiøst at få sådan et system til at virke. Jeg kan allerede se en del edge cases og der er sikkert flere.
Jeg tror det er mere realistisk at få kiloprisen til at være lige så stor som den almindelige pris på prisskiltene… :P
Regnearket gør bare også ondt ift. at det er noget den enkelte skal gøre, og interfacet er mindre end ideelt på mobilen, især når der begynder at komme mange poster.
Hvis vi snakker manuel registrering (måske med både offentlige og lukkede brugergrupper? 😍) så kunne et MVP være:
- Scan stregkode med kamera.
- Scan pris med kamera (OCR)
- Auto-registrér butik baseret på GPS.
- En QuickScan knap der prompter for en kombination af nedenstående (kan tilpasses i indstillinger):
- billede af “forside”
- billede af ingredienser
- billede af vægt/mængdeangivelse (OCR)
- Backend server kan gemme historisk data, lave statistikker, som hentes frem ved scan af stregkoden (hvorefter man opfordres til at tilføje den aktuelle vares data igen)
- Angiv favoritter; nu hvor alle priserne strømmer ind kan man blive adviseret når en kombination af rabat/max-pris og butikskæde bliver triggered.
OK, det ser ud som om at jeg ikke ved hvad MVP betyder, men det ville være en app jeg rent faktisk gad bruge 😊
EDIT Det er jo i virkeligheden en slags OpenStreetMap / Waze for registrering af fødevarer/dagligvarer. Community driven, open source (OSM at least, købte Google ikke Waze?), FOSS. Kunne være en fin måde at beskrive/sælge projektet på. “Frivillige ildsjæle skaber landets største åbne database over dagligvarer, priser, og allergener! Sådan kan du være en del af projektet!”
Fuck hvor ville jeg gerne være bedre til at kode. Og have mere tid. Og råd til at trække stikket for at hellige mig et frivilligt projekt 😓
Og ja, helt sikkert EU til mit andet forslag, og det ville helt sikkert være langt mere besværligt end jeg tror det er, sådan er det altid. Har også selv ramt et par edge-cases mens jeg skrev på “oplægget” i løbet af dagen, eks.:
- Hvad gør man når én variant, men ikke alle, ændrer ingredienser? Er det så et nyt hovedprodukt der skal til (ja), og hvad gør man så med navnet? Skal der være krav om unikke navne til hovedprodukter?
- Hvad forhindrer producenterne i at registrere masser af “fake” varianter som obfuskerer de triggers der skal til for at udløse et krav om “tydelig mærkning”?
- Hvad kan producenterne ellers gøre for at game systemet?
Men jeg tror nu godt at det kan lade sig gøre, og jeg har en mistanke om at noget der minder lidt om det allerede findes. En veninde i fødevarebranchen (bagels) fortalte mig forleden at der er en central database hvor alle fødevarer + ingredienser skal registreres. Jeg prøver lige at spørge hende i morgen om hvad den hedder. Tror ikke den er offentlig. Måske kan vi få en insider/whistleblower til at leake en kopi af dataen 😄
Det ser også ud til at alle stregkoden i EU (i hvert fald til fødevarer) skal være G1/GTIN, og dem kan man kun købe ét sted; der må også være lidt data samlet dér, men nok ikke så meget.
Hey, vi er nogle som snakkede om det samme på Mastodon, lige nu både om en app til at skanne prisskilte og system til at læse api’er. Lige nu snakker jeg med 1 via signal og ved at der også er et par stykker som gerne vil være med på sidelinjen.
Tænkte om vi ikke skulle finde en fælles kommunikations kanal at samle vores arbejde i, så at vi ikke ender med at hver især lave det samme projekt :)
Cool! I må endelig sige til når I finder et sted, jeg vil meget gerne være med til brainstorm eller hvad jeg ellers kan hjælpe med hvis I har plads til flere 👌
Jeg er her, på Mastodon, Discord, og kan lave flere konti hvis det er. Bare det ikke ender med Facebook, Twitter, Threads eller Reddit 😅
Fedt! Nogle af dem jeg har snakket med har det blandet omkring Discord og open source arbejde, men finder lige ud af noget. Indtil videre så har jeg oprettet en GitHub her: https://github.com/Herover/heissepreise
Hvis du vil så må du meget gerne dele din research på de 3 supermarkeder du har kigget på under issues. Jeg kiggede lidt på deres Lidl kode og det er næsten klart til .dk, URL’en skal ændres lidt og enheder er mærkelige men ellers! Tænker at smide en foreløbig server op på et sted hvor jeg har lidt andre ting kørende senere på ugen, så kan man altid flytte den til sit eget domæne senere (når vi finder et godt navn).
Tænkte om vi ikke skulle finde en fælles kommunikations kanal at samle vores arbejde i, så at vi ikke ender med at hver især lave det samme projekt :)
Det bedste ville nok være at samles om et eller andet GitHub projekt.
Update fra bagel-veninden: systemet hun nævnte for mig er GS1Trade Sync. GS1 er dem der udsteder alle stregkoder til fødevarer i EU, nævnte dem i en af mine tidligere kommentarer.
Her er deres egen beskrivelse af produktet:
Hold styr på produktstamdata - GS1Trade Sync er et system til udveksling af produktstamdata og billeder, hvor data er samlet ét sted, så det er tilgængeligt, når dine handelspartnere har brug for det.
Systemet er opbygget af valideringsregler og datamodeller, der sikrer, at lovpligtige og relevante data altid er angivet for det enkelte produkt.
GS1Trade Sync er en del af *GDSN netværket
Så den store database som alle bruger til udveksling af varedata (ikke kun fødevarer) og billeder, og som sandsynligvis indeholder 100% af det jeg beskrev, er et lukket økosystem med et meget stort prisskilt, drevet af en stor, ond, multinational… NGO? 😳
Det ser desuden ud til at der er en hel underskov af Certificerede Partnere, som eks. FoodInfo.dk, som vist ikke helt er en NGO.
Tættere på vores ende af spektret har jeg fundet OpenFoodFacts.org:
Open Food Facts er en fødevareproduktdatabase udarbejdet af alle, for alle. Du kan benytte den til at foretage bedre fødevarevalg, og da det er åbne data, kan alle genbruge disse til ethvert formål.
De får data ind ved at frivillige scanner fødevarer hjemme eller i butikken med deres iPhone eller Android apps.
Afhængig af hvor Åbne deres data er, er det nok et af de bedste steder at starte. Hvis man var vildt heldig er deres apps FOSS med kode på GitHub, og man kunne tilpasse dem til et nyt system med samme datasæt, med tilføjelsen af de “manglende” data (pris, dimensioner?).
BINGO. Al data er frit tilgængelig, ligeledes koden til begge apps!
Og hvis vi var rigtig heldige kunne man få lavet skrav af de tre danske supermarkeder vi har fundet online med Marios kode/system, og dermed få et baseline sæt af varer; mit gæt er at det vil give omkring 25K, måske lidt mere. Med dem i databasen, og måske supplerende scrapes løbende med nye priser, ville vi have et fint grundlag til sammenligning, og man kunne bygge en “manuel” indsamling ovenpå, for at få data fra alle de danske butikker der ikke er online.
Jeg har ikke fået skrevet til Mario endnu; som tingene ser ud lige nu tror jeg at det vil kræve én bare nogenlunde kyndig koder til at tilpasse de ting jeg ikke selv kan grokke, og så har vi de tre første datasæt + dataen fra OFF. Det kan ikke være specielt svært at mappe OFF dataen til HeisePreisse skabelonen, eller omvendt.
Før man begynder at bygge helt nye apps kunne vi starte med de lavthængende frugter 😊
Sig at jeg lover at overholde deadline; det plejer at være godt nok.
Det er så sandt at det gør ondt…
deleted by creator
-
Godt fundet med API’erne! Legede også med ideen om en dansk udgave, men de fleste steder jeg tjekkede havde kun en tilbudsavis best-case i pdf form.
Der findes også en Syd Afrikansk net avis som har fået data ved bare at gå ned og kigge i forretningerne https://www.theoutlier.co.za/economy/2023-03-03/84308-411/the-outliers-grocery-basket-february-2023
Det her gav mig en ide:
Vil folk her bruge en app/hjemmeside hvor man tager et billede af prisskiltet i forretningen med mobiltelefonen, som så bliver uploadet og skannet semi-automatisk med tekst genkendelse? Udover at man selv kan følge priserne på ens produkter så deles informationen med resten af siden som kan bruge det til at sammenligne priser.
Brugbart eller bare endnu et hyggeligt side projekt som få vill benytte?
Du behøver vel ikke en gang meget tekstgenkendelse andet end prisen, da prisskilte altid indeholder strejkoder. Mon ikke der findes en database man kan slå dem op i? Så har du det precise produkt.
God ide med stregkoder, og selv hvis der ikke findes en tilgængelig database så må det være en god måde at unikt identificere et produkt!
Spændende. Jeg synes at huske at Dagrofa havde et API… men kun hvis man er erhvervskunde?
Fandt denne artikel omkring hvordan man kan lokalisere endpoint for en API via eks. Chromes Dev Tools, viser sig at det slet ikke er svært, selv hvis man ikke er ‘koder’ 😅
Indtil videre ser det umiddelbart ud til at Rema1000 har en tilgængelig API, så one down, three to go? 🤔
{ data: { id: 70718, name: "MÆLKE CHOKOLADEKIKS", underline: "125 GR. / REMA 1000", age_limit: null, hazard_precaution_statements: [], labels: [ { id: 2, name: "REMA1000", image: "https://d15493jtiio2fp.cloudfront.net/product/labels/2-64.webp", }, { id: 95, name: "Rainforest Alliance", image: "https://d15493jtiio2fp.cloudfront.net/product/labels/95-64.webp", }, ], description: "Kiks med m\u00e6lkechokoladeMed 63 % m\u00e6lkechokolade med mindst 30 % kakaot\u00f8rstof.", info: "", nutrition_info: [ { name: "Energi", value: " 2.103 KJ / 502 kcal", }, { name: "Fedt", value: " 24", }, { name: "Heraf m\u00e6ttede fedtsyrer", value: " 14", }, { name: "Kulhydrat", value: " 63", }, { name: "Heraf sukkerarter", value: " 39", }, { name: "Kostfibre", value: " 2,9", }, { name: "Protein", value: " 7,1", }, { name: "Salt", value: " 0,78", }, ], declaration: "31 % sukker, 26 % <b>hvedemel</b>, 13 % kakaosm\u00f8r*, 9 % kakaomasse*, 8,4 % <b>skummetm\u00e6lkspulver</b>,<br>3,8 % <b>sm\u00f8r</b>, 3,4 % <b>vallepulver</b> (af <b>m\u00e6lk</b>), 2,8 % koncentreret<br><b>sm\u00f8r</b>, glukosesirup, <b>laktose</b> (af <b>m\u00e6lk</b>), emulgator (E 322<br>vegetabilsk), h\u00e6vemidler (E 500, E 450), salt, <b>s\u00f8dm\u00e6lkspulver</b>, naturlig vaniljearoma, naturlig vaniljearoma med andre naturlige aromaer, <b>\u00e6ggeblommepulver</b>, syre (E 330).", images: [ { small: "https://d2dql7oeescq6w.cloudfront.net/70718/1-small-2B947evqkM.webp", medium: "https://d2dql7oeescq6w.cloudfront.net/70718/1-medium-2B947evqkM.webp", large: "https://d2dql7oeescq6w.cloudfront.net/70718/1-large-2B947evqkM.webp", }, ], prices: [ { price: 12, price_over_max_quantity: null, max_quantity: null, is_advertised: false, is_campaign: false, starting_at: "2023-02-02T00:00:00+00:00", ending_at: "2099-12-31T00:00:00+00:00", deposit: null, compare_unit: "kg", compare_unit_price: 96, }, ], warnings: [], temperature_zone: null, is_self_scale_item: false, is_weight_item: false, is_available_in_all_stores: true, is_batch_item: false, }, }
Har stadig lidt svært ved at se værdien i at sammenligne Rema, Bilka og Nemlig, men prøver alligevel at se om jeg kan få det til at virke.
Ej hvor tarveligt sådan at dumpe json i min indbakke i en weekend 😵
Sorry 😅
Men det er jo mælkechokoladekiks på JSONsk.