Gdy spada sprzedaż na Allegro, zacznij od rozbicia spadku na produkty i porównania z innymi kanałami. Jeśli spadł jeden produkt, i to wszędzie, przyczyna jest w tym produkcie (stan, cena, oferta), a nie w algorytmie Allegro. W danych z BaseLinkera (Base) sprawdzisz to kilkoma metodami API tylko do odczytu, które Claude Code wywoła sam.
Sprawdziliśmy to na Ochrze, sklepie z ceramiką, który sprzedaje na Allegro, w sklepie internetowym i na Erli. W tygodniu 19–25 października zamówień z Allegro było o 43% mniej niż tydzień wcześniej. Prawie cały spadek dał jeden wyprzedany kubek.
| Co widać w danych | Co to zwykle znaczy | Co sprawdzić dalej |
|---|---|---|
| Spadł jeden produkt, we wszystkich kanałach | Brak towaru albo zmiana ceny | Stan i dostawy w katalogu, historia ceny w zamówieniach |
| Spadł jeden produkt, tylko na Allegro | Problem z ofertą: zakończona, gorsza cena niż u konkurencji, inne przypisanie do produktu | Oferta w Sales Center, ceny konkurencji |
| Spadło całe Allegro, inne kanały stoją | Widoczność, oceny, zmiany na Allegro | Statystyki i jakość sprzedaży w Sales Center |
| Spadły wszystkie kanały | Sezon, rynek, problem w sklepie lub magazynie | Ten sam tydzień rok wcześniej, czas wysyłki |
| Mniej zamówień, podobna wartość | Inny koszyk, np. mniej tanich produktów | Wartość sprzedaży i średnie zamówienie |
Pytanie, które zadaliśmy
Pytanie brzmiało tak, jak zadałby je właściciel sklepu w poniedziałek rano:
Sprzedaż na Allegro w zeszłym tygodniu wyraźnie siadła. Sprawdź w Base,
o ile spadła, czy dotyczy to też sklepu i Erli, i co jest przyczyną.
Porównaj tydzień 19–25.10.2026 z czterema poprzednimi tygodniami.
Anulowane zamówienia pomiń. Danych kupujących nie cytuj.
Dwie rzeczy w tym poleceniu robią różnicę. Daty: bez nich model sam wybiera okres i trudno porównać wynik z panelem. I prośba o porównanie z innymi kanałami, bo bez niej dostaniesz opis Allegro w oderwaniu od reszty sklepu.
Claude Code uruchomiliśmy w folderze z plikiem CLAUDE.md. Opisaliśmy w nim sklep i trzy zasady liczenia: datę zamówienia bierzemy z pola date_add, anulowane zamówienia pomijamy, a koszt zakupu jest w polu average_cost. Claude czyta ten plik na starcie każdej sesji, więc zasad nie trzeba powtarzać w każdym pytaniu.
Skąd Claude bierze dane z Base
Są dwie drogi i obie prowadzą do tych samych metod API.
MCP Base. Base udostępnia serwer MCP pod adresem https://mcp.base.com/mcp, z logowaniem kontem Base (OAuth). W Claude.ai i Claude Desktop dodajesz go jako custom connector, w innych klientach MCP podajesz ten sam adres. Źródło: pomoc Base, MCP w Base.com W Claude Code to jedno polecenie, a logowanie kończysz w przeglądarce po wpisaniu /mcp w sesji. Źródło: dokumentacja Claude Code, MCP
claude mcp add --transport http base https://mcp.base.com/mcp
Pomoc Base opisuje jedno narzędzie, ask_sidebar, czyli asystenta z panelu, który odpowiada tekstem. W naszym teście połączenia z 22 października 2026 r. Claude widział trzy narzędzia: ask_agent, run_api_call_readonly (każda metoda get) i run_api_call_all (także zapisy, z potwierdzeniem przed zmianą). Więcej o różnicach piszemy w artykule BaseLinker (Base) MCP w Claude i ChatGPT.

Opis narzędzia w pomocy Base. 1 Nazwa narzędzia, które opisuje pomoc. 2 Odpowiedź tekstowa zamiast danych. 3 Brak zmian w danych konta. 4 Logowanie kontem Base. W naszym teście z 22 października lista narzędzi była dłuższa niż w tej tabeli.

