AI hlídač cen konkurence s denním alertem do e-mailu
Monitoring cen konkurence už dávno není jen disciplína pro velké e-shopy s vlastním datovým týmem. Dnes lze postavit praktický systém i s běžně dostupnými cloudovými službami, tabulkou, automatizací a jedním AI modelem, který nebude jen mechanicky hlásit změny, ale rovnou je také vyhodnocovat. Výsledek je velmi užitečný: každý den dostanete do e-mailu stručný a srozumitelný přehled toho, kde konkurence zlevnila, kde zdražila, které produkty se dostaly pod vaši cenu a které změny už stojí za zásah obchodníka.
Tento článek je praktický návod na funkční MVP projektu. Cílem není postavit enterprise platformu se stovkami integrací, ale řešení, které budete schopni skutečně zprovoznit. Použijeme reálné služby, konkrétní pole, ukázky nastavení a jednoduché mini snippety. Postup je záměrně plynulý: nejprve si připravíme datový základ, potom získáme ceny, porovnáme je, vyhodnotíme změny pomocí AI a nakonec vše odešleme v denním alertu do e-mailu.
Úvod

Typický problém v praxi vypadá takto: prodáváte desítky nebo stovky položek, několik konkurentů mění ceny nepravidelně a ruční kontrola je pomalá i nespolehlivá. Nestačí jen vědět, že „něco se změnilo“. Potřebujete odpovědět na konkrétní otázky:
- U kterých produktů došlo ke změně ceny oproti včerejšku?
- Kdo je nyní nejlevnější?
- O kolik procent jsme nad nebo pod konkurencí?
- Které změny jsou důležité a které lze ignorovat?
- Co z toho má obchodní tým udělat dnes?
Právě poslední bod je důvod, proč do projektu zapojit AI. Ne kvůli samotnému sběru cen, ten je ve své podstatě datová úloha, ale kvůli shrnutí, prioritizaci a vysvětlení změn v lidsky čitelné podobě. AI v tomto projektu funguje jako analytická vrstva nad již připravenými daty.
Cíl projektu

