Masz już wszystko, czego potrzebujesz, aby poznać swoich klientów znacznie lepiej niż dziś. Te dane są teraz w Twojej bazie PrestaShop: każde zamówienie, każda data, każda kwota. Problem polega na tym, że panel administracyjny pokazuje je jako jedną długą, nierozróżnioną listę, więc klient, który wydał €4,000 w trzydziestu zamówieniach, na pierwszy rzut oka wygląda dokładnie tak samo jak ktoś, kto dwa lata temu kupił jeden produkt za €19 i nigdy nie wrócił. Analiza RFM to najtańszy i najszybszy sposób, aby odróżnić te dwie osoby — a gdy już potrafisz to zrobić, przestajesz wkładać ten sam wysiłek marketingowy w obie. Bez dyplomu z analizy danych, bez drogiej platformy, bez uczenia maszynowego. Trzy kolumny danych, które już masz.

Ostatnia aktualizacja: czerwiec 2026.

Ten poradnik dotyczy konkretnie RFM: tego, co ta metoda mierzy, jak policzyć ją bezpośrednio na własnych tabelach PrestaShop i jak zamienić uzyskane oceny w segmenty, do których da się prowadzić realny marketing. RFM to metoda porządkowania klientów według wartości i aktywności. Opierają się na niej dwa pokrewne tematy: szerszą praktykę traktowania różnych grup klientów w różny sposób omawiamy w artykule o segmentacji klientów, a jedną liczbę, która powinna stać za całym budżetem marketingowym, opisujemy w tekście o wartości życiowej klienta. Ten wpis skupia się na samej mechanice RFM.

Co naprawdę mierzy RFM

RFM ocenia każdego klienta w trzech niezależnych wymiarach, a na każdy z nich można odpowiedzieć wyłącznie na podstawie historii zamówień:

  • Recency — ile czasu minęło od ostatniego zamówienia. Klient, który kupił w zeszłym tygodniu, jest nadal aktywny; ten, który kupił jedenaście miesięcy temu, odpływa, niezależnie od tego, czy już to zauważyłeś. Świeżość zakupu to najsilniejszy pojedynczy predyktor tego, czy ktoś kupi ponownie, dlatego stoi na pierwszym miejscu.
  • Frequency — ile zamówień złożył klient. Jedno zamówienie to transakcja; dziesięć zamówień to nawyk. Częstotliwość oddziela osoby, którym zdarzyło się kupić, od tych, które wybrały Twój sklep jako domyślne miejsce zakupów.
  • Monetary — ile klient wydał. Klient ze średnim zamówieniem na poziomie €200 zasługuje na inny poziom inwestycji niż klient ze średnim koszykiem za €15. Wartość zakupów mówi, jaki budżet marketingowy dana relacja może uzasadnić.

I co z tego? Każdy z tych wymiarów osobno może wprowadzać w błąd. Klient o wysokiej wartości, który od roku milczy, to problem, nie najlepszy klient. Częsty kupujący z bardzo małym koszykiem jest lojalny, ale niskomarżowy. Dopiero wspólna ocena wszystkich trzech wymiarów zamienia płaską listę klientów w mapę: kogo warto nagradzać, kogo trzeba ratować, a za kim nie opłaca się gonić.

Gdzie dane znajdują się w PrestaShop

Finansowy panel administracyjny PrestaShop pokazujący wartości przychodu, kosztów i marży
PrestaShop przechowuje już dane zamówień i klientów potrzebne do analizy RFM; finansowy panel taki jak ten pokazuje sumy, na podstawie których budujesz segmenty.

Na start nie potrzebujesz narzędzia eksportu ani dodatkowego modułu. Wszystko, czego wymaga RFM, znajduje się w dwóch podstawowych tabelach:

  • ps_orders zawiera id_customer, date_add (znacznik czasu zamówienia), total_paid_real (kwotę faktycznie pobraną) oraz valid, gdzie valid = 1 oznacza zamówienia, które PrestaShop traktuje jako ważne dla statystyk; potwierdź konfigurację statusów zamówień.
  • ps_customer zawiera imię, nazwisko i e-mail, których ostatecznie będziesz potrzebować, aby działać na danym segmencie.

