SuiteCRM Polska

Darmowy system CRM na licencji Open Source

Jak zbudować lead scoring w SuiteCRM bez wtyczek? Calculated Fields i Workflow

Lead scoring w SuiteCRM można zbudować bez wtyczek, używając modułu Workflow z akcją Calculated Fields: formuła przelicza punkty z pól rekordu Leads i zapisuje wynik w polu liczbowym dodanym w Studio. SuiteCRM nie ma wbudowanego scoringu, ale ten mechanizm wystarcza do modelu opartego na dopasowaniu i zaangażowaniu leada. Poniżej: konfiguracja w SuiteCRM 8, przykładowa formuła, próg kwalifikacji i najczęstsze błędy.

Czy SuiteCRM ma wbudowany lead scoring?

Nie. SuiteCRM nie ma natywnego mechanizmu scoringu leadów: moduł Leads przechowuje status, źródło i dane kontaktowe, ale nie przelicza ich na punkty. Scoring buduje się z dwóch standardowych elementów SuiteCRM: akcji Calculated Fields w module Workflow (historycznie Advanced OpenWorkflow, AOW) oraz własnego pola liczbowego utworzonego w Studio. Płatne dodatki ze SuiteCRM Store, które dodają pole kalkulowane w Studio, nie są do tego potrzebne.

Pełny opis składni i wszystkich funkcji akcji znajduje się w artykule Calculated Fields w SuiteCRM. Poniżej używamy wyłącznie funkcji potrzebnych do scoringu.

lead scoring SuiteCRM

Jak działa akcja Calculated Fields w Workflow?

Akcja Calculated Fields oblicza formułę na wartościach rekordu i zapisuje wynik w wybranym polu tego samego rekordu. Parametry dodaje się z listy pól modułu i oznacza jako {P0}, {P1} itd.; pola powiązanych rekordów otrzymują oznaczenia {R0}, {R1}. Funkcje zapisuje się w nawiasach klamrowych, np. {add(3; 4)}, i można je zagnieżdżać. Formuła uruchamia się przy zapisie rekordu, w schedulerze albo w obu przypadkach, zależnie od ustawień Workflow.

FunkcjaZastosowanie w scoringu
equal, notEmptySprawdzenie wartości pola (źródło leada) lub jego uzupełnienia (telefon)
greaterThan, greaterThanOrEqualPorównanie liczb, np. liczby dni bezczynności z progiem
position, lowercaseWyszukanie fragmentu tekstu w stanowisku; position zwraca -1, gdy fragmentu brak
multiply, add, subtractPrzemnożenie wyniku warunku przez wagę oraz sumowanie i odejmowanie składników
datediff, nowLiczba dni między datą ostatniej aktywności a dniem bieżącym
ifThenElseWarunek z dwiema gałęziami; w scoringu zwykle zbędny (patrz niżej)

Funkcje logiczne, takie jak equal czy notEmpty, zwracają 1 lub 0. Dzięki temu punkty liczy się jako iloczyn wyniku warunku i wagi, np. {multiply({equal({P0}; Partner)}; 15)}, zamiast zagnieżdżać ifThenElse. Jedno kryterium to jeden składnik sumy, więc zmiana wagi sprowadza się do edycji jednej liczby.

Jak zaprojektować model punktowy dla leadów?

Model punktowy dzieli kryteria na dopasowanie (kim jest lead) i zaangażowanie (co robi lead), a każdemu przypisuje wagę. Poniższy model jest hipotetyczny: wagi i próg trzeba skalibrować na historycznych leadach, które zakończyły się sprzedażą. Maksymalny wynik wynosi tu 95 punktów, a próg przekazania leada handlowcowi ustawiono na 50.

KryteriumPole w LeadsWarunekPunkty
Źródło leadaŹródło (lead_source)Partner+15
StanowiskoStanowisko (title)zawiera „dyrektor”+20
BranżaPole własne (lista)produkcja+10
TelefonTelefon służbowy (phone_work)uzupełniony+5
Pobranie materiałuPole własne (checkbox)zaznaczone+15
Umówione spotkaniePole własne (checkbox)zaznaczone+30
Brak aktywnościPole własne (data)ponad 30 dni−10

Pola własne utworzone w Studio otrzymują w bazie danych sufiks _c, np. score_c. W parametrach Workflow wybiera się je z listy po etykiecie, więc sufiks nie pojawia się w formule.