Cílem je vytvořit MVP, které jednou denně provede tyto akce:
- Načte seznam sledovaných produktů a jejich konkurenčních URL.
- Získá aktuální cenu z vybraných stránek konkurence.
- Porovná aktuální stav s předchozím dnem.
- Spáruje ceny s vaší interní referenční cenou.
- Pomocí AI vytvoří stručné vyhodnocení změn a doporučené priority.
- Pošle denní e-mail s přehledem výsledků.
Funkční MVP v tomto článku stavíme na těchto zásadách:
- vstupy budou uloženy v Google Sheets,
- automatizaci zajistí Make,
- AI vyhodnocení zajistí OpenAI API,
- e-mail odešleme přes Gmail v Make,
- pro získání cen použijeme dvě realistické varianty: veřejně dostupný produktový feed nebo HTML stránku přes HTTP modul.
Je důležité dodat omezení: ne každý e-shop dovoluje snadné nebo právně bezproblémové stahování cen z HTML. Pokud obchod poskytuje veřejný XML feed nebo API, je to obvykle stabilnější cesta. Pokud ne, je třeba ověřit podmínky konkrétního webu a počítat s vyšší křehkostí řešení.
Předpoklady
Než začnete, připravte si následující:
- Google účet s přístupem do Google Sheets a Gmailu,
- Make účet, ideálně s možností plánovaného spouštění scénářů,
- OpenAI API klíč,
- seznam alespoň 10 produktů, které chcete sledovat,
- u každého produktu interní kód nebo SKU a alespoň jednu konkurenční URL nebo feedový odkaz,
- základní rozhodnutí, co považujete za důležitou změnu, například pokles ceny o více než 3 % nebo rozdíl vůči vaší ceně větší než 50 Kč.
Pro MVP budeme pracovat se třemi tabulkami v jednom Google Sheetu:
- products – seznam vašich produktů a vazeb na konkurenci,
- price_snapshots – denní historické záznamy cen,
- alert_log – historie odeslaných alertů a stav běhu.
Jakmile máte jasno v datech a přístupech, můžeme začít stavět. Nejprve připravíme strukturu, bez které se automatizace rychle rozpadne.
Kroky realizace
Krok 1: Navrhněte datový model v Google Sheets
Co a proč: Než začnete stahovat jakákoli data, musíte mít stabilní strukturu. Bez ní bude obtížné párovat produkty, počítat změny a generovat alerty. Pro MVP je tabulka ideální: je čitelná, snadno upravitelná a Make s ní pracuje bez složitého nastavování.
Přesně jak: V Google Sheets založte nový soubor s názvem například Monitoring cen konkurence. Vytvořte listy products, price_snapshots a alert_log.
Do listu products vložte tyto sloupce:
product_id | sku | product_name | own_price | competitor_name | competitor_url | source_type | price_selector | currency | active
Ukázka řádku:
1001 | NB-ACER-15 | Acer Aspire 15 | 12990 | Alza | https://www.alza.cz/... | html | .price-box__primary-price__value | CZK | TRUE
Do listu price_snapshots vložte:
snapshot_date | product_id | competitor_name | fetched_price | currency | availability | source_url | fetch_status | raw_value
Do listu alert_log vložte:
alert_date | total_products | changed_prices | critical_items | email_subject | send_status | scenario_run_id
Konkrétní vstup: Sloupec price_selector s hodnotou .price-box__primary-price__value.
Konkrétní výstup: Připravený Sheet se třemi listy a minimálně 10 aktivními řádky v products.
Metrika úspěšnosti: 100 % sledovaných produktů má vyplněné product_id, own_price, competitor_url, source_type a active.
Tím vznikne pevný základ. V dalším kroku na tuto strukturu napojíme automatizaci, aby se data nemusela zpracovávat ručně.
Krok 2: V Make vytvořte denně spouštěný scénář
Co a proč: Potřebujete, aby systém běžel automaticky každý den bez ručního zásahu. Make je pro MVP vhodný, protože umí plánované spuštění, práci s Google Sheets, HTTP požadavky, podmínky i e-mail.
Přesně jak: Po přihlášení do Make klikněte na Create a new scenario. Jako první modul zvolte Tools > Scheduler. Nastavte:
- Run scenario: Every day
- Time: 07:00
- Timezone: Europe/Prague
Poté přidejte modul Google Sheets > Search Rows a připojte svůj Sheet. Nastavte:
- Spreadsheet: Monitoring cen konkurence
- Sheet: products
- Limit: 100
- Query:
active = TRUE
Pokud by dotaz v konkrétní konfiguraci nefungoval přesně takto, použijte prosté načtení řádků a filtr přímo v Make. To je jedno z omezení dané kombinací Google Sheets a Make: syntaxe filtrování se může lišit podle použitého modulu a typu připojení.
Mini postup v Make:
- Scheduler
- Google Sheets – Search Rows
- Filter:
active = TRUE
Konkrétní vstup: Nastavení plánu 07:00 Europe/Prague.
Konkrétní výstup: Seznam aktivních produktových řádků předaný do dalších modulů.
Metrika úspěšnosti: Scénář se spustí 7 dní po sobě bez ručního zásahu a načte očekávaný počet aktivních řádků.
Jakmile máme denní běh, můžeme přejít k nejcitlivější části: získání aktuální ceny.
Krok 3: Získejte aktuální cenu z feedu nebo HTML stránky
Co a proč: Smyslem tohoto kroku je převést konkurenční stránku nebo feed na jedno konkrétní číslo, tedy aktuální cenu. Pro méně pokročilého čtenáře je dobré vědět, že zde neřešíme plnohodnotný scraping framework. Pro MVP potřebujeme jen spolehlivě dostat cenu do tabulky.
Přesně jak: V listu products máme pole source_type. Podle něj zvolíme větev scénáře v Make.
Varianta A: XML feed
Pokud konkurent nabízí veřejný feed, přidejte modul HTTP > Make a request.
Nastavení příkladu:
Method: GET
URL: https://www.priklad-eshop.cz/feed/products.xml
Parse response: Yes
Poté použijte modul pro práci s XML nebo textem a vyhledejte cenu podle párovacího identifikátoru, například EAN nebo názvu produktu. Pokud feed obsahuje více produktů, je nutné přesně vědět, podle čeho párovat. Pokud toto není jisté, je to omezení a feed nemusí být pro přesné porovnání použitelný.
Varianta B: HTML stránka
Přidejte modul HTTP > Make a request s URL ze sloupce competitor_url. Poté použijte modul Text parser nebo funkce nad HTML výstupem. U jednodušších stránek postačí hledání podle CSS selektoru uvedeného ve sloupci price_selector. Make nemá univerzální vizuální extraktor pro všechny weby, takže u některých stránek může být potřeba pracovat s regulárním výrazem nebo nasadit jiný legální zdroj dat.
Ukázka jednoduchého regulárního výrazu pro cenu v HTML:
(d{1,3}(?:[ .]d{3})*(?:,d{2})?)s?Kč
Ukázka vstupu:
<div class="price-box__primary-price__value">12 490 Kč</div>
Očekávaný výstup:
12 490
Poté cenu normalizujte, například nahraďte mezery a čárku:
replace(replace(raw_price; " "; ""); ","; ".")
Konkrétní vstup: URL https://www.priklad-eshop.cz/notebook-acer-aspire-15 a selektor .price-box__primary-price__value.
Konkrétní výstup: Normalizovaná hodnota ceny, například 12490.
Metrika úspěšnosti: Minimálně 90 % aktivních produktů vrátí čitelnou cenu bez ruční opravy.
Jakmile umíme cenu stáhnout, je potřeba ji bezpečně uložit. Bez historie bychom totiž nezjistili, co se změnilo oproti včerejšku.
Krok 4: Uložte denní snapshot a dopočítejte změnu vůči včerejšku
Co a proč: Jednotlivá načtení cen jsou užitečná jen tehdy, pokud je ukládáte v čase. Snapshot je denní záznam, díky němuž zjistíte trend i konkrétní změnu. Tento krok je zásadní i pro AI, protože model musí dostat strukturovaná data, ne neuspořádaný proud HTML.
Přesně jak: Po získání ceny přidejte modul Google Sheets > Add a Row do listu price_snapshots.
Mapování polí:
snapshot_date = formatDate(now; "YYYY-MM-DD")
product_id = products.product_id
competitor_name = products.competitor_name
fetched_price = normalized_price
currency = products.currency
availability = "unknown"
source_url = products.competitor_url
fetch_status = "ok"
raw_value = raw_price
Pak přidejte další modul Google Sheets > Search Rows do price_snapshots, který dohledá poslední starší záznam stejného produktu a konkurenta. Následně vypočtěte změnu.
Mini vzorec pro procentní změnu:
((today_price - yesterday_price) / yesterday_price) * 100
Ukázka vstupu:
today_price = 12490
yesterday_price = 12990
Očekávaný výstup:
-3.85
Pokud včerejší cena neexistuje, označte stav jako new_tracking a nepočítejte změnu. Je lepší explicitně přiznat, že první den není s čím porovnávat, než vytvářet zavádějící výstup.
Konkrétní vstup: Pole snapshot_date a fetched_price.
Konkrétní výstup: Nový řádek v price_snapshots a vypočtené pole změny, například -3.85 %.
Metrika úspěšnosti: U alespoň 95 % produktů se uloží snapshot bez chyb mapování a pro produkty s historií se správně spočítá změna.
Teď už víme, co se změnilo v čase. Další krok přidá obchodní význam: porovnání s vaší vlastní cenou.
Krok 5: Spočítejte rozdíl vůči vaší ceně a určete prioritu
Co a proč: Samotná změna ceny konkurence ještě neříká, zda máte problém. Pokud konkurence zlevnila o 2 %, ale stále je dražší než vy, nemusí to být důležité. Proto dopočítáme rozdíl vůči poli own_price a zavedeme jednoduchou priorizaci.
Přesně jak: V Make přidejte modul Tools > Set variable nebo podobný výpočetní krok. Použijte tato pomocná pole:
price_diff_czk = own_price - fetched_price
price_diff_pct = ((own_price - fetched_price) / own_price) * 100
Příklad:
own_price = 12990
fetched_price = 12490
Očekávaný výstup:
price_diff_czk = 500
price_diff_pct = 3.85
Poté nastavte jednoduchá pravidla priority:
- critical – konkurence je levnější o více než 3 % nebo více než 300 Kč,
- warning – konkurence je levnější o 1 až 3 % ,
- info – změna existuje, ale rozdíl není obchodně významný.
Mini logika:
if(price_diff_pct >= 3 or price_diff_czk >= 300; "critical";
if(price_diff_pct >= 1; "warning"; "info"))
Pokud vaše obchodní politika pracuje s marží, můžete do tabulky přidat sloupec min_margin_pct. Pro MVP to není nutné, ale je to přirozené rozšíření.
Konkrétní vstup: Pole own_price = 12990 a fetched_price = 12490.
Konkrétní výstup: Priorita critical a rozdíl 500 Kč.
Metrika úspěšnosti: 100 % položek se změnou má přiřazený stav critical, warning nebo info.
Nyní máme data připravená pro člověka i stroj. V dalším kroku z nich necháme AI vytvořit stručné, čitelné a prioritizované shrnutí.
Krok 6: Vygenerujte AI shrnutí změn pomocí OpenAI API
Co a proč: Denní přehled nechcete číst jako surový export řádků. AI zde poslouží jako sumarizační vrstva: vytáhne nejdůležitější změny, seskupí rizikové položky a připraví krátké doporučení. To je přesně typ úkolu, kde model přidává hodnotu.
Přesně jak: V Make přidejte modul HTTP > Make a request nebo oficiální modul pro OpenAI, pokud jej máte k dispozici. Použijte endpoint kompatibilní s aktuální dokumentací OpenAI.
Ukázka JSON těla požadavku:
{
"model": "gpt-4.1-mini",
"input": "Jsi analytik cen. Z poskytnutých dat vytvoř denní shrnutí v češtině. Zvýrazni kritické změny, uveď produkty, konkurenta, starou a novou cenu, rozdíl vůči naší ceně a krátké doporučení. Data: [{"product_name":"Acer Aspire 15","competitor_name":"Alza","old_price":12990,"new_price":12490,"own_price":12990,"priority":"critical"}]"
}
Praktický prompt je dobré držet stručný a strukturovaný. Doporučená šablona:
Jsi analytik cen pro e-shop.
Úkol: vytvoř denní e-mailové shrnutí v češtině.
Pravidla:
- nejprve napiš 3 nejdůležitější zjištění,
- potom sekci Kritické změny,
- potom sekci Doporučení na dnešek,
- nevymýšlej chybějící data,
- pokud je položka bez historie, označ ji jako nové sledování.
Data: {{JSON_seznam_zmen}}
Ukázka vstupu pro model:
[
{
"product_name": "Acer Aspire 15",
"competitor_name": "Alza",
"old_price": 12990,
"new_price": 12490,
"own_price": 12990,
"price_diff_czk": 500,
"priority": "critical"
}
]
Očekávaný výstup:
1. Konkurent Alza zlevnil Acer Aspire 15 z 12 990 Kč na 12 490 Kč.
2. Naše cena je nyní o 500 Kč vyšší, položka je kritická.
3. Doporučení: prověřit možnost okamžité reakce v cenotvorbě nebo ověřit skladovou strategii.
Konkrétní vstup: Prompt s polem priority a JSON seznamem změn.
Konkrétní výstup: Souvislé shrnutí v češtině připravené pro vložení do e-mailu.
Metrika úspěšnosti: Shrnutí je vytvořeno při každém běhu a neobsahuje neexistující produkty ani ceny mimo vstupní data.
Jakmile máme AI výstup, zbývá poslední krok samotného workflow: převést vše do denního alertu a odeslat.
Krok 7: Sestavte a odešlete denní e-mailový alert
Co a proč: Výstup projektu musí být prakticky použitelný. Ne další dashboard, do kterého se nikomu nechce. E-mail je pro denní operativu stále velmi účinný, zvlášť pokud obsahuje jasné priority a konkrétní položky.
Přesně jak: V Make přidejte modul Gmail > Send an Email. Do předmětu vložte datum a základní statistiku.
Ukázka předmětu:
AI hlídač cen: 6 změn, 2 kritické položky – 11. 3. 2026
Ukázka HTML těla e-mailu:
<h2>Denní přehled změn cen konkurence</h2>
<p><strong>Celkem sledovaných položek:</strong> 24</p>
<p><strong>Změny od včerejška:</strong> 6</p>
<p><strong>Kritické položky:</strong> 2</p>
<hr>
<pre>{{ai_summary}}</pre>
Poté zapište výsledek do listu alert_log přes Google Sheets > Add a Row.
Ukázka zápisu:
alert_date = 2026-03-11
total_products = 24
changed_prices = 6
critical_items = 2
email_subject = AI hlídač cen: 6 změn, 2 kritické položky – 11. 3. 2026
send_status = sent
scenario_run_id = 983421
Konkrétní vstup: Pole ai_summary a statistika critical_items = 2.
Konkrétní výstup: Odeslaný e-mail a log v listu alert_log.
Metrika úspěšnosti: E-mail je doručen každý pracovní den a předmět i tělo odpovídají aktuálním datům daného běhu.
Tím je MVP hotové. Máte automatický sběr cen, porovnání, AI interpretaci i denní alert. Než jej ale pustíte do rutinního provozu, je nutné ověřit, že funguje i v méně ideálních situacích.
Doporučený AI stack pro realizaci
Vyberte nástroje podle rozpočtu a úrovně automatizace. Níže je přímý přehled služeb pro realizaci projektu.
| Tool | Offer |
|---|---|
| NordVPN | Otevřít nabídku |
| Semrush | Otevřít nabídku |
| Notion | Otevřít nabídku |
| Hostinger | Otevřít nabídku |
| Fiverr | Otevřít nabídku |
| Adobe | Otevřít nabídku |
| Canva | Otevřít nabídku |
| Jasper | Otevřít nabídku |
Testování
Testování tohoto projektu by mělo být konkrétní, ne formální. Doporučený postup:
- Test 1: Načtení vstupů – ověřte, že scénář přečte přesně počet aktivních řádků v products.
- Test 2: Extrakce ceny – u 5 produktů ručně porovnejte cenu na webu a cenu uloženou v price_snapshots.
- Test 3: Výpočet změny – upravte testovací produkt tak, aby se cena lišila od včerejška, a ověřte procentní změnu.
- Test 4: Priorita – nastavte jednu položku pod hranici 3 % a jednu nad ni, potom zkontrolujte přiřazení
warningacritical. - Test 5: AI shrnutí – zkontrolujte, že model nehalucinuje další položky a drží se vstupních dat.
- Test 6: E-mail – ověřte doručení, čitelnost na mobilu a správné české formátování cen.
Dobrá praxe pro MVP je zavést si jednoduché akceptační metriky:
- úspěšnost načtení cen alespoň 90 %,
- shoda extrahované ceny s webem alespoň u 95 % testovaných položek,
- 0 kritických chyb v odeslání e-mailu během 5 po sobě jdoucích běhů,
- AI shrnutí bez věcných chyb u všech kontrolovaných alertů.
Nasazení
Pro nasazení do běžného provozu stačí v Make přepnout scénář do aktivního režimu. Doporučený postup:
- Nejprve spusťte scénář ručně na malé sadě 10 až 20 produktů.
- Po 3 až 5 dnech bez zásadních chyb rozšiřte seznam sledovaných položek.
- V Make nastavte notifikaci při chybě scénáře.
- Jednou týdně zkontrolujte produkty se statusem
fetch_status = error. - Pokud některé HTML stránky často mění strukturu, převeďte je, je-li to možné, na stabilnější feedový zdroj.
Pro první produkční verzi doporučuji denní běh v čase, kdy ještě obchodní tým nezačal řešit operativu, například mezi 6:30 a 7:30. Alert pak dorazí včas pro ranní rozhodování.
Limity
Tento projekt má několik důležitých omezení, která je vhodné říci otevřeně:
- HTML extrakce je křehká. Pokud konkurent změní strukturu stránky, selektor nebo regulární výraz přestane fungovat.
- Ne každý web je vhodné nebo dovolené stahovat. Vždy ověřte podmínky konkrétní služby a preferujte oficiální feed nebo API.
- Párování produktů nemusí být stoprocentní. Pokud produkty nemají shodné EAN, SKU nebo jasný identifikátor, může dojít k chybné interpretaci.
- AI neověřuje pravdivost mimo vstup. Pokud dostane špatná data, vytvoří dobře znějící, ale chybný komentář.
- MVP neřeší pokročilé cenotvorné strategie. Například marži po započtení dopravy, rozdílnou dostupnost, bundle nabídky nebo personalizované ceny.
Právě proto je vhodné tento systém chápat jako denní radar, ne jako plně autonomní cenový engine.
FAQ
Musím umět programovat?
Ne nutně. Pro základní MVP vystačíte s Make, Google Sheets a jednoduchým nastavením modulů. Hodí se ale schopnost číst strukturu HTML a rozumět práci s poli.
Lze místo Google Sheets použít Airtable nebo databázi?
Ano, ale pro tento návod je Google Sheets nejjednodušší start. Pokud už nyní narážíte na objem dat nebo více uživatelů, může být vhodnější robustnější úložiště.
Jak často mám ceny kontrolovat?
Pro MVP stačí jednou denně. Vyšší frekvence dává smysl jen tam, kde konkurence mění ceny několikrát denně a současně máte proces, který umí rychle reagovat.
Jaký model z OpenAI zvolit?
Pro textové shrnutí typicky postačí menší a levnější model. Konkrétní výběr se může měnit podle aktuální nabídky API, proto sledujte oficiální dokumentaci OpenAI.
Může AI rovnou navrhnout novou cenu?
Ano, technicky může. Pro MVP to však nedoporučuji bez pevných pravidel, protože by model mohl navrhnout obchodně nevhodný krok. Bezpečnější je nejprve nasadit jen vyhodnocení a doporučení.
Co když konkurence uvádí cenu bez DPH nebo s jinou dostupností?
Pak je porovnání zkreslené. Takové případy je potřeba buď filtrovat, nebo explicitně označit jako omezení. Do jedné metriky nepatří neporovnatelné ceny.
Závěr
Pokud projdete výše uvedené kroky, budete mít funkční MVP projektu, které každý den samo načte ceny konkurence, uloží historii, spočítá změny, porovná je s vaší cenou a pošle přehledný e-mail s AI vyhodnocením. Přidaná hodnota není jen v samotném monitoringu, ale hlavně v tom, že z dat vznikne akční výstup pro člověka, který o cenách rozhoduje.
Začněte v malém: 10 až 20 produktů, jeden až dva konkurenti, denní běh a jednoduchá pravidla priority. Teprve až bude tento základ stabilní, má smysl rozšiřovat systém o další zdroje, lepší párování produktů nebo pokročilejší doporučení cen. Právě takto vznikají užitečné AI projekty v praxi: ne jako efektní demonstrace, ale jako spolehlivý pracovní nástroj, který každý den šetří čas a zlepšuje rozhodování.
Doporučený další krok
Odkazy v článku
Zdroje ilustračních obrázků
- Stock fotografie: zdroj
Vlastní ilustrační obrázek byl vytvořen pomocí OpenAI Images API.
| Služba | Popis služby | Nabídka |
|---|---|---|
| NordVPN | VPN služba pro ochranu soukromí a bezpečné připojení. | Otevřít nabídku |
| Semrush | SEO a marketingová platforma pro analýzu a růst návštěvnosti. | Otevřít nabídku |
| Make | Pokročilá vizuální automatizace workflow a integrací. | Otevřít nabídku |
| Hostinger | Webhosting a domény pro rychlé spuštění webu. | Otevřít nabídku |
| Fiverr | Marketplace pro freelancery a externí specialisty. | Otevřít nabídku |
| Adobe | Kreativní nástroje pro grafiku, video a digitální obsah. | Otevřít nabídku |
| Canva | Online design nástroj pro grafiku, prezentace a sociální sítě. | Otevřít nabídku |
| Jasper | AI nástroj pro marketingové texty a obsahové kampaně. | Otevřít nabídku |
Poznámka: U uvedených služeb používáme affiliate odkazy. Pokud přes ně provedete nákup, můžeme získat provizi bez navýšení ceny pro vás.
Doporučení ke čtení

AI asistent pro freelancera: 30denní plán, jak zkrátit administrativu o polovinu

AI kontrola přijatých faktur v české firmě: 3 workflow varianty podle ERP systému

Zapier vs. Make pro AI automatizace: rozdíly, které poznáte až při ostrém provozu

