Surse de date și metodologie

1. Sursă de date

Datele sunt colectate automat prin 14 crawlere web dedicate (Scrapy spiders), fiecare configurat individual pentru structura HTML a magazinului respectiv.

Din fiecare pagină de produs extragem: numele produsului, brandul, greutatea, prețul, URL-ul, disponibilitatea în stoc, datele nutriționale și lista de ingrediente (acolo unde este disponibilă ca text).

Nu folosim feed-uri furnizate de magazine și nu avem acces la API-uri private. Toate datele provin din pagini publice.

2. Magazine incluse

GymBeamgymbeam.roMyProteinmyprotein.roProzisprozis.comNutrilandnutriland.roMega Proteinemegaproteine.roPro Nutritionpronutrition.roBebeteibebetei.roRedisredis.roFarmacia Teifarmaciatei.roFit1fit1.roAllNutritionallnutrition.roHigh Energyhighenergy.roGenius Nutritiongeniusnutrition.roWhey Protein ROwheyprotein.ro

Total: aproximativ 2.205 produse indexate la momentul actual.

3. Metodologie de calcul

Fiecare produs trece printr-un pipeline în 4 etape: validare calitate → clasificare ingrediente → calcul metrici → deduplicare.

  • Formula whey: preț_per_kg ÷ (proteină_per_100g ÷ 100) = cost per kg proteină pură
  • Formula creatină: similar, ajustat cu puritatea declarată (fallback 100% dacă nu este disponibilă)
  • Clasificare surse proteice: pattern matching automat pe lista de ingrediente (română și engleză)
  • Deduplicare: normalizare nume (eliminare arome, greutăți) + SequenceMatcher cu prag 0.55 + potrivire greutate + brand

4. Quality gates (praguri de calitate)

  • ✕Whey fail: proteină < 70% (WPC/blend) sau < 85% (WPI); proteină < 60% (suspiciune maltodextrină); leucină < 2.0g (WPC) / 2.5g (WPI); zahăr > 8g (WPC) / 3g (WPI)
  • !Whey warning: grăsimi > 5g (WPC) / 2g (WPI); BCAA < 5.0g; ingrediente > 15
  • ✕Creatină fail: tipuri respinse (HCl, Kre-Alkalyn, ethyl ester); puritate < 99%
  • !Creatină warning: nu e Creapure; puritate < 99.5%

5. Frecvența de actualizare

  • Scraping: de 2 ori pe săptămână (luni și joi)
  • Publicare: automat după finalizarea scraping-ului (minute)
  • Regenerare clasamente: automat la fiecare actualizare

6. Algoritm de sortare

  • Top 5 Preț: sortare crescătoare pe preț_per_kg, deduplicate
  • Top 5 Eficiență: sortare crescătoare pe preț_per_kg_proteină (whey) sau preț_per_kg_creatină
  • Calculator Buget: optimizare combinație whey+creatină în bugetul dat

Clasamentele nu pot fi cumpărate. Nu acceptăm plăți pentru poziționare.

7. Limitări cunoscute

  • Aproximativ 42% din produse au ingredients_text disponibil. Restul nu pot fi clasificate pe sursă proteică
  • Fit1 (aproximativ 443 produse) publică ingredientele ca imagini, nu text — imposibil de extras automat
  • creatine_per_serving_mg nu este extras de niciunul din spideri — puritatea are fallback la 100%
  • Prețurile se pot schimba între ciclurile de actualizare — verificați pe site-ul magazinului
  • Clasificarea WPC/WPI/blend vine de la magazine, nu din analiză de laborator
  • Deduplicarea poate genera false positives (produse diferite tratate ca identice)