Serwer base w Claude Code, polecenie /mcp. 1 Serwer i trzy narzędzia. 2 Run API call (read-only), czyli run_api_call_readonly: tylko metody get. Tego narzędzia użyliśmy w tym przykładzie. 3 Run API call (all methods), czyli run_api_call_all, oznaczone jako destructive, bo może zmieniać dane.
API z tokenem. Te same metody get wywołasz bez MCP, przez REST API Base z tokenem tylko do odczytu. W tym przykładzie Claude Code korzystał z MCP Base i narzędzia run_api_call_readonly, a tokenem sprawdziliśmy liczby drugi raz, osobnym skryptem. Token generujesz w ustawieniach konta, w sekcji API; limit to 100 zapytań na minutę. Źródło: dokumentacja API BaseLinker
Krok 1: z jakiego okresu są zamówienia
Claude zaczął od instrukcji API, którą udostępnia serwer MCP Base, i od list statusów (getOrderStatusList) i kanałów (getOrderSources), żeby wiedzieć, który status oznacza anulowanie i który kanał to Allegro. Potem pobrał zamówienia metodą getOrders, od poniedziałku 21 września:
{ "date_from": 1789941600, "get_unconfirmed_orders": false }
getOrders zwraca najwyżej 100 zamówień na wywołanie. Claude powtarzał zapytanie od daty date_add ostatniego zamówienia plus jedna sekunda, aż dostał mniej niż 100. Wyszły cztery wywołania i 376 zamówień z okresu od 21 września do 25 października 2026 r.

Przejście do kolejnej strony zamówień. 1 Na stronie jest 100 zamówień, więc to nie koniec. 2 date_add ostatniego zamówienia na stronie. 3 Następne wywołanie zaczyna od tej daty plus jedna sekunda. 4 Strona ma ok. 190 tys. znaków, za dużo na rozmowę, więc Claude Code zapisuje ją do pliku.
Dokumentacja Base podpowiada stronicowanie po dacie potwierdzenia (date_confirmed_from). Pytaliśmy o to, kiedy kupujący kupił, więc w CLAUDE.md kazaliśmy liczyć po dacie dodania zamówienia. Źródło: dokumentacja API BaseLinker, getOrders
Krok 2: tydzień po tygodniu, w podziale na kanały
Sprzedaż to wartość produktów brutto bez kosztu dostawy, bez anulowanych zamówień.
| Tydzień | Allegro: zamówienia | Allegro: sprzedaż | Sklep internetowy | Erli |
|---|---|---|---|---|
| 21–27.09 | 42 | 4 728 zł | 25 zam., 3 567 zł | 4 zam., 497 zł |
| 28.09–4.10 | 36 | 5 453 zł | 21 zam., 3 300 zł | 14 zam., 1 363 zł |
| 5–11.10 | 43 | 6 066 zł | 23 zam., 3 766 zł | 7 zam., 991 zł |
| 12–18.10 | 49 | 6 418 zł | 20 zam., 3 552 zł | 12 zam., 2 221 zł |
| 19–25.10 | 28 | 5 070 zł | 22 zam., 4 048 zł | 15 zam., 1 613 zł |
Zamówień z Allegro było o 43% mniej niż tydzień wcześniej, ale wartość sprzedaży spadła o 21%. Wobec średniej z czterech poprzednich tygodni to 34% mniej zamówień i 11% mniej sprzedaży, bo tydzień 12–18.10 był w tym zestawieniu najlepszy. Sklep internetowy i Erli w tym samym tygodniu nie spadły. Pierwsza hipoteza mogłaby więc brzmieć „Allegro obcięło widoczność”. Zanim ją przyjmiesz, rozbij Allegro na produkty.
Krok 3: który produkt zniknął
Każde zamówienie z getOrders ma listę produktów z SKU, ceną i liczbą sztuk. Sztuki sprzedane na Allegro, tydzień po tygodniu:
| Produkt | 21–27.09 | 28.09–4.10 | 5–11.10 | 12–18.10 | 19–25.10 |
|---|---|---|---|---|---|
| Kubek „Glina” 350 ml | 18 | 19 | 19 | 26 | 4 |
| Talerz płaski „Ochra” 27 cm | 8 | 8 | 3 | 5 | 6 |
| Miseczki „Ziarno” 3 szt. | 4 | 3 | 3 | 2 | 6 |
| Pozostałe produkty razem | 34 | 43 | 51 | 47 | 38 |
Zamówień z Allegro bez tego kubka było w tych tygodniach 25, 20, 27, 26 i 26, więc ich liczba się nie zmieniła. Sztuk innych produktów sprzedało się w ostatnim tygodniu mniej, bo część kupujących brała kubek razem z czymś jeszcze. Spadek zamówień to jeden produkt, który do połowy października był w ponad jednej trzeciej zamówień z Allegro.
Ostatnie zamówienie z kubkiem przyszło z Allegro 20 października, ze sklepu internetowego 21 października, z Erli 19 października. Kubek przestał się sprzedawać we wszystkich kanałach naraz, a to wskazuje na produkt, nie na Allegro.
Krok 4: stan w katalogu
Claude znalazł identyfikator katalogu metodą getInventories i sprawdził kubek metodą getInventoryProductsData (parametry: identyfikator katalogu i lista produktów). Odpowiedź, skrócona do pól, które rozstrzygają sprawę:
{
"sku": "<SKU kubka>",
"stock": { "<magazyn>": 0 },
"reservations": { "<magazyn>": 0 },
"incoming": { "<magazyn>": 0 },
"prices": { "<grupa cen>": 69 },
"average_cost": 24
}
Stan zero, nic w drodze, cena bez zmian: 69 zł w każdym zamówieniu z ostatnich tygodni. Kubek się wyprzedał i nikt nie zamówił dostawy.