Jedna decyzja ma znaczenie, zanim cokolwiek uruchomisz: licz tylko prawidłowe zamówienia. Jeśli zsumujesz total_paid_real ze wszystkich wierszy w ps_orders, uwzględnisz też utworzone, ale nieważne zamówienia, takie jak anulowane, błędne albo oczekujące na płatność, a Twoje wyniki Monetary staną się fikcją. Filtrowanie po valid = 1 (albo ograniczenie wyników do statusów zamówień, które traktujesz jako "realne pieniądze na koncie") decyduje o tym, czy analiza będzie użyteczna, czy myląca.

Jeśli wolisz w ogóle nie dotykać SQL, panel administracyjny daje surowe składniki w sekcji Klienci → Klienci, a karta szczegółów klienta (oraz widok Statystyki → Najlepsi klienci) pokazuje liczbę zamówień i łączną wartość zakupów. To wystarczy, aby wzrokowo ocenić najwyższą grupę klientów, ale nie skaluje się powyżej kilku tuzinów osób i nie policzy za Ciebie świeżości zakupów — właśnie dlatego podejście z zapytaniem poniżej jest warte tych pięciu minut.

Policz surowe wartości jednym zapytaniem

Uruchom je na swojej bazie danych (w phpMyAdmin, Adminerze albo konsoli SQL hostingu). Wynik to jeden wiersz na klienta z trzema surowymi danymi wejściowymi RFM — liczbą dni od ostatniego zamówienia, liczbą prawidłowych zamówień i łączną wartością zakupów — gotowymi do punktacji. Zmień prefiks ps_, jeśli w Twoim sklepie jest inny (ustawia go _DB_PREFIX_ — w PrestaShop 1.6 znajduje się w config/settings.inc.php, a w wersjach 1.7/8/9 w app/config/parameters.php):

Co chcesz uzyskaćJak jest wyliczane z ps_orders
Recency (R)DATEDIFF(NOW(), MAX(date_add)) dla każdego id_customer — liczba dni od ostatniego prawidłowego zamówienia
Frequency (F)COUNT(id_order) tam, gdzie valid = 1
Monetary (M)SUM(total_paid_real) (użyj sumy dla wartości życiowej klienta albo AVG dla wielkości koszyka — wybierz jedno podejście i trzymaj się go konsekwentnie)

Działająca wersja, pogrupowana według klienta i ograniczona do prawidłowych zamówień:

SELECT id_customer, DATEDIFF(NOW(), MAX(date_add)) AS recency_days, COUNT(id_order) AS frequency, SUM(total_paid_real) AS monetary FROM ps_orders WHERE valid = 1 GROUP BY id_customer ORDER BY monetary DESC;

Wyeksportuj ten wynik do arkusza kalkulacyjnego i masz całą bazę klientów na trzech osiach. Bez data science — jedno GROUP BY i przycisk pobierania.

Zamień surowe liczby na oceny 1–5

Surowych wartości nie da się porównywać między trzema wymiarami — "412 dni", "€1,800" i "7 zamówień" nic nie znaczą zestawione obok siebie. Rozwiązanie polega na uporządkowaniu każdego wymiaru w kwintyle (pięć równych grup) i przypisaniu oceny od 1 do 5:

  • Recency: najnowsze 20% klientów otrzymuje ocenę 5, najbardziej nieaktywne 20% ocenę 1. (Zwróć uwagę na odwrócenie — niska liczba dni od ostatniego zakupu oznacza wysoką ocenę świeżości.)
  • Frequency i Monetary: najlepsze 20% według liczby zamówień i według wartości zakupów otrzymuje ocenę 5, a dolne 20% ocenę 1.

W arkuszu kalkulacyjnym to jedna formuła na kolumnę. Jeśli recency_days masz w kolumnie B, =MAX(1,MIN(5,6-CEILING(MAX(PERCENTRANK($B$2:$B$10000,B2),0.000001)*5,1))) zamienia każdą wartość na ocenę świeżości w skali 1–5 (6- obsługuje odwrócenie, a ograniczenie MAX/MIN utrzymuje każdy wynik w zakresie 1–5); dla częstotliwości i wartości zakupów usuń 6-, zostawiając to samo ograniczenie MAX(1,MIN(5,…)), aby te oceny również pozostały w zakresie 1–5. Wynikiem jest trzycyfrowy kod dla każdego klienta — 555 to Twój najlepszy aktywny klient, 111 to ktoś praktycznie utracony.

