O tym, że serwis Facebook dla wielu osób stanowi źródło rozrywki i komunikacji wie już każdy. Jednak nie każdy wie, że ze względu na swoją popularność jest on coraz częściej wykorzystywany przez firmy do prowadzenia działań marketingowych. Jednym z kluczowych aspektów staje się optymalizowanie publikowanych reklam w taki sposób, aby spełniały one stawiane przed nimi cele. Pierwszym krokiem w tym kierunku jest predykcja efektywności/popularności reklam.
W prezentacji tej opowiedzieliśmy, jak zagadnienie badania efektywności działań marketingowych zostało zaadresowane w Sotrender. Przedstawiliśmy strukturę Facebook Marketing API oraz opisaliśmy nasze rozwiązanie do pozyskiwania danych. Omówiliśmy, dlaczego zdefiniowanie zmiennej celu jest problematyczne oraz pokazaliśmy, jak stworzyć model, który działa w oparciu o dane tekstowe, obrazowe oraz parametry konfiguracyjne reklamy.
Prezentacja z Data Science Summit 2020
2. Kim jesteśmy?
2
Rafał Wojdan
Machine Learning Team Leader
Lidia Kołakowska
Data Scientist
Dominika Sagan
Data Scientist
Tomasz Bocheński
Machine Learning Engineer
3. Problem optymalizacji reklam
3
Obecnie optymalizacja kreacji reklamowych na FB:
● Metoda prób i błędów
● W oparciu o doświadczenie marketerów
● Wykorzystanie testów A/B
A co gdyby już na etapie tworzenie kreacji
dokonywać wstępnej selekcji?
Przykładowe wykorzystanie:
1. Analizowanie potencjalnej popularności reklamy jeszcze przed jej opublikowaniem
2. Dobieranie parametrów kreacji tak, aby zmaksymalizować performance kampanii
3. Generowanie wskazówek dla marketerów
4. Dane - Marketing API
4
Źródło: https://grekai.files.wordpress.com/2017/03/facebook-marketing-4-638.jpg
Tworzenie grup odbiorców w
oparciu o dane oraz
estymacja ich liczebności
Automatyzacja zarządzania
reklamami na Facebooku:
ustawienia kreacji, budżetu i
grupy docelowej
Zarządzanie i optymalizacja
reklam przy wykorzystaniu
Menedżera Reklam
Analityka i raportowanie
performansu kampanii,
zestawu reklam i kreacji
reklamowych na podstawie
Insights API
5. Struktura kampanii reklamowej
Kampania
Zestaw reklam
Zestaw reklam
Reklama Reklama Reklama Reklama
Konto reklamowe
● Kampania - cel reklamowy
np. zasięg, rozpoznawalność marki
● Zestaw reklam:
○ ustawienie i zaplanowanie
budżetu
○ zdefiniowanie grupy docelowej
● Reklama - kreacja reklamowa:
○ grafika
○ tekst
○ wideo
○ umiejscowienie wyświetlania
5
Na podstawie:
https://developers.facebook.com/docs/marketing-api/campaign-structure
6. Grupa docelowa
• Grupa odbiorców:
– Płeć
– Wiek
– Lokalizacja
– CRM
– Interakcji ze stroną marki
• Liczba miesięcznie aktywnych osób na
Facebooku, która pokrywa się z grupą,
zdefiniowaną w parametrach
targetowania
6
Przykład widoku estymowanej grupy docelowej podczas
tworzenia nowej kreacji w Menedżerze Reklam
7. Z czego składa się kreacja na FB?
7
Parametry
optymalizacyjne
03
● Budżet i harmonogram
● Grupa odbiorców
● Umiejscowienie
● Optymalizacja i wyświetlenia
Tekst
01
Obraz
02
https://www.facebook.com/business/hel
p/175741192481247?id=36978757042
4415
8. Możliwe rozwiązania
8
● Predykcja wartości
● Pozwala na
rankowanie
● Trudno osiągnąć mały
błąd
● Pozwala na rankowanie
● Porównanie kreacji, zamiast
predykcji wartości czy klasy
● Najlepsza reklamie w grupie, ale czy
popularna
Source: [3]
Source: [3]
● Łatwiejszy model i wynik
dla użytkownika
● Pozwala na rankowanie
● Definicja klas zmiennej
celu
Source: [2]
Learning to rank
Regression Classification
9. Definicja zmiennej celu
9
Wskaźniki efektywności
kampanii m.in:
● Zaangażowanie
● Kliknięcie w link
● Obejrzenie wideo
● Zasięg
● Brand awareness
● CPC
● CPM
Definicja zmiennej celu:
● Zmienna binarna: POPULAR/NOT
POPULAR
● Wskaźnik po 2 dniach od startu
● Normalizacja logarytmem
● Próg podziału na klasy np.
mediana, percentyl
Typy wskaźników:
● Suma
● Maks
10. Wybrana architektura
10
Source: [4]
Memorization
● Tylko zmienne
kategoryczne
● Interakcje
● Pamięć kombinacji
zmiennych
Generalization
● Zmienne kategoryczne + dane
nieustrukturyzowane
● Embeddingi
● Zależność pomiędzy nie
zaobserwowanymi
kombinacjami
Wide & Deep - joint
training zamiast ensemble
11. Nasz model
Info o naszym modelu:
● Wide - jako zmienne
kontrolne
● Deep - tylko cechy kreacji
(tekst i obraz)
● Embeddingi:
○ Obrazy - ResNet50
○ Tekst - USE
wielojęzykowy
● Wynik na zbiorze testowym:
AUC = 86%
11
13. XAI - Explainable AI
13
Source:
https://medium.com/manomano-tech/improve-business-decisio
ns-with-three-machine-learning-interpretability-tools-bb2021fa1
d11
Po co interpretować wyniki modeli:
● Niezbadany problem
● Bias
● Poznanie zasad
Metody:
● Modele samowyjaśnialne
● Metody niezależne od modeli
○ lokalne
○ Globalne
Nasze podejście:
● Globalna interpretowalność:
○ Feature Importance z wykorzystaniem
wartości Shapley i algorytmu
kernelSHAP
● Lokalna interpretowalność
○ Algorytm Kotwic
14. XAI - Shapley Values i SHAP
14
Wartości Shapley:
● Z teorii gier - koncept na podział zysku pomiędzy graczy w sposób “sprawiedliwy”
● Opiera się na aksjomatach:
○ Symetrii: dwie cechy mają ten sam wpływ na wynik predykcji, niezależnie od wyboru reszty cech to ich
zysk/ wartość Shapley jest taka sama
○ Nieistotny gracz - jeśli jedna cecha niezależnie od wyboru reszty cech nie zmienia wyniku to jej wartość
Shapley jest równa 0
○ Addytywność: jeśli mamy dwie gry to wartość Shapley dla gracza jest sumą jego wartości w obu grach.
SHAP - SHapley Additive exPlanations
Source: [1]
15. XAI - KernelSHAP
15
KernelSHAP:
1. Wybranie wektorów koalicji (z`) - wybieramy różne perturbacje dla badanej obserwacji
2. Wyznaczenie predykcji dla obserwacji stworzonych na podstawie wektorów koalicji - nieobecne cechy
uzupełniamy wartościami ze zbioru tła
3. Wyznaczenie wag dla koalicji
4. Wytrenowanie modelu regresyjnego g(z’)
5. Wyznaczenie współczynniki modelu liniowego - wartości SHAP
Source: [1]
17. XAI - SHAP
17
● Wartości SHAP to metoda lokalną jak i globalną
● Podaje kontrastowe wyjaśnienie na tle średniej predykcji
● Oparta na teorii gier
● KernelSHAP jest wolny- niepraktyczny
● KernelShap ignoruje zależności między cechami (poprzez zastępowanie wartości cech innymi ze zbioru
przypisywana jest duża waga mało prawdopodobnym zestawom)
● Wyniki zależą od wybranego zbioru tła
Dlaczego SHAP do interpretowalności globalnej?
● Istnieje niewiele metod globalnych - gdyby skomplikowany model dało się w jasny sposób opisać prostymi
regułami to nie byłoby potrzeby tworzenia go.
● KernelSHAP nie ma ograniczeń dla architektury modelu ani liczby analizowanych cech
18. XAI - algorytm kotwic
18
Algorytm kotwic opisuje pojedynczą predykcję za
pomocą prostej zasady (kotwicy).
Kotwica - zasada, która wyjaśnia predykcje przy
zadanym poziomie precyzji.
Np. Jeśli cecha1=1 i cecha2=2 to w 80% przypadków
wynikiem będzie -
(precyzja:75%, pokrycie= 30%)
Source: [1]
cecha1 cecha2 cecha3 wynik:
1 2 16 -
1 2 10 -
1 2 8 -
1 2 20 -
1 2 3 +
19. XAI - algorytm kotwic
19
Najlepszy kandydat nie
przekroczył progu precyzji,
szukamy dalej
Sprawdzenie precyzji dla
kandydatów na kotwicę
Wybranie części kandydatów
(algorytm Multi-Armed Bandit)
Wyznaczenie kandydatów
na kotwice (algorytm Beam
Search)
Obserwacja x
Kandydat przekrocza próg
precyzjii - otrzymaliśmy
kotwicę
22. Algorytm kotwic
22
● Łatwo interpretowalne wyniki
● Potrzeba konfiguracji
● Dużo zapytań do modelu
● Dla obrazów nie ma zdefiniowanego pokrycia
Dlaczego został wybrany?
● Nie narzuca określonej architektury modelu
● Działa dobrze jeśli wyniki predykcji nie są liniowe w otoczeniu tłumaczonej predykcji
● Może być wykorzystany do interpretacji danych obrazowych, tabelarycznych jak i tekstowych