Kubek w katalogu, rozwinięte wywołanie w sesji. 1 getInventoryProductsData przez run_api_call_readonly. 2 Stan w magazynie: 0. 3 W drodze: 0. 4 Średni koszt zakupu: 24 zł netto. 5 Początek odpowiedzi. Identyfikatory produktu, katalogu, magazynu i grupy cen zamaskowane.
Odpowiedź
Tak brzmiała odpowiedź Claude’a, w skrócie (całą widać na zrzucie na początku artykułu):
Sprzedaż na Allegro spadła głównie dlatego, że skończył się bestseller: Kubek „Glina” 350 ml (OCH-KUB-350). Sklep i Erli nie spadły, w ostatnim tygodniu sprzedały nawet więcej. […] Na Allegro sprzedawał się po 18–26 sztuk tygodniowo, a w tygodniu 19–25.10 tylko 4. Ostatnią sztukę Allegro sprzedało 20.10, sklep 21.10. Od tego dnia kubek nie sprzedał się w żadnym kanale. W Base ma teraz stan 0 i nie ma zapisanej żadnej dostawy w drodze. Ten jeden produkt tłumaczy prawie cały spadek: brakuje około 16 sztuk tygodniowo, czyli około 1 100 zł brutto. […] Cena kubka się nie zmieniła (69 zł). […] Co proponuję: zamówić kubek 350 ml u dostawcy i wpisać dostawę w Base.
Ten sam stan widać w panelu Base, na liście produktów:

