Metodologie PretCarburant.ro
Transparența e fundamentul oricărui comparator de date publice. Mai jos documentăm exact cum colectăm, reconciliem, validăm și publicăm prețurile la carburanți din România. Dacă observi vreo inconsistență între ce scrie aici și ce face site-ul, contactează-ne — corectăm în maxim 24h.
1. Surse de date
Prețurile afișate pe PretCarburant.ro sunt reconciliate din surse publice oficiale, în următoarea ordine de prioritate:
- ANPC Monitorul Prețurilor (monitorulpreturilor.info) — API-ul oficial al Consiliului Concurenței / ANPC, obligatoriu pentru comercianți. Sursa noastră autoritativă pentru 343 de UAT-uri (unități administrativ-teritoriale). Acoperă toate rețelele majore și independente.
- SOCAR direct — feed direct de la rețeaua SOCAR România, cu prețurile publicate pe site-ul oficial al operatorului. Prioritate maximă pentru stațiile SOCAR.
- OSCAR direct — feed direct similar pentru rețeaua Oscar.
- Paginile publice oficiale ale rețelelor majore — datele afișate deschis de fiecare operator (Petrom, OMV, Rompetrol, MOL, Lukoil, Gazprom) pe site-urile lor comerciale publice. Folosim exclusiv informații publicate deschis de fiecare operator.
Toate sursele sunt publice și gratuite. PretCarburant.ro nu are contracte comerciale cu nicio rețea de benzinării și nu primește date privilegiate.
2. Frecvență de actualizare
Pipeline-ul de colectare rulează la fiecare 2 ore, 24/7, în strict ordered sequence pe serverul de producție (Hetzner, systemd + cron). O rulare completă durează ~5-8 minute și parcurge 6 pași în această ordine:
- :00 — scraper principal: colectează prețurile de bază din sursele publice ale rețelelor și le scrie în
statii_latest.json - :05 —
cron_snapshot: agregă snapshot-ul zilnic național (medii, min, max) + preț Brent - :15 —
socar_direct: overlay SOCAR authoritative (override pe stațiile SOCAR) - :20 —
monitorul_merge: overlay ANPC cu multi-pass geo matching (200m → 500m → 800m toleranță) - :25 —
oscar_direct: overlay OSCAR network - :30 —
snapshot_statii: persistă datele finale reconciliate înpreturi_statii.db(SQLite)
Ordinea este critică — rularea snapshot_statii înainte de monitorul_merge ar persista doar prețurile naționale uniforme (1 preț per brand/țară), pierzând variația reală per stație din datele ANPC.
Datele sunt cache-uite în-memorie pe server cu TTL de 2 minute pentru echilibrul între prospețime și performanță sub load.
3. Reguli de validare și outlier
Niciun preț nu ajunge pe site fără să treacă prin următoarele filtre hard-coded în helpers/constants.py:
- Bounds absolute per tip carburant (valori exacte din producție):
- Benzină standard 95: între 5.50 și 12.00 RON/L
- Motorină standard: între 5.50 și 13.00 RON/L
- GPL auto: între 2.50 și 6.00 RON/L
- Deduplicare bazată pe coordonate — aceeași stație poate apărea în mai multe surse cu adrese ușor diferite. Algoritmul de matching folosește distanță haversine: două raportări sub 200m se consideră aceeași stație. Pass-urile 500m și 800m se aplică secvențial pentru cazurile unde coordonatele ANPC sunt aproximative.
- Prioritate pe sursă — când aceeași stație are prețuri din mai multe surse simultan, ordinea de prioritate este: SOCAR/OSCAR direct feed > ANPC Monitorul > paginile publice ale rețelelor.
- Normalizare brand — scraper-ii returnează brand-uri în formate diferite (ex:
MolvsMOL). Normalizăm la uppercase/lowercase consistent înainte de matching și afișare.
4. Acoperire geografică
Site-ul monitorizează 1518 benzinării unice distribuite în toate cele 41 de județe + municipiul București din România, cu prezență în peste 440 de localități. Rețelele monitorizate: Petrom (398+ stații), OMV, Rompetrol, MOL, Lukoil, Socar, Gazprom și stații independente.
5. Dataset deschis și citare academică
Istoricul zilnic național al prețurilor (2015 — prezent, 159+ snapshots) este publicat ca dataset open-data pe Zenodo (repository sponsorizat de CERN), sub licență Creative Commons Attribution 4.0 International, cu DOI oficial:
CSV cu 16 coloane (min/mediu/max per benzină standard, benzină premium, motorină standard, motorină premium, GPL), format UTF-8, actualizat zilnic.
Pentru acces programatic în timp real la prețurile zilei curente, folosește /api/v1/preturi — API REST public, licență CC-BY 4.0, fără cheie de acces, fără rate limit per-IP strict.
Platforma este înregistrată ca entitate brand pe Wikidata (Q139285387) și este documentată de asemenea în llms.txt conform specificațiilor llmstxt.org pentru crawler-ele AI (GPTBot, ClaudeBot, PerplexityBot etc.).
6. Politica de corecții
Dacă observi un preț greșit sau o stație cu date incorecte, scrie-ne la contact@pretcarburant.ro cu:
- URL-ul paginii afectate
- Prețul corect (dacă îl cunoști) și ora observației
- Ideal: o poză cu pompa / display-ul de la stație, pentru confirmare
Răspundem în maxim 24h lucrătoare. Corecțiile majore (stație dispărută, schimbare brand, adresă greșită) se reflectă la următoarea rulare a pipeline-ului (maxim 2 ore). Dacă corecția vine direct de la ANPC Monitorul Prețurilor, propagă automat la pass-ul monitorul_merge.
7. Transparență tehnică și AI-readiness
- Schema.org structured data — fiecare pagină cheie are JSON-LD dens (Organization, Dataset, FAQPage, AggregateOffer, Article). Dataset schema include DOI-ul Zenodo ca identificator oficial.
- Sitemap XML cu 7 sub-sitemaps (~148 URL-uri indexabile post curățare AdSense aprilie 2026) la pretcarburant.ro/sitemap.xml.
- robots.txt AI-friendly — permitem explicit GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Applebot-Extended, OAI-SearchBot, anthropic-ai, CCBot, cu Crawl-delay 2s.
- llms.txt conform spec llmstxt.org cu lista paginilor recomandate pentru citare de LLM-uri.
- Speakable schema pe paginile cu prețuri — optimizate pentru voice-search / AI answer surfaces.
- hreflang alternates RO / EN / HU pe toate paginile cu versiuni multilingve.
- Source code — backend-ul este dezvoltat în Python/Flask cu SQLite, deploy via gunicorn + nginx pe Hetzner Cloud. Stack detaliat pe profilul GitHub al autorului: github.com/An3treiu.
8. Limitări cunoscute
- OUG 19/2026 — plafonare adaos comercial (1 aprilie — 30 iunie 2026). În această fereastră legislativă, majoritatea rețelelor majore (MOL, OMV, Lukoil, Socar, Gazprom) afișează preț uniform național per brand ca efect al plafonării adaosului la media 2025. Asta nu e eroare de site — e efectul direct al ordonanței. Variații reale per stație rămân la Rompetrol și stațiile independente. După 30 iunie 2026, prețurile ar trebui să revină la dinamica pre-OUG.
- Unele stații mici raportează prețul doar o dată pe zi la ANPC — poate exista delay de 1-12h față de afișajul pompei.
- Prețurile premium (benzină 98/100, motorină premium) nu sunt disponibile pentru toate rețelele — le afișăm doar acolo unde avem date confirmate.
- Acoperirea GPL auto e incompletă — nu toate stațiile vând GPL, iar unele sunt GPL-only și nu apar în rezultatele pe benzină/motorină.
- Orașe foarte mici (<3 stații monitorizate) nu au pagini dedicate — datele lor apar doar pe harta globală și în agregatele județene.
9. Autor și responsabilitate editorială
PretCarburant.ro este dezvoltat și întreținut de Stoian Andrei-Șerban, fondator unic, cu sediul în București, România. Nu există acționari, investitori sau contracte comerciale cu operatori de carburanți. Finanțarea platformei provine exclusiv din publicitate contextuală (Google AdSense pe web + Google AdMob în aplicația mobilă) și din achiziții opționale în aplicație pentru eliminarea reclamelor.
Responsabilitate editorială completă pentru conținut, metodologie și corecții aparține autorului. Contactare directă: contact@pretcarburant.ro.
Ultima actualizare metodologie: 14 aprilie 2026
Modificări față de versiunea anterioară (5 aprilie): corectare frecvență la 2h/rulare (era 3×/zi), corectare bounds outlier la valorile de producție, adăugare Zenodo DOI + CSV download + Wikidata entity, adăugare pipeline step-by-step, adăugare secțiune responsabilitate editorială. Semnalează o problemă →