# tn_19_07_08_Oferta_i_Promocje - serwer oferty - JT - na hazelkaście jest robiona obsługa oferty - KP - oferta na magazyn - oferta na klienta - oferta na segmentację klienta - oferta na grupę produktów - promocje CRM - promocjach Specjalnie dla Ciebie i listy zakupowe - łączenie # Pierwsze łączenie Porzucamy kolunę z datą aktualizacji ceny dla klienta i kolumnę z nr. paczki. Dokunujemy pierwszej normalizacji, poprzez deduplikację katalogu cen. Zamiast: ```graphviz digraph ER{ node[shape=box]; "Client Price"; } ``` Mamy: ```graphviz digraph ER{ node[shape=box]; {rank=same;Client,Price,client_price} Client->client_price[dir="forward",arrowhead="crow",arrowtail="normal"]; client_price->Price[dir="back",arrowtail="crow",arrowhead="normal"]; Promos->Price[dir="back",arrowtail="crow",arrowhead="normal"]; Client->Promos[dir="forward",arrowhead="crow",arrowtail="normal"]; } ``` Następnie grupujemy ceny występujące u wielu klientów: ```graphviz digraph ER{ node[shape=box]; {rank=same;Client,Price,client_group,price_group} Client->client_group[dir="forward",arrowhead="crow",arrowtail="normal"]; price_group->Price[arrowhead="none"]; client_group->price_group[dir="back",arrowtail="crow",arrowhead="normal"]; Promos->Price[dir="back",arrowtail="crow",arrowhead="normal"]; Client->Promos[dir="forward",arrowhead="crow",arrowtail="normal"]; } ``` Po wprowadzeniu dystrybucji tych samych cen do różnych grup: ```graphviz digraph ER{ node[shape=box]; {rank=same;Client,Price,client_group,price_group} Client->client_group[dir="forward",arrowhead="crow",arrowtail="normal"]; price_group->Price[dir="back",arrowtail="crow",arrowhead="normal"]; client_group->price_group[dir="back",arrowtail="crow",arrowhead="normal"]; Promos->Price[dir="back",arrowtail="crow",arrowhead="normal"]; Client->Promos[dir="forward",arrowhead="crow",arrowtail="normal"]; } ``` legacy||normal..,||grup...||klas..|| -|-|-|-|-|-|-|- 22,7| 500MB|23,8| 69MB|14,2| 41MB|3,4|19MB 46,2| 1000MB|47,9| 135MB|30,6| 92MB|~~24,1~~|~~75MB~~ 200,9| 6,3GB|206,5| 563MB|148| 415MB|21,2|98MB W ostatnim 14 minut klastrowanie, grupowanie 7 minut, normalizacja (chyba) 2,5h ### Oferty CRM Noramlizacja plus grupowanie cen na oko powinno dać kilkukrotne zmniejszenie ceny (Mariusz Lasecki)