Lista produktów w panelu Base. 1 Kolumna stanu. 2 Kubek „Glina” 350 ml: 0 sztuk przy cenie 69 zł. Identyfikatory produktów zamaskowane.
Dla marży policzyliśmy to samo z kosztami. Base nie przechowuje prowizji kanałów ani kosztu wysyłki, więc wzięliśmy je z arkusza sklepu: prowizja Allegro 11,5% od wartości z dostawą, wysyłka 13,50 zł na zamówienie, koszt zakupu z pola average_cost, ceny bez VAT. Wynik na Allegro po tych kosztach: 1 093 zł w tygodniu 12–18.10 i 813 zł tydzień później. Jeśli koszty kanałów masz w kilku miejscach (faktury Allegro, umowa z kurierem, ERP), to jest najtrudniejszy krok. Napisz, gdzie je trzymasz, a podpowiemy, jak je połączyć z danymi z Base.
Sprawdzenie drugim sposobem
Odpowiedź modelu warto sprawdzić czymś, czego model nie liczył w ten sam sposób. Zrobiliśmy trzy rzeczy:
- Dzień po dniu zamiast tygodni. Zamówienia z Allegro z kubkiem kończą się 20 października, a zamówienia bez kubka idą w ostatnich dziesięciu dniach równo, po 2 do 7 dziennie. Spadek nie zależy od tego, jak podzielimy tygodnie.
- Katalog z arkusza. Cena brutto i koszt zakupu kubka w osobnym pliku produktów (69 zł i 24 zł) zgadzają się z polami
pricesiaverage_costw Base. Marża nie opiera się więc na jednym źródle. - Skrypt bez modelu. Te same tygodnie, kanały i produkty policzyliśmy osobnym skryptem w Pythonie, tokenem API tylko do odczytu. Liczby zgadzają się z odpowiedzią Claude’a co do zamówienia i złotówki. Skrypt z raportem tygodniowym opisaliśmy w artykule o API BaseLinkera (Base) i metodzie getOrders.
Co zauważyliśmy
- Liczba zamówień przesadza. Zamówień z Allegro było o 43% mniej, a wartość sprzedaży spadła o 21%, bo średnie zamówienie wzrosło z 131 zł do 181 zł: zniknął tani kubek, zostały droższe koszyki. Claude podał oba wskaźniki i porównał je też ze średnią z czterech tygodni. Zawsze proś o oba wskaźniki i o więcej niż jeden tydzień do porównania.
- Strona zamówień nie mieści się w rozmowie. 100 zamówień z
getOrdersto ok. 190 tys. znaków JSON. Claude Code zapisał każdą stronę do pliku i policzył je skryptem w Pythonie, a do rozmowy trafiły tylko wyniki. Dlatego w sesji obok wywołań Base widać polecenia powłoki. - Za pierwszym razem liczenie marży się wyłożyło. W danych było jedno zamówienie spoza kanałów sprzedaży, z produktem, którego nie ma w katalogu, więc zabrakło dla niego kosztu zakupu. Dopiero po pominięciu zamówień spoza Allegro, sklepu i Erli liczby się zgodziły. Przy własnym sklepie poproś model, żeby wypisał zamówienia, których nie umiał przypisać do kanału.
- Base nie ma historii stanów. API pokazuje stan teraz. Dzień, w którym kubek się skończył, wynika z ostatniej sprzedaży, a nie z zapisu w katalogu. Czy oferta na Allegro jest zakończona, sprawdzisz w Sales Center albo w liście ofert w Base.
- Claude zauważył koniec danych. Ostatnie zamówienie w Base było z 25 października rano i od tamtej pory nie przyszło żadne, w żadnym kanale. Na koncie z danymi przykładowymi to po prostu koniec danych. W prawdziwym sklepie to sygnał, żeby od razu sprawdzić synchronizację zamówień.
- Przy okazji wyszło, co utknęło. Dwa zamówienia ze sklepu internetowego od 17 i 18 października nadal miały status nowych. Do pytania o sprzedaż nie należały, ale to dobra rzecz do sprawdzenia tego samego dnia.
- Kolejne braki widać w tych samych danych. Z tych samych zamówień i stanów w katalogu policzyliśmy, które produkty skończą się w ciągu tygodnia przy obecnym tempie sprzedaży:
| Produkt | Stan | Sprzedaż tygodniowo (śr. z 4 tygodni, wszystkie kanały) | Wystarczy na |
|---|---|---|---|
| Filiżanka espresso „Ziarno” 90 ml | 6 | ok. 10 | ok. 4 dni |
| Miseczki „Ziarno” 3 szt. | 4 | ok. 7 | ok. 4 dni |
| Zestaw 4 talerzy „Ochra” | 3 | ok. 3, w ostatnich dwóch tygodniach więcej | ok. 7 dni, przy ostatnim tempie mniej |
Czego te dane nie powiedzą
Base widzi zamówienia, katalog i stany. Nie widzi tego, co dzieje się po stronie Allegro przed zakupem: wyświetleń ofert, pozycji w wynikach, cen konkurencji, kampanii Allegro Ads ani ocen. Jeśli w kroku 3 spada całe Allegro, a nie jeden produkt, dalsza część analizy dzieje się w Sales Center. Base w swoim poradniku o spadku sprzedaży na Allegro wymienia jako przyczyny między innymi cenę i konkurencję, jakość obsługi i oceny, dostępność produktów i zmiany na platformie. Źródło: blog Base, spadek sprzedaży na Allegro
Te same pytania co tydzień
Kiedy jedno pytanie zadziała, można je powtarzać w poniedziałek rano. Kilka, które na tym samym koncie dały odpowiedź z tych samych metod:
- Co skończy się w tym tygodniu przy obecnym tempie sprzedaży?
- Które zamówienia stoją w jednym statusie dłużej niż dwa dni?
- Ile zostało z każdego kanału po prowizji, wysyłce i koszcie zakupu w zeszłym tygodniu?
- O ile mogę obniżyć cenę każdego produktu na Allegro, żeby nie dopłacać? To pytanie policzyliśmy przed Black Weeks w artykule o kalkulatorze marży Allegro z Claude’em.
- Który produkt sprzedaje się w sklepie, a na Allegro nie? Ten przykład policzyliśmy w artykule o Allegro MCP i danych sprzedawcy w Claude.
Pytanie, które ma przychodzić co tydzień, możesz zapisać jako zaplanowane zadanie w Claude Cowork, który liczy w chmurze, także przy wyłączonym komputerze. Polecenie z tego przykładu i ustawienia konektora Base opisaliśmy w artykule o Claude Cowork w sklepie internetowym.
Każde z nich wymaga tylko metod odczytu. Zapis (zmiana statusu, stanu, ceny) to osobna decyzja, z listą dozwolonych operacji i testem. Opisaliśmy ją w artykule o MCP Base w Claude i ChatGPT. Jeśli dane w Base nie zgadzają się z ERP albo magazynem, model odpowie pewnie na podstawie złych liczb. Wtedy zacznij od audytu integracji Base i Apilo z ERP i magazynem.