Kwintyle są ważne, bo są względne wobec Twojego własnego sklepu. Nie istnieje uniwersalnie "dobra" świeżość zakupu; najlepszy klient w modelu subskrypcji kawy kupuje co miesiąc, a najlepszy klient sklepu z meblami biurowymi co kilka lat. Ocena względem własnego rozkładu sprawia, że metoda sama dopasowuje się do tego, co sprzedajesz.

Segmenty, które naprawdę mają znaczenie

5×5×5 daje 125 możliwych kodów. Nie potrzebujesz 125 planów marketingowych — to klasyczna pułapka, która zamienia RFM w projekt, którego nigdy się nie wdraża. Sprowadź je do kilku segmentów, dla których da się napisać realną kampanię:

SegmentPrzybliżony wzorzec RFMCo Ci mówiąCo zrobić
Najlepsi klienciR 5, F 4–5, M 4–5Kupili niedawno, kupują często i wydają dużo — Twoje najlepsze relacjeNagradzaj, nie rabatuj. Wcześniejszy dostęp, szczere podziękowanie, traktowanie VIP. To także Twoje najsilniejsze źródło poleceń i opinii.
LojalniR 3–4, F 4–5, M 3–5Kupują często, choć niekoniecznie mają największe koszyki albo najnowsze zamówieniaPodtrzymuj nawyk. Spersonalizowane rekomendacje, przypomnienia o uzupełnieniu zapasów, regularny kontakt.
Niedawni / nowiR 4–5, F 1Właśnie złożyli pierwsze zamówienie — relacja jest kruchaProwadź ich do drugiego zamówienia. Sekwencja powitalna i powód, aby wrócić; przejście od pierwszego do drugiego zakupu to najtrudniejsza i najcenniejsza konwersja, jaką uruchomisz.
Zagrożeni odejściemR 2–3, F 3–5, M 3–5Kiedyś wartościowi, teraz zwalniają — najdroższy segment do zignorowaniaOdzyskaj ich, dopóki jest jeszcze relacja do uratowania. "Tęsknimy za Tobą", realna zachęta albo jednozdaniowa prośba o opinię.
UtraceniR 1, F 1–2Dawno odeszli i nigdy nie kupowali częstoJedna tania próba odzyskania. Jeśli milczą, przestań wysyłać e-maile — wysyłka na martwe adresy po cichu psuje dostarczalność dla wszystkich pozostałych.

Zwróć uwagę na priorytet: segment Zagrożeni odejściem to miejsce, w którym RFM naprawdę na siebie zarabia. To osoby, które już udowodniły, że będą wydawać pieniądze w Twoim sklepie, uchwycone w momencie, gdy zaczynają odpływać. Odzyskanie jednej z nich kosztuje ułamek tego, co pozyskanie obcej osoby — i właśnie na tym opiera się cała logika świadomej strategii retencji.

Jak zamienić segment w działanie w PrestaShop

Ocena jest bezwartościowa, dopóki nie zmienia tego, co wysyłasz. Gdy masz listę wartości id_customer dla danego segmentu, masz trzy praktyczne ścieżki:

  • Grupy klientów. Utwórz grupę w sekcji Klienci → Grupy — na przykład "Najlepsi klienci" — i przypisz do niej klientów z najwyższą punktacją. Grupy są w PrestaShop pełnoprawnym mechanizmem: możesz podpiąć do nich reguły cen katalogu (Katalog → Rabaty → Reguły cen katalogu), ograniczyć kupon do konkretnej grupy albo pokazać ceny zależne od grupy. Tak dajesz Najlepszym klientom wcześniejszy dostęp albo Lojalnym klientom stały rabat bez ręcznej pracy za każdym razem.
  • Reguły koszyka / kupony. W sekcji Katalog → Rabaty → Reguły koszyka możesz ograniczyć kupon do konkretnego klienta lub grupy, ustawić limit użyć i zamknąć go w określonych datach — to naturalny mechanizm dla kodu odzyskującego klientów zagrożonych odejściem albo benefitu tylko dla Najlepszych klientów.
  • E-mail i reklamy. Wyeksportuj adresy e-mail z segmentu i wgraj je jako listę albo niestandardową grupę odbiorców. Wyślij grupie Zagrożonych odejściem kampanię odzyskującą, Niedawnym klientom sekwencję rozwijającą relację, Najlepszym klientom ekskluzywny podgląd — a na podstawie Najlepszych klientów zbuduj podobną grupę odbiorców, aby znaleźć więcej osób podobnych do najlepszych klientów. Komunikacja per segment konsekwentnie wygrywa z jedną masową wysyłką do całej listy.