Jak krok po kroku skonfigurować scoring w SuiteCRM 8?

Konfiguracja wymaga trzech etapów: pól w Studio, Workflow liczącego punkty przy zapisie oraz Workflow uruchamianego schedulerem. Poniższe kroki dotyczą pierwszego z nich i wspólnej formuły.

  1. W Admin → Studio → Leads → Fields dodaj pole liczbowe (Integer) „Lead Score” oraz pola własne z tabeli modelu: listę „Branża”, dwa checkboxy i datę ostatniej aktywności. Dodaj pole Lead Score do widoku szczegółów i listy.
  2. W Admin → Workflow utwórz nowy Workflow dla modułu Leads. Ustaw Run: Only on save, Run on: All Records i zaznacz Repeated runs, aby wynik przeliczał się przy każdej edycji.
  3. Nie dodawaj warunków, jeśli scoring ma obejmować wszystkie leady. Jeśli chcesz pominąć leady zamknięte, dodaj warunek wykluczający statusy Converted i Dead.
  4. Dodaj akcję Calculated Fields i siedem parametrów (P0–P6) w kolejności z tabeli poniżej.
  5. Dodaj formułę dla pola Lead Score i wklej formułę z następnej sekcji.
  6. Zapisz Workflow, utwórz testowego leada i porównaj wynik z obliczeniem ręcznym dla kilku kombinacji danych.

Jak wygląda gotowa formuła?

Poniższa formuła sumuje sześć składników punktowych i odejmuje karę za bezczynność. Parametry zostały dodane w kolejności z tabeli, więc P0 to źródło leada, a P6 data ostatniej aktywności. Dla pól listy i checkboxów wybierz wartość surową (raw), czyli tę zapisaną w bazie danych, a nie etykietę.

IdentyfikatorPoleUwagi
{P0}Źródło (lead_source)wartość surowa
{P1}Stanowisko (title)tekst
{P2}Branża (pole własne)wartość surowa
{P3}Telefon służbowy (phone_work)tekst
{P4}Pobrano materiał (checkbox)wartość surowa: 1 lub 0
{P5}Umówione spotkanie (checkbox)wartość surowa: 1 lub 0
{P6}Data ostatniej aktywnościpole daty

{subtract({add({add({add({add({add({multiply({equal({P0}; Partner)}; 15)}; {multiply({greaterThanOrEqual({position({lowercase({P1})}; dyrektor)}; 0)}; 20)})}; {multiply({equal({P2}; produkcja)}; 10)})}; {multiply({notEmpty({P3})}; 5)})}; {multiply({P4}; 15)})}; {multiply({P5}; 30)})}; {multiply({greaterThan({datediff({P6}; {now(Y-m-d)}; days)}; 30)}; 10)})}

Dokumentacja SuiteCRM ostrzega, że usunięcie parametru przelicza identyfikatory pozostałych. Jeśli po edycji zestawu parametrów wyniki przestają się zgadzać, formuła odwołuje się do przesuniętych identyfikatorów.

Jak dodać zanik punktów i próg kwalifikacji?

Zanik punktów wymaga osobnego Workflow uruchamianego przez scheduler, bo bezczynny lead nie jest zapisywany, więc Workflow przy zapisie go nie przeliczy. Utwórz drugi Workflow z tą samą formułą, ustaw Run: Only in the Scheduler i Run on: All Records oraz dodaj warunki wykluczające leady zamknięte. Dokumentacja ostrzega, że taki Workflow na dużym module może działać długo, dlatego warunki ograniczają zakres.

Próg kwalifikacji realizuje trzeci Workflow, uruchamiany schedulerem na modyfikowanych rekordach (Run on: Modified Records). Warunki: Lead Score co najmniej 50 i status New. Akcje: Modify Record (zmiana statusu na Assigned), Create Record (zadanie dla handlowca) i Send Email. Wyłącz Repeated runs, aby jeden lead nie generował wielu zadań. Wiadomość wychodzi z systemowego konta e-mail, nie z profilu użytkownika.

Scheduler Process Workflow Tasks przetwarza Workflow przy każdym uruchomieniu crona, więc opóźnienie między osiągnięciem progu a zadaniem zależy od harmonogramu crona. Instrukcję konfiguracji crona znajdziesz na dole ekranu Admin → Schedulers.

