---
# System prepended metadata

title: tn_19_07_08_Oferta_i_Promocje

---

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