To, co wysyłasz po zamówieniu, jest częścią tego samego mechanizmu — mocne doświadczenie po zakupie od początku pomaga przesunąć Niedawnego klienta do kolumny Lojalnych.

Jak często przeliczać RFM — i dlaczego nie jest to "ustaw raz"

RFM to migawka, a klienci stale przemieszczają się między segmentami. Najlepszy klient, który milczy przez sześć miesięcy, staje się Zagrożony odejściem; Niedawny klient, który zamówi ponownie, staje się Lojalny. Oceny są użyteczne tylko wtedy, gdy śledzą te zmiany:

  • Co miesiąc dla bieżących decyzji marketingowych — kto dostanie w tym miesiącu ofertę odzyskującą, kto podgląd VIP.
  • Co kwartał dla strategii — czy segment Najlepszych klientów rośnie, czy maleje?
  • Co roku do porównania rok do roku.

Najbardziej użyteczną rzeczą, jaką RFM daje z czasem, nie są same segmenty, tylko ich ruch. Jeśli liczba Zagrożonych odejściem rośnie, a Najlepsi klienci się kurczą, tracisz retencję niezależnie od tego, co mówi przychód na nagłówku raportu — to sygnał, który całkowicie ginie w zagregowanym wykresie sprzedaży. Obserwowanie zmian wielkości segmentów ostrzega znacznie wcześniej niż czekanie, aż linia przychodu zacznie się załamywać.

Błędy, które marnują cały wysiłek

  • Liczenie nieprawidłowych zamówień. Najczęstszy błąd danych — jeśli nie filtrujesz po valid = 1, zwroty, anulowania i nieudane płatności zawyżają częstotliwość oraz wartość zakupów i po cichu psują każdy segment. Napraw to w pierwszej kolejności.
  • Nadmierna segmentacja. 125 kodów to nie 125 strategii. Pięć do ośmiu segmentów, na których da się działać, to górna granica dla sklepu prowadzonego przez ludzi. Zacznij od dwóch — Najlepszych klientów i Zagrożonych odejściem — uruchom dla nich kampanie, a potem rozszerzaj.
  • Ignorowanie cyklu zakupowego. Sklep sprzedający roczne subskrypcje albo drogie produkty trwałe naturalnie ma niską częstotliwość zakupów; to nie znaczy, że ci klienci są słabi. Oceniaj względem własnych kwintyli (co ta metoda już robi) i interpretuj częstotliwość w kontekście tego, jak często Twój produkt powinien być kupowany ponownie.
  • Analiza bez działania. Arkusz kalkulacyjny nie jest rezultatem; rezultatem jest zmieniony e-mail i nowa grupa klientów. RFM, które nie zmienia tego, co wysyłasz, jest hobby, nie marketingiem.

Najczęstsze pytania o RFM w PrestaShop

Którą tabelę i kolumnę zsumować dla "monetary"? Zsumuj total_paid_real w ps_orders, grupując po id_customer — to kwota faktycznie pobrana, a nie nominalna suma zamówienia. Filtruj po valid = 1, aby anulowane, błędne i oczekujące na płatność wiersze nie zawyżały wyniku. Użyj SUM dla wartości życiowej klienta albo AVG dla wielkości koszyka, ale wybierz jedno i trzymaj się tego konsekwentnie dla każdego klienta.

Czy potrzebuję modułu albo wtyczki, aby uruchomić RFM? Nie. Cała analiza to jedno zapytanie GROUP BY do ps_orders plus formuła kwintylowa w arkuszu kalkulacyjnym. Jeśli wolisz nie dotykać SQL, Statystyki → Najlepsi klienci pokaże liczbę zamówień i wartość zakupów, aby wzrokowo ocenić najlepszą grupę — po prostu nie policzy świeżości i nie skaluje się powyżej kilku tuzinów klientów, dlatego zapytanie jest warte pięciu minut.