Jakie błędy popełnia się przy scoringu w SuiteCRM?

  • Scoring przyrostowy. Formuła typu „dodaj 10 do bieżącego wyniku” nalicza punkty przy każdym zapisie. Formuła powinna zawsze liczyć wynik od zera na podstawie bieżących pól.
  • Zanik bez działającego crona. Jeśli Process Workflow Tasks nie uruchamia się, Workflow schedulerowy nie zadziała, a SuiteCRM nie zgłosi tego w interfejsie rekordu. Sprawdź w Admin → Schedulers datę ostatniego udanego uruchomienia.
  • Porównanie z etykietą zamiast wartości surowej. Dla list rozwijanych warunek equal musi odwoływać się do wartości zapisanej w bazie, jeśli parametr dodano jako surowy.
  • Pusta data ostatniej aktywności. Funkcja datediff na pustym polu daty może dać nieoczekiwany wynik. Przed wdrożeniem przetestuj zachowanie formuły i ustaw wartość domyślną daty przy tworzeniu leada.
  • Scheduler na wszystkich rekordach bez warunków. Przy dużej bazie leadów taki Workflow wydłuża pracę crona. Ogranicz go statusem leada.
  • Model bez kalibracji. Wagi ustalone bez porównania z leadami zakończonymi sprzedażą dają wynik, któremu handlowcy przestają ufać.

Jakie są ograniczenia scoringu opartego na Calculated Fields?

Calculated Fields liczy wyłącznie na wartościach pól rekordu i pól powiązanych rekordów, więc nie zlicza samodzielnie aktywności, takich jak spotkania, połączenia czy otwarcia e-maili. Dokumentacja nie opisuje funkcji zliczającej powiązane rekordy. Punkty za zaangażowanie wymagają więc pól wypełnianych ręcznie lub przez inny Workflow, jak checkboxy w przykładzie wyżej.

Przy scoringu opartym na zachowaniu (otwarcia wiadomości, wizyty na stronie) lepiej sprawdza się system marketing automation z natywnymi punktami kontaktu, np. Mautic, z synchronizacją wyniku do pola w SuiteCRM. Wymaga to integracji, ale zdejmuje z Workflow ciężar śledzenia zdarzeń.

Co zrobić po przeczytaniu tego artykułu?

Zacznij od modelu na papierze: wybierz pięć–siedem kryteriów, przypisz wagi i sprawdź je na leadach z ostatniego roku. Dopiero potem konfiguruj Workflow. Ile z leadów, które w ostatnim kwartale zakończyły się sprzedażą, miałoby dziś wynik powyżej progu, a ile leadów odrzuconych również go przekroczyło?

Jeśli zainteresował Cię ten temat, skontaktuj się z nami. Chętnie odpowiemy na Twoje pytania.

Najczęściej zadawane pytania

Czy lead scoring w SuiteCRM wymaga wtyczki?

Nie. Wystarczy pole liczbowe utworzone w Studio oraz Workflow z akcją Calculated Fields. Wtyczki ze SuiteCRM Store dodają pole kalkulowane w Studio, ale scoring leadów działa bez nich.

Czy scoring działa w SuiteCRM 8?

Moduł Workflow z akcją Calculated Fields jest opisany w dokumentacji SuiteCRM 7 i 8. Konfigurację i wynik formuły zawsze sprawdź najpierw na instancji testowej.

Kiedy SuiteCRM przelicza punkty?

Przy zapisie rekordu, w schedulerze albo w obu przypadkach, zależnie od ustawienia Run w Workflow. Scheduler Process Workflow Tasks działa tak często, jak skonfigurowany cron.

Jak dodać punkty ujemne?

Użyj funkcji subtract na końcu formuły albo wagi ujemnej w składniku. W przykładzie karą jest 10 punktów za brak aktywności dłuższy niż 30 dni, liczoną funkcją datediff.

Czy scoring przeliczy istniejące leady?

Tak, jeśli Workflow działa w schedulerze na wszystkich rekordach (All Records) albo gdy lead zostanie zapisany ponownie. Przy dużej bazie ogranicz zakres warunkami.

Jaki próg punktowy ustawić?

Ustal go empirycznie: porównaj wyniki leadów zakończonych sprzedażą i odrzuconych. Próg 50 z artykułu jest hipotetyczny i nie powinien być kopiowany bez kalibracji.

Tagged:

You Might Also Like