# 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)