Dlaczego moja lista "najlepszych klientów" wygląda źle? Prawie zawsze dlatego, że liczone są nieprawidłowe zamówienia. Jeśli sumujesz każdy wiersz w ps_orders niezależnie od statusu, zwroty, anulowania i nieudane płatności trafiają do częstotliwości oraz wartości zakupów i psują każdy segment. Dodaj WHERE valid = 1 (albo ogranicz wyniki do statusów zamówień, które traktujesz jako "realne pieniądze na koncie") i uruchom analizę ponownie.

Mój sklep sprzedaje drogie produkty, więc częstotliwość u wszystkich jest niska — czy RFM nadal działa? Tak, bo kwintyle oceniają każdego klienta względem Twojego własnego rozkładu, a nie branżowego benchmarku. Najlepszy klient dla rocznych produktów trwałych kupuje dużo rzadziej niż najlepszy klient dla comiesięcznych produktów konsumpcyjnych, a metoda sama dopasowuje się do tego, co sprzedajesz. Interpretuj częstotliwość w kontekście tego, jak często Twój produkt ma być kupowany ponownie.

Jak często przeliczać oceny? Co miesiąc dla bieżących decyzji marketingowych (kto dostanie w tym miesiącu ofertę odzyskującą albo podgląd VIP), co kwartał dla strategii (czy segment Najlepszych klientów rośnie, czy maleje?) i co roku do porównania rok do roku. Najbardziej użytecznym sygnałem w czasie jest ruch segmentów — rosnąca liczba Zagrożonych odejściem przy kurczących się Najlepszych klientach ostrzega o problemie z retencją długo przed tym, zanim załamie się linia przychodu.

RFM to jedno z tych rzadkich ćwiczeń, które prawie nic nie kosztuje, a szybko się zwraca: dane są już w ps_orders, matematyka to kwintyl, a zysk polega na tym, że wreszcie poświęcasz czas i budżet klientom, którzy to uzasadniają, zamiast nierozróżnionej liście. Jeśli jesteś jeszcze na początku i masz mało zamówień, najpierw skup się na zdobyciu wolumenu, który sprawia, że segmentacja ma sens — o tym jest tekst o pierwszych 100 zamówieniach. Gdy zamówienia już płyną, RFM pomaga dopilnować, aby wracali właściwi klienci — i aby czytać dane segmentów razem z rzeczywistymi marżami, dzięki czemu wysiłek wkładany w każdą grupę naprawdę się opłaca.

Udostępnij ten wpis:
David Miller

David Miller

Założyciel, mypresta.rocks

David Miller to specjalista PrestaShop z ponad dekadą praktycznego doświadczenia i założyciel mypresta.rocks — studia programistycznego z Tychów. Tworzy i utrzymuje katalog 152 modułów PrestaShop — w tym 21 pakietów „Revolution" obejmujących SEO, checkout, bezpieczeństwo, wydajność, marketing, wyszukiwanie, wsparcie i operacje magazynowe — które każdego dnia usprawniają realne sklepy, testowanych na PrestaShop 1.7.8, 8.x i 9.x. Sprawuje również opiekę nad sklepami produkcyjnymi generującymi miliony rocznego obrotu, dlatego jego pracę ocenia się po realnej sprzedaży, a nie po wersjach demo. Jego doświadczenie obejmuje pełen zakres e-commerce — wydajność, bezpieczeństwo, SEO i marketing — oraz wykracza poza PrestaShop, sięgając WooCommerce, Shopify i systemów tworzonych na zamówienie. Na blogu pisze o technicznej stronie PrestaShop: co platforma naprawdę robi pod maską, co psuje się na produkcji i które rozwiązania faktycznie się sprawdzają.

Spodobał Ci się ten artykuł?

Otrzymuj nasze najnowsze porady, przewodniki i aktualizacje modułów prosto na swoją skrzynkę.

Komentarze

Brak komentarzy. Bądź pierwszy!

Bądź pierwszy: zadaj pytanie albo podziel się przydatną opinią.

Ładowanie...
Do góry