diff --git a/Lançamentos/Script_lançamento_boti_v2.ipynb b/Lançamentos/Script_lançamento_boti_v2.ipynb index 846b989..bd8a839 100644 --- a/Lançamentos/Script_lançamento_boti_v2.ipynb +++ b/Lançamentos/Script_lançamento_boti_v2.ipynb @@ -99,16 +99,16 @@ " \n", "
\n", "| \n", + " | PDV | \n", + "SKU_FINAL | \n", + "DESCRICAO | \n", + "C202413 | \n", + "C202414 | \n", + "C202415 | \n", + "C202416 | \n", + "C202417 | \n", + "C202501 | \n", + "C202502 | \n", + "... | \n", + "C202504 | \n", + "C202505 | \n", + "C202506 | \n", + "C202507 | \n", + "C202508 | \n", + "C202509 | \n", + "C202510 | \n", + "C202511 | \n", + "C202512 | \n", + "C202513 | \n", + "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "12522 | \n", + "1004 | \n", + "FLORATTA DES COL MY BLUE 75ml | \n", + "15.0 | \n", + "2.0 | \n", + "3.0 | \n", + "56.0 | \n", + "6.0 | \n", + "1.0 | \n", + "11.0 | \n", + "... | \n", + "5.0 | \n", + "12.0 | \n", + "7.0 | \n", + "2.0 | \n", + "0.0 | \n", + "1.0 | \n", + "2.0 | \n", + "5.0 | \n", + "3.0 | \n", + "0.0 | \n", + "
| 1 | \n", + "12522 | \n", + "1080 | \n", + "INTENSE GLOS LAB BUBBAL TUT/FRUT 5ml | \n", + "0.0 | \n", + "4.0 | \n", + "0.0 | \n", + "10.0 | \n", + "2.0 | \n", + "2.0 | \n", + "1.0 | \n", + "... | \n", + "3.0 | \n", + "1.0 | \n", + "7.0 | \n", + "17.0 | \n", + "0.0 | \n", + "0.0 | \n", + "0.0 | \n", + "0.0 | \n", + "0.0 | \n", + "0.0 | \n", + "
| 2 | \n", + "12522 | \n", + "1296 | \n", + "PMPCK THE BLEND DES ANTIT AER 2x75g | \n", + "1.0 | \n", + "3.0 | \n", + "3.0 | \n", + "2.0 | \n", + "0.0 | \n", + "0.0 | \n", + "0.0 | \n", + "... | \n", + "0.0 | \n", + "0.0 | \n", + "0.0 | \n", + "0.0 | \n", + "0.0 | \n", + "0.0 | \n", + "0.0 | \n", + "0.0 | \n", + "0.0 | \n", + "2.0 | \n", + "
| 3 | \n", + "12522 | \n", + "1302 | \n", + "PMPCK LILY DES ANTIT AER 2x75g | \n", + "2.0 | \n", + "3.0 | \n", + "5.0 | \n", + "6.0 | \n", + "0.0 | \n", + "0.0 | \n", + "0.0 | \n", + "... | \n", + "0.0 | \n", + "0.0 | \n", + "3.0 | \n", + "4.0 | \n", + "0.0 | \n", + "4.0 | \n", + "4.0 | \n", + "2.0 | \n", + "1.0 | \n", + "2.0 | \n", + "
| 4 | \n", + "12522 | \n", + "1314 | \n", + "PMPCK ZAAD DES ANTIT AER 2x75g | \n", + "0.0 | \n", + "3.0 | \n", + "1.0 | \n", + "1.0 | \n", + "0.0 | \n", + "0.0 | \n", + "0.0 | \n", + "... | \n", + "0.0 | \n", + "0.0 | \n", + "0.0 | \n", + "0.0 | \n", + "0.0 | \n", + "0.0 | \n", + "0.0 | \n", + "1.0 | \n", + "1.0 | \n", + "0.0 | \n", + "
5 rows × 21 columns
\n", + "2557 rows × 46 columns
\n", + "0 rows × 31 columns
\n", "" ], "text/plain": [ - " PDV Classe SKU Descrição \\\n", - "12 24293 C 49014 ACCORDES CREM DES HID CPO 200ml V2 \n", - "90 24293 C 49016 ACCORDES DES BDY SPR 100ml V6 \n", - "168 24293 B 48141 ACCORDES DES COL 80ml V5 \n", - "246 24293 B 51213 ACCORDES DES COL HARMONIA 80ml V4 \n", - "324 24293 E 86017 ARBO CREM PRE/POS BARBA 100g \n", - "... ... ... ... ... \n", - "141535 24293 E 50571 QDB SRUM FAC LEVANTA TUDO SKIN Q 30ml \n", - "141567 24293 E 50574 QDB SRUM FAC PREENCHE TUDO SKIN 30ml \n", - "141599 24293 E 9403 QDB SRUM FAC TRIP COMB SKIN Q 30ml \n", - "141629 24293 E 50568 QDB SRUM REST FAC ACORD/GLOW SKIN Q 30ml \n", - "141661 24293 E 53912 QDB TOALHA DEMAQ ALG \n", + "Empty DataFrame\n", + "Columns: [PDV, SKU, curva, categoria, proj_mar, proj_mar+1, ESTOQUE ATUAL, ESTOQUE EM TRANSITO, PEDIDO PENDENTE, DDV PREVISTO, preço, SKU_FINAL, DESCRICAO, C202413, C202414, C202415, C202416, C202417, C202501, C202502, C202503, C202504, C202505, C202506, C202507, C202508, C202509, C202510, C202511, C202512, C202513]\n", + "Index: []\n", "\n", - " Subcategoria Lançamento Desativação \\\n", - "12 CUIDADOS COM O CORPO NaN NaN \n", - "90 DESODORANTE FEMININO NaN NaN \n", - "168 PERFUMARIA FEMININA NaN NaN \n", - "246 PERFUMARIA FEMININA NaN NaN \n", - "324 PRÉ-BARBEAR C08 NaN \n", - "... ... ... ... \n", - "141535 HIDRATANTES E TRATAMENTOS NaN NaN \n", - "141567 HIDRATANTES E TRATAMENTOS NaN NaN \n", - "141599 HIDRATANTES E TRATAMENTOS NaN NaN \n", - "141629 HIDRATANTES E TRATAMENTOS NaN NaN \n", - "141661 FUNCIONAIS MAQUIAGEM NaN NaN \n", - "\n", - " Histórico de Vendas do Ciclo 202410 \\\n", - "12 0 \n", - "90 0 \n", - "168 0 \n", - "246 0 \n", - "324 0 \n", - "... ... \n", - "141535 0 \n", - "141567 0 \n", - "141599 0 \n", - "141629 0 \n", - "141661 0 \n", - "\n", - " Histórico de Vendas do Ciclo 202411 \\\n", - "12 0 \n", - "90 0 \n", - "168 0 \n", - "246 0 \n", - "324 0 \n", - "... ... \n", - "141535 0 \n", - "141567 0 \n", - "141599 0 \n", - "141629 0 \n", - "141661 0 \n", - "\n", - " Histórico de Vendas do Ciclo 202412 ... Item Desativado \\\n", - "12 0 ... Não \n", - "90 0 ... Não \n", - "168 0 ... Não \n", - "246 0 ... Não \n", - "324 0 ... Não \n", - "... ... ... ... \n", - "141535 0 ... Não \n", - "141567 0 ... Não \n", - "141599 0 ... Não \n", - "141629 0 ... Não \n", - "141661 0 ... Não \n", - "\n", - " Data Prevista Regularização Carteira Bloqueada Para Novos Pedidos \\\n", - "12 0 Não \n", - "90 0 Não \n", - "168 0 Não \n", - "246 Baixo Atendimento Não \n", - "324 0 Não \n", - "... ... ... \n", - "141535 2025-08-18 Não \n", - "141567 0 Não \n", - "141599 0 Não \n", - "141629 2025-07-16 Não \n", - "141661 0 Não \n", - "\n", - " Planograma Quantidade por caixa Preço Sell In Quantidade \\\n", - "12 0.0 54 17.49 0 \n", - "90 0.0 85 16.77 0 \n", - "168 0.0 41 63.24 0 \n", - "246 0.0 41 63.24 0 \n", - "324 0.0 80 18.41 0 \n", - "... ... ... ... ... \n", - "141535 0.0 99 31.64 0 \n", - "141567 0.0 99 31.64 0 \n", - "141599 0.0 99 31.64 0 \n", - "141629 0.0 99 27.32 0 \n", - "141661 0.0 84 17.77 0 \n", - "\n", - " Item analisado Histórico de Vendas do Ciclo 202409 match \n", - "12 Não NaN 1 \n", - "90 Não NaN 1 \n", - "168 Não NaN 1 \n", - "246 Não NaN 1 \n", - "324 Não NaN 1 \n", - "... ... ... ... \n", - "141535 Não 0.0 1 \n", - "141567 Não 0.0 1 \n", - "141599 Não 0.0 1 \n", - "141629 Não 0.0 1 \n", - "141661 Não 0.0 1 \n", - "\n", - "[2557 rows x 46 columns]" + "[0 rows x 31 columns]" ] }, - "execution_count": 19, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -952,7 +899,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 25, "id": "34e179cb", "metadata": {}, "outputs": [ @@ -960,14 +907,14 @@ "name": "stderr", "output_type": "stream", "text": [ - "C:\\Users\\joao.herculano\\AppData\\Local\\Temp\\ipykernel_101180\\1463083786.py:24: DeprecationWarning: DataFrameGroupBy.apply operated on the grouping columns. This behavior is deprecated, and in a future version of pandas the grouping columns will be excluded from the operation. Either pass `include_groups=False` to exclude the groupings or explicitly select the grouping columns after groupby to silence this warning.\n", + "C:\\Users\\joao.herculano\\AppData\\Local\\Temp\\ipykernel_31644\\1731143361.py:24: DeprecationWarning: DataFrameGroupBy.apply operated on the grouping columns. This behavior is deprecated, and in a future version of pandas the grouping columns will be excluded from the operation. Either pass `include_groups=False` to exclude the groupings or explicitly select the grouping columns after groupby to silence this warning.\n", " crescimento_por_pdv = df_draft.groupby('PDV').apply(calcular_crescimento)\n" ] } ], "source": [ "# Define as colunas mensais\n", - "colunas_mensais = df_draft.columns[7:25]\n", + "colunas_mensais = df_draft.columns[13:31]\n", "\n", "# Agrupa por PDV e calcula crescimento médio por PDV\n", "def calcular_crescimento(grupo):\n", @@ -997,22 +944,22 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 26, "id": "94aa432f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0 52004\n", - "1 52004\n", - "2 52004\n", - "3 52004\n", - "4 52004\n", + "0 57890\n", + "1 57890\n", + "2 57890\n", + "3 57890\n", + "4 57890\n", "Name: PRODUTO SIMILAR, dtype: Int64" ] }, - "execution_count": 21, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -1024,430 +971,42 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 27, + "id": "38b0eb5d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "PDV object\n", + "SKU Int64\n", + "dtype: object" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_draft[['PDV', 'SKU']].dtypes" + ] + }, + { + "cell_type": "code", + "execution_count": 28, "id": "4bc8c2b4", "metadata": {}, "outputs": [], "source": [ - "df_similares['PDV'] = df_similares['PDV'].astype('Int64')\n", + "df_draft['PDV'] = df_draft['PDV'].astype('Int64')\n", "\n", "df_final = pd.merge(left=df_similares,right=df_draft,right_on=['PDV', 'SKU'],left_on=['PDV','PRODUTO SIMILAR'],how='left')" ] }, { "cell_type": "code", - "execution_count": 23, - "id": "aae416dd", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "| \n", - " | PRODUTO LANÇAMENTO | \n", - "DESCRIÇÃO DO LANÇAMENTO | \n", - "PRODUTO SIMILAR | \n", - "DESCRIÇÃO SIMILAR | \n", - "CICLO SIMILAR | \n", - "FOCO | \n", - "IAF | \n", - "CATEGORIA | \n", - "MARCA | \n", - "% CONSUMIDOR | \n", - "... | \n", - "Data Prevista Regularização | \n", - "Carteira Bloqueada Para Novos Pedidos | \n", - "Planograma | \n", - "Quantidade por caixa | \n", - "Preço Sell In | \n", - "Quantidade | \n", - "Item analisado | \n", - "Histórico de Vendas do Ciclo 202409 | \n", - "match | \n", - "CRESCIMENTO | \n", - "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", - "59823 | \n", - "NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... | \n", - "52004 | \n", - "NSPA LOC RAD DES HID CPO AMEI DOUR 400ml | \n", - "C202315 | \n", - "Sim | \n", - "Sim | \n", - "CUIDADOS COM A PELE | \n", - "NATIVA SPA | \n", - "31,07 | 39,52 | \n", - "... | \n", - "0 | \n", - "Não | \n", - "3.0 | \n", - "30.0 | \n", - "23.62 | \n", - "0.0 | \n", - "Não | \n", - "NaN | \n", - "1.0 | \n", - "-0.0154 | \n", - "
| 1 | \n", - "59823 | \n", - "NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... | \n", - "52004 | \n", - "NSPA LOC RAD DES HID CPO AMEI DOUR 400ml | \n", - "C202315 | \n", - "Sim | \n", - "Sim | \n", - "CUIDADOS COM A PELE | \n", - "NATIVA SPA | \n", - "31,07 | 39,52 | \n", - "... | \n", - "0 | \n", - "Não | \n", - "3.0 | \n", - "30.0 | \n", - "23.62 | \n", - "9.0 | \n", - "Não | \n", - "NaN | \n", - "1.0 | \n", - "-0.0341 | \n", - "
| 2 | \n", - "59823 | \n", - "NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... | \n", - "52004 | \n", - "NSPA LOC RAD DES HID CPO AMEI DOUR 400ml | \n", - "C202315 | \n", - "Sim | \n", - "Sim | \n", - "CUIDADOS COM A PELE | \n", - "NATIVA SPA | \n", - "31,07 | 39,52 | \n", - "... | \n", - "0 | \n", - "Não | \n", - "3.0 | \n", - "30.0 | \n", - "23.62 | \n", - "4.0 | \n", - "Não | \n", - "NaN | \n", - "1.0 | \n", - "-0.0138 | \n", - "
| 3 | \n", - "59823 | \n", - "NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... | \n", - "52004 | \n", - "NSPA LOC RAD DES HID CPO AMEI DOUR 400ml | \n", - "C202315 | \n", - "Sim | \n", - "Sim | \n", - "CUIDADOS COM A PELE | \n", - "NATIVA SPA | \n", - "31,07 | 39,52 | \n", - "... | \n", - "0 | \n", - "Não | \n", - "0.0 | \n", - "30.0 | \n", - "23.62 | \n", - "0.0 | \n", - "Não | \n", - "NaN | \n", - "1.0 | \n", - "-0.0595 | \n", - "
| 4 | \n", - "59823 | \n", - "NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... | \n", - "52004 | \n", - "NSPA LOC RAD DES HID CPO AMEI DOUR 400ml | \n", - "C202315 | \n", - "Sim | \n", - "Sim | \n", - "CUIDADOS COM A PELE | \n", - "NATIVA SPA | \n", - "31,07 | 39,52 | \n", - "... | \n", - "0 | \n", - "Não | \n", - "3.0 | \n", - "30.0 | \n", - "23.62 | \n", - "1.0 | \n", - "Não | \n", - "NaN | \n", - "1.0 | \n", - "-0.0171 | \n", - "
| ... | \n", - "... | \n", - "... | \n", - "... | \n", - "... | \n", - "... | \n", - "... | \n", - "... | \n", - "... | \n", - "... | \n", - "... | \n", - "... | \n", - "... | \n", - "... | \n", - "... | \n", - "... | \n", - "... | \n", - "... | \n", - "... | \n", - "... | \n", - "... | \n", - "... | \n", - "
| 2286 | \n", - "87771 | \n", - "MAKE B BLUSH COMP BERRY MINI PRM 1,5g | \n", - "87771 | \n", - "0 | \n", - "0 | \n", - "Não | \n", - "Não | \n", - "SUPORTE À VENDA | \n", - "MAKE B. | \n", - "- | \n", - "... | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "
| 2287 | \n", - "87771 | \n", - "MAKE B BLUSH COMP BERRY MINI PRM 1,5g | \n", - "87771 | \n", - "0 | \n", - "0 | \n", - "Não | \n", - "Não | \n", - "SUPORTE À VENDA | \n", - "MAKE B. | \n", - "- | \n", - "... | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "
| 2288 | \n", - "87771 | \n", - "MAKE B BLUSH COMP BERRY MINI PRM 1,5g | \n", - "87771 | \n", - "0 | \n", - "0 | \n", - "Não | \n", - "Não | \n", - "SUPORTE À VENDA | \n", - "MAKE B. | \n", - "- | \n", - "... | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "
| 2289 | \n", - "87771 | \n", - "MAKE B BLUSH COMP BERRY MINI PRM 1,5g | \n", - "87771 | \n", - "0 | \n", - "0 | \n", - "Não | \n", - "Não | \n", - "SUPORTE À VENDA | \n", - "MAKE B. | \n", - "- | \n", - "... | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "
| 2290 | \n", - "87771 | \n", - "MAKE B BLUSH COMP BERRY MINI PRM 1,5g | \n", - "87771 | \n", - "0 | \n", - "0 | \n", - "Não | \n", - "Não | \n", - "SUPORTE À VENDA | \n", - "MAKE B. | \n", - "- | \n", - "... | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "NaN | \n", - "
2291 rows × 69 columns
\n", - "| \n", + " | PDV | \n", + "SKU | \n", + "DESCRICAO | \n", + "Vendas_Total | \n", + "Ciclo | \n", + "
|---|
5 rows × 75 columns
\n", + "5 rows × 60 columns
\n", "" ], "text/plain": [ - " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", - "0 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "1 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "2 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "3 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "4 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", + " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", + "0 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "1 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "2 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "3 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "4 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", "\n", " PRODUTO SIMILAR DESCRIÇÃO SIMILAR CICLO SIMILAR \\\n", - "0 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "1 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "2 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "3 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "4 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", + "0 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "1 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "2 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "3 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "4 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", "\n", - " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... \\\n", - "0 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... \n", - "1 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... \n", - "2 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... \n", - "3 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... \n", - "4 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... \n", + " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... C202511 C202512 \\\n", + "0 Não Não CUIDADOS COM A PELE LILY 15.01 ... 2.0 0.0 \n", + "1 Não Não CUIDADOS COM A PELE LILY 15.01 ... 24.0 1.0 \n", + "2 Não Não CUIDADOS COM A PELE LILY 15.01 ... 7.0 1.0 \n", + "3 Não Não CUIDADOS COM A PELE LILY 15.01 ... 1.0 1.0 \n", + "4 Não Não CUIDADOS COM A PELE LILY 15.01 ... 0.0 2.0 \n", "\n", - " Item analisado Histórico de Vendas do Ciclo 202409 match_x CRESCIMENTO \\\n", - "0 Não NaN 1.0 -0.0154 \n", - "1 Não NaN 1.0 -0.0341 \n", - "2 Não NaN 1.0 -0.0138 \n", - "3 Não NaN 1.0 -0.0595 \n", - "4 Não NaN 1.0 -0.0171 \n", + " C202513 CRESCIMENTO Ciclo INICIO CICLO FIM CICLO DURAÇÃO match \\\n", + "0 0.0 0.0382 C202516 2025-11-03 2025-11-30 28 1 \n", + "1 0.0 -0.0456 C202516 2025-11-03 2025-11-30 28 1 \n", + "2 0.0 0.0433 C202516 2025-11-03 2025-11-30 28 1 \n", + "3 0.0 -0.0701 C202516 2025-11-03 2025-11-30 28 1 \n", + "4 0.0 0.0421 C202516 2025-11-03 2025-11-30 28 1 \n", "\n", - " Ciclo INICIO CICLO FIM CICLO DURAÇÃO match_y dias_ate_inicio \n", - "0 C202515 2025-10-13 2025-11-02 21 1 59 \n", - "1 C202515 2025-10-13 2025-11-02 21 1 59 \n", - "2 C202515 2025-10-13 2025-11-02 21 1 59 \n", - "3 C202515 2025-10-13 2025-11-02 21 1 59 \n", - "4 C202515 2025-10-13 2025-11-02 21 1 59 \n", + " dias_ate_inicio \n", + "0 59 \n", + "1 59 \n", + "2 59 \n", + "3 59 \n", + "4 59 \n", "\n", - "[5 rows x 75 columns]" + "[5 rows x 60 columns]" ] }, - "execution_count": 43, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -2560,7 +2156,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 50, "id": "8a05450c", "metadata": {}, "outputs": [], @@ -2573,7 +2169,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 51, "id": "cc65edab", "metadata": {}, "outputs": [ @@ -2666,7 +2262,7 @@ "4 2 C202416 " ] }, - "execution_count": 45, + "execution_count": 51, "metadata": {}, "output_type": "execute_result" } @@ -2679,28 +2275,28 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 52, "id": "6367ac21", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0 C202315\n", - "14 C202315\n", - "28 C202315\n", - "42 C202315\n", - "56 C202315\n", + "0 C202415\n", + "21 C202415\n", + "42 C202415\n", + "63 C202415\n", + "84 C202415\n", " ... \n", - "19192 0\n", - "19193 0\n", - "19194 0\n", - "19195 0\n", - "19196 0\n", - "Name: CICLO SIMILAR, Length: 2291, dtype: object" + "25683 0\n", + "25684 0\n", + "25685 0\n", + "25686 0\n", + "25687 0\n", + "Name: CICLO SIMILAR, Length: 1527, dtype: object" ] }, - "execution_count": 46, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -2712,7 +2308,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 53, "id": "b0af59cb", "metadata": {}, "outputs": [ @@ -2745,32 +2341,32 @@ " \n", "5 rows × 79 columns
\n", + "5 rows × 64 columns
\n", "" ], "text/plain": [ - " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", - "0 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "14 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "28 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "42 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "56 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", + " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", + "0 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "21 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "42 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "63 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "84 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", "\n", " PRODUTO SIMILAR DESCRIÇÃO SIMILAR CICLO SIMILAR \\\n", - "0 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "14 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "28 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "42 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "56 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", + "0 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "21 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "42 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "63 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "84 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", "\n", - " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... Ciclo_x \\\n", - "0 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... C202515 \n", - "14 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... C202515 \n", - "28 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... C202515 \n", - "42 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... C202515 \n", - "56 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... C202515 \n", + " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... Ciclo_x \\\n", + "0 Não Não CUIDADOS COM A PELE LILY 15.01 ... C202516 \n", + "21 Não Não CUIDADOS COM A PELE LILY 15.01 ... C202516 \n", + "42 Não Não CUIDADOS COM A PELE LILY 15.01 ... C202516 \n", + "63 Não Não CUIDADOS COM A PELE LILY 15.01 ... C202516 \n", + "84 Não Não CUIDADOS COM A PELE LILY 15.01 ... C202516 \n", "\n", - " INICIO CICLO_x FIM CICLO_x DURAÇÃO_x match_y dias_ate_inicio Ciclo_y \\\n", - "0 2025-10-13 2025-11-02 21 1 59 C202315 \n", - "14 2025-10-13 2025-11-02 21 1 59 C202315 \n", - "28 2025-10-13 2025-11-02 21 1 59 C202315 \n", - "42 2025-10-13 2025-11-02 21 1 59 C202315 \n", - "56 2025-10-13 2025-11-02 21 1 59 C202315 \n", + " INICIO CICLO_x FIM CICLO_x DURAÇÃO_x match dias_ate_inicio Ciclo_y \\\n", + "0 2025-11-03 2025-11-30 28 1 59 C202415 \n", + "21 2025-11-03 2025-11-30 28 1 59 C202415 \n", + "42 2025-11-03 2025-11-30 28 1 59 C202415 \n", + "63 2025-11-03 2025-11-30 28 1 59 C202415 \n", + "84 2025-11-03 2025-11-30 28 1 59 C202415 \n", "\n", " INICIO CICLO_y FIM CICLO_y DURAÇÃO_y \n", - "0 2023-10-16 2023-10-29 14.0 \n", - "14 2023-10-16 2023-10-29 14.0 \n", - "28 2023-10-16 2023-10-29 14.0 \n", - "42 2023-10-16 2023-10-29 14.0 \n", - "56 2023-10-16 2023-10-29 14.0 \n", + "0 2024-10-14 2024-11-03 21.0 \n", + "21 2024-10-14 2024-11-03 21.0 \n", + "42 2024-10-14 2024-11-03 21.0 \n", + "63 2024-10-14 2024-11-03 21.0 \n", + "84 2024-10-14 2024-11-03 21.0 \n", "\n", - "[5 rows x 79 columns]" + "[5 rows x 64 columns]" ] }, - "execution_count": 54, + "execution_count": 60, "metadata": {}, "output_type": "execute_result" } @@ -3408,7 +2981,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 61, "id": "c5cd5f42", "metadata": {}, "outputs": [], @@ -3420,7 +2993,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 62, "id": "4f22b782", "metadata": {}, "outputs": [ @@ -3457,7 +3030,7 @@ "5 rows × 82 columns
\n", + "5 rows × 67 columns
\n", "" ], "text/plain": [ - " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", - "0 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "1 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "2 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "3 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "4 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", + " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", + "0 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "1 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "2 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "3 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "4 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", "\n", " PRODUTO SIMILAR DESCRIÇÃO SIMILAR CICLO SIMILAR \\\n", - "0 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "1 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "2 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "3 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "4 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", + "0 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "1 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "2 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "3 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "4 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", "\n", - " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... DURAÇÃO_x \\\n", - "0 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... 21 \n", - "1 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... 21 \n", - "2 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... 21 \n", - "3 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... 21 \n", - "4 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... 21 \n", + " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... DURAÇÃO_x match \\\n", + "0 Não Não CUIDADOS COM A PELE LILY 15.01 ... 28 1 \n", + "1 Não Não CUIDADOS COM A PELE LILY 15.01 ... 28 1 \n", + "2 Não Não CUIDADOS COM A PELE LILY 15.01 ... 28 1 \n", + "3 Não Não CUIDADOS COM A PELE LILY 15.01 ... 28 1 \n", + "4 Não Não CUIDADOS COM A PELE LILY 15.01 ... 28 1 \n", "\n", - " match_y dias_ate_inicio Ciclo_y INICIO CICLO_y FIM CICLO_y DURAÇÃO_y \\\n", - "0 1 59 C202315 2023-10-16 2023-10-29 14.0 \n", - "1 1 59 C202315 2023-10-16 2023-10-29 14.0 \n", - "2 1 59 C202315 2023-10-16 2023-10-29 14.0 \n", - "3 1 59 C202315 2023-10-16 2023-10-29 14.0 \n", - "4 1 59 C202315 2023-10-16 2023-10-29 14.0 \n", + " dias_ate_inicio Ciclo_y INICIO CICLO_y FIM CICLO_y DURAÇÃO_y SKU_y \\\n", + "0 59 C202415 2024-10-14 2024-11-03 21.0 57890 \n", + "1 59 C202415 2024-10-14 2024-11-03 21.0 NaN \n", + "2 59 C202415 2024-10-14 2024-11-03 21.0 NaN \n", + "3 59 C202415 2024-10-14 2024-11-03 21.0 57890 \n", + "4 59 C202415 2024-10-14 2024-11-03 21.0 NaN \n", "\n", - " SKU_y Ciclo Vendas Ciclo Lançamento \n", - "0 52004 C202315 22 \n", - "1 52004 C202315 36 \n", - "2 52004 C202315 9 \n", - "3 52004 C202315 5 \n", - "4 52004 C202315 28 \n", + " Ciclo Vendas Ciclo Lançamento \n", + "0 C202415 1 \n", + "1 NaN5 rows × 82 columns
\n", + "5 rows × 67 columns
\n", "" ], "text/plain": [ - " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", - "0 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "1 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "2 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "3 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "4 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", + " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", + "0 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "1 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "2 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "3 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "4 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", "\n", " PRODUTO SIMILAR DESCRIÇÃO SIMILAR CICLO SIMILAR \\\n", - "0 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "1 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "2 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "3 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "4 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", + "0 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "1 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "2 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "3 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "4 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", "\n", - " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... DURAÇÃO_x \\\n", - "0 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... 21 \n", - "1 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... 21 \n", - "2 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... 21 \n", - "3 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... 21 \n", - "4 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... 21 \n", + " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... DURAÇÃO_x match \\\n", + "0 Não Não CUIDADOS COM A PELE LILY 15.01 ... 28 1 \n", + "1 Não Não CUIDADOS COM A PELE LILY 15.01 ... 28 1 \n", + "2 Não Não CUIDADOS COM A PELE LILY 15.01 ... 28 1 \n", + "3 Não Não CUIDADOS COM A PELE LILY 15.01 ... 28 1 \n", + "4 Não Não CUIDADOS COM A PELE LILY 15.01 ... 28 1 \n", "\n", - " match_y dias_ate_inicio Ciclo_y INICIO CICLO_y FIM CICLO_y DURAÇÃO_y \\\n", - "0 1 59 C202315 2023-10-16 2023-10-29 14.0 \n", - "1 1 59 C202315 2023-10-16 2023-10-29 14.0 \n", - "2 1 59 C202315 2023-10-16 2023-10-29 14.0 \n", - "3 1 59 C202315 2023-10-16 2023-10-29 14.0 \n", - "4 1 59 C202315 2023-10-16 2023-10-29 14.0 \n", + " dias_ate_inicio Ciclo_y INICIO CICLO_y FIM CICLO_y DURAÇÃO_y SKU_y \\\n", + "0 59 C202415 2024-10-14 2024-11-03 21.0 57890 \n", + "1 59 C202415 2024-10-14 2024-11-03 21.0 NaN \n", + "2 59 C202415 2024-10-14 2024-11-03 21.0 NaN \n", + "3 59 C202415 2024-10-14 2024-11-03 21.0 57890 \n", + "4 59 C202415 2024-10-14 2024-11-03 21.0 NaN \n", "\n", - " SKU_y Ciclo Vendas Ciclo Lançamento \n", - "0 52004 C202315 22 \n", - "1 52004 C202315 36 \n", - "2 52004 C202315 9 \n", - "3 52004 C202315 5 \n", - "4 52004 C202315 28 \n", + " Ciclo Vendas Ciclo Lançamento \n", + "0 C202415 1 \n", + "1 NaN 0 \n", + "2 NaN 0 \n", + "3 C202415 2 \n", + "4 NaN 0 \n", "\n", - "[5 rows x 82 columns]" + "[5 rows x 67 columns]" ] }, - "execution_count": 65, + "execution_count": 71, "metadata": {}, "output_type": "execute_result" } @@ -4183,7 +3743,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 72, "id": "1c4f5d9d", "metadata": {}, "outputs": [], @@ -4193,7 +3753,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 73, "id": "2529e624", "metadata": {}, "outputs": [], @@ -4219,7 +3779,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 74, "id": "fc094fae", "metadata": {}, "outputs": [ @@ -4270,16 +3830,16 @@ " \n", "2291 rows × 100 columns
\n", + "1527 rows × 85 columns
\n", "" ], "text/plain": [ - " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", - "0 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "1 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "2 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "3 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "4 59823 NATIVA SPA ORQUÍDEA LUMIÈRE CREME DESODORANTE ... \n", - "... ... ... \n", - "2286 87771 MAKE B BLUSH COMP BERRY MINI PRM 1,5g \n", - "2287 87771 MAKE B BLUSH COMP BERRY MINI PRM 1,5g \n", - "2288 87771 MAKE B BLUSH COMP BERRY MINI PRM 1,5g \n", - "2289 87771 MAKE B BLUSH COMP BERRY MINI PRM 1,5g \n", - "2290 87771 MAKE B BLUSH COMP BERRY MINI PRM 1,5g \n", + " PRODUTO LANÇAMENTO DESCRIÇÃO DO LANÇAMENTO \\\n", + "0 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "1 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "2 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "3 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "4 89446 LILY CR AC DES HID CP LEAU/LILY SOL 200g \n", + "... ... ... \n", + "1522 58132 CUIDE-SE BEM DELEITE CHOCOLATUDO \n", + "1523 58132 CUIDE-SE BEM DELEITE CHOCOLATUDO \n", + "1524 58132 CUIDE-SE BEM DELEITE CHOCOLATUDO \n", + "1525 58132 CUIDE-SE BEM DELEITE CHOCOLATUDO \n", + "1526 58132 CUIDE-SE BEM DELEITE CHOCOLATUDO \n", "\n", " PRODUTO SIMILAR DESCRIÇÃO SIMILAR CICLO SIMILAR \\\n", - "0 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "1 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "2 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "3 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", - "4 52004 NSPA LOC RAD DES HID CPO AMEI DOUR 400ml C202315 \n", + "0 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "1 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "2 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "3 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", + "4 57890 LILY CREM ACET DES HID CPO GARDENIA 250g C202415 \n", "... ... ... ... \n", - "2286 87771 0 0 \n", - "2287 87771 0 0 \n", - "2288 87771 0 0 \n", - "2289 87771 0 0 \n", - "2290 87771 0 0 \n", + "1522 58132 CUIDE-SE BEM DELEITE CHOCOLATUDO 0 \n", + "1523 58132 CUIDE-SE BEM DELEITE CHOCOLATUDO 0 \n", + "1524 58132 CUIDE-SE BEM DELEITE CHOCOLATUDO 0 \n", + "1525 58132 CUIDE-SE BEM DELEITE CHOCOLATUDO 0 \n", + "1526 58132 CUIDE-SE BEM DELEITE CHOCOLATUDO 0 \n", "\n", - " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... 202415 \\\n", - "0 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... NaN \n", - "1 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... NaN \n", - "2 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... NaN \n", - "3 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... NaN \n", - "4 Sim Sim CUIDADOS COM A PELE NATIVA SPA 31,07 | 39,52 ... NaN \n", - "... ... ... ... ... ... ... ... \n", - "2286 Não Não SUPORTE À VENDA MAKE B. - ... NaN \n", - "2287 Não Não SUPORTE À VENDA MAKE B. - ... NaN \n", - "2288 Não Não SUPORTE À VENDA MAKE B. - ... NaN \n", - "2289 Não Não SUPORTE À VENDA MAKE B. - ... NaN \n", - "2290 Não Não SUPORTE À VENDA MAKE B. - ... NaN \n", + " FOCO IAF CATEGORIA MARCA % CONSUMIDOR ... 202415 \\\n", + "0 Não Não CUIDADOS COM A PELE LILY 15.01 ... NaN \n", + "1 Não Não CUIDADOS COM A PELE LILY 15.01 ... NaN \n", + "2 Não Não CUIDADOS COM A PELE LILY 15.01 ... NaN \n", + "3 Não Não CUIDADOS COM A PELE LILY 15.01 ... NaN \n", + "4 Não Não CUIDADOS COM A PELE LILY 15.01 ... NaN \n", + "... ... ... ... ... ... ... ... \n", + "1522 Não Não PERFUMARIA CUIDE-SE BEM - ... NaN \n", + "1523 Não Não PERFUMARIA CUIDE-SE BEM - ... 0.0 \n", + "1524 Não Não PERFUMARIA CUIDE-SE BEM - ... 0.0 \n", + "1525 Não Não PERFUMARIA CUIDE-SE BEM - ... NaN \n", + "1526 Não Não PERFUMARIA CUIDE-SE BEM - ... NaN \n", "\n", " 202416 202417 202501 202502 202503 202504 202505 202506 202507 \n", "0 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", @@ -4584,16 +4144,16 @@ "3 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", "4 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", "... ... ... ... ... ... ... ... ... ... \n", - "2286 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", - "2287 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", - "2288 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", - "2289 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", - "2290 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "1522 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "1523 0.0 24.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "1524 0.0 89.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "1525 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", + "1526 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n", "\n", - "[2291 rows x 100 columns]" + "[1527 rows x 85 columns]" ] }, - "execution_count": 68, + "execution_count": 74, "metadata": {}, "output_type": "execute_result" } @@ -4604,44 +4164,58 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 75, "id": "dcff1fcb", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\joao.herculano\\AppData\\Local\\Temp\\ipykernel_101180\\260461722.py:1: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`\n", - " df_final = df_final.fillna(0)\n" - ] - } - ], + "outputs": [], "source": [ "df_final = df_final.fillna(0)" ] }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 76, + "id": "bebabb9f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['C202413', 'C202414', 'C202415', 'C202416', 'C202417', 'C202501',\n", + " 'C202502', 'C202503', 'C202504', 'C202505', 'C202506', 'C202507',\n", + " 'C202508', 'C202509', 'C202510', 'C202511', 'C202512', 'C202513'],\n", + " dtype='object')" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_final.columns[35:53]" + ] + }, + { + "cell_type": "code", + "execution_count": 77, "id": "0a1bb832", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "np.float64(0.2267)" + "0.2" ] }, - "execution_count": 70, + "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Suponha que os meses estão nas colunas 10 a 26 (17 colunas = 17 meses)\n", - "colunas_mensais = df_final.columns[29:46]\n", - "\n", + "colunas_mensais = df_final.columns[35:53]\n", "# Passo 1: Soma todas as linhas (itens) por mês → resultado: total por mês\n", "soma_mensal = df_final[colunas_mensais].sum()\n", "\n", @@ -4676,7 +4250,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 78, "id": "a9647c32", "metadata": {}, "outputs": [], @@ -4689,41 +4263,35 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 79, "id": "b107e519", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Index(['Histórico de Vendas do Ciclo 202504',\n", - " 'Histórico de Vendas do Ciclo 202505',\n", - " 'Histórico de Vendas do Ciclo 202506',\n", - " 'Histórico de Vendas do Ciclo 202507',\n", - " 'Histórico de Vendas do Ciclo 202508',\n", - " 'Histórico de Vendas do Ciclo 202509',\n", - " 'Histórico de Vendas do Ciclo Atual'],\n", + "Index(['C202507', 'C202508', 'C202509', 'C202510', 'C202511', 'C202512',\n", + " 'C202513'],\n", " dtype='object')" ] }, - "execution_count": 72, + "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "df_final.columns[40:47]" + "df_final.columns[46:53]" ] }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 80, "id": "8290853c", "metadata": {}, "outputs": [], "source": [ - "VENDA_SIMILAR_6_MESES= df_final.columns[40:47]\n", - "\n", + "VENDA_SIMILAR_6_MESES= df_final.columns[46:53]\n", "df_final['Pico Vendas Similar Ultimos 6 ciclos'] = df_final[VENDA_SIMILAR_6_MESES].max(axis=1)\n", "\n", "df_final['Pico Vendas Similar Ultimos 6 ciclos'] = df_final['Pico Vendas Similar Ultimos 6 ciclos'].fillna(0)\n", @@ -4735,28 +4303,28 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 81, "id": "d8b30560", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0 2.0\n", - "1 2.0\n", - "2 0.0\n", - "3 0.0\n", + "0 1.5\n", + "1 3.5\n", + "2 1.0\n", + "3 1.0\n", "4 1.0\n", " ... \n", - "2286 0.0\n", - "2287 0.0\n", - "2288 0.0\n", - "2289 0.0\n", - "2290 0.0\n", - "Length: 2291, dtype: float64" + "1522 0.0\n", + "1523 0.0\n", + "1524 0.0\n", + "1525 0.0\n", + "1526 0.0\n", + "Length: 1527, dtype: float64" ] }, - "execution_count": 74, + "execution_count": 81, "metadata": {}, "output_type": "execute_result" } @@ -4767,7 +4335,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 82, "id": "07f043f2", "metadata": {}, "outputs": [ @@ -4794,6 +4362,7 @@ "247 rows × 4 columns
\n", "" ], "text/plain": [ - " CANAL UF med_por_canal\n", - "0 CD AL 618.0\n", - "1 HIB AL 50.0\n", - "2 HIB BA 96.0\n", - "3 HIB BA3 0.0\n", - "4 HIB SE 42.0\n", - "5 LJ AL 87.0\n", - "6 LJ BA 25.0\n", - "7 LJ BA3 19.0\n", - "8 LJ SE 20.0\n", - "9 VD AL 202.0\n", - "10 VD BA 205.0\n", - "11 VD BA3 47.0\n", - "12 VD SE 164.0" + " CANAL UF PRODUTO LANÇAMENTO med_por_canal\n", + "0 CD AL 48780 3.5\n", + "1 CD AL 49154 29.0\n", + "2 CD AL 49193 19.5\n", + "3 CD AL 49893 0.0\n", + "4 CD AL 49943 0.0\n", + ".. ... .. ... ...\n", + "242 VD SE 88301 2.0\n", + "243 VD SE 88730 0.0\n", + "244 VD SE 88889 0.0\n", + "245 VD SE 88911 5.5\n", + "246 VD SE 89446 4.5\n", + "\n", + "[247 rows x 4 columns]" ] }, - "execution_count": 75, + "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "medi = df_final.groupby(['CANAL','UF'])['MEDIANA DO HISTÓRICO'].max().reset_index()\n", + "medi = df_final.groupby(['CANAL','UF','PRODUTO LANÇAMENTO'])['MEDIANA DO HISTÓRICO'].max().reset_index()\n", "medi = medi.rename(columns={'MEDIANA DO HISTÓRICO':'med_por_canal'})\n", "medi" ] }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 83, "id": "94abddce", "metadata": {}, "outputs": [], @@ -4920,28 +4489,28 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 84, "id": "c4fbc613", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0 LANÇAMENTO\n", - "1 LANÇAMENTO\n", - "2 LANÇAMENTO\n", - "3 LANÇAMENTO\n", - "4 LANÇAMENTO\n", - " ... \n", - "2286 PROMOÇÃO\n", - "2287 PROMOÇÃO\n", - "2288 PROMOÇÃO\n", - "2289 PROMOÇÃO\n", - "2290 PROMOÇÃO\n", - "Name: TIPO DE PRODUTO, Length: 2291, dtype: object" + "0 EDICAO LIMITADA\n", + "1 EDICAO LIMITADA\n", + "2 EDICAO LIMITADA\n", + "3 EDICAO LIMITADA\n", + "4 EDICAO LIMITADA\n", + " ... \n", + "1522 REGULAR\n", + "1523 REGULAR\n", + "1524 REGULAR\n", + "1525 REGULAR\n", + "1526 REGULAR\n", + "Name: TIPO DE PRODUTO, Length: 1527, dtype: object" ] }, - "execution_count": 77, + "execution_count": 84, "metadata": {}, "output_type": "execute_result" } @@ -4952,7 +4521,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 85, "id": "df26720c", "metadata": {}, "outputs": [ @@ -5045,7 +4614,7 @@ "4 2 C202416 " ] }, - "execution_count": 78, + "execution_count": 85, "metadata": {}, "output_type": "execute_result" } @@ -5056,7 +4625,7 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": 86, "id": "ef979be5", "metadata": {}, "outputs": [], @@ -5094,7 +4663,7 @@ }, { "cell_type": "code", - "execution_count": 80, + "execution_count": 87, "id": "41eb7ebf", "metadata": {}, "outputs": [ @@ -5109,7 +4678,7 @@ "Name: PDV, dtype: object" ] }, - "execution_count": 80, + "execution_count": 87, "metadata": {}, "output_type": "execute_result" } @@ -5121,7 +4690,7 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": 88, "id": "6dbe67bb", "metadata": {}, "outputs": [], @@ -5141,7 +4710,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 89, "id": "7986b8fa", "metadata": {}, "outputs": [ @@ -5253,7 +4822,7 @@ "4 14.378.160/0001-83 " ] }, - "execution_count": 82, + "execution_count": 89, "metadata": {}, "output_type": "execute_result" } @@ -5266,12 +4835,23 @@ }, { "cell_type": "code", - "execution_count": 83, + "execution_count": 90, "id": "09efe938", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'df_vdc = pd.read_parquet(r\"C:\\\\Users\\\\joao.herculano\\\\GRUPO GINSENG\\\\Assistência Suprimentos - 2025\\\\SUPRIMENTOS\\\\Vitoria da Conquista\\\\HISTORICO VENDAS VITORIA DA CONQUISTA\\\\VENDAS VITORIA DA CONQUISTA\\\\concatenado.parquet\")\\n\\ndf_vdc[\\'PDV\\'] = df_vdc[\\'Quebra\\'].str.split(\" -\").str[0]\\n\\ndf_vdc[\\'PDV\\'] = df_vdc[\\'PDV\\'].astype(\\'int64\\')\\n\\ndf_vdc = df_vdc.rename(columns={\\'Quebra2\\':\\'DATA VENDA\\'})\\n\\ndf_vdc[\\'DATA VENDA\\'] = pd.to_datetime(df_vdc[\\'DATA VENDA\\'], format=\\'%d/%m/%Y\\')'" + ] + }, + "execution_count": 90, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "df_vdc = pd.read_parquet(r\"C:\\Users\\joao.herculano\\GRUPO GINSENG\\Assistência Suprimentos - 2025\\SUPRIMENTOS\\Vitoria da Conquista\\HISTORICO VENDAS VITORIA DA CONQUISTA\\VENDAS VITORIA DA CONQUISTA\\concatenado.parquet\")\n", + "r'''df_vdc = pd.read_parquet(r\"C:\\Users\\joao.herculano\\GRUPO GINSENG\\Assistência Suprimentos - 2025\\SUPRIMENTOS\\Vitoria da Conquista\\HISTORICO VENDAS VITORIA DA CONQUISTA\\VENDAS VITORIA DA CONQUISTA\\concatenado.parquet\")\n", "\n", "df_vdc['PDV'] = df_vdc['Quebra'].str.split(\" -\").str[0]\n", "\n", @@ -5279,29 +4859,51 @@ "\n", "df_vdc = df_vdc.rename(columns={'Quebra2':'DATA VENDA'})\n", "\n", - "df_vdc['DATA VENDA'] = pd.to_datetime(df_vdc['DATA VENDA'], format='%d/%m/%Y')" + "df_vdc['DATA VENDA'] = pd.to_datetime(df_vdc['DATA VENDA'], format='%d/%m/%Y')'''" ] }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 91, "id": "330154b2", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "\"df_vdc = pd.merge(df_vdc,df_depara_vdc[['CP VIVA BEM','PDVDEPARA.Practico']],left_on='PDV',right_on='CP VIVA BEM',how='inner')\\n\\ndf_vdc['Quantidade'] = df_vdc['Quantidade'].str.replace(r',000$','',regex=True)\\n\\ndf_vdc['Quantidade'] = df_vdc['Quantidade'].astype('Int64') \"" + ] + }, + "execution_count": 91, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "df_vdc = pd.merge(df_vdc,df_depara_vdc[['CP VIVA BEM','PDVDEPARA.Practico']],left_on='PDV',right_on='CP VIVA BEM',how='inner')\n", + "'''df_vdc = pd.merge(df_vdc,df_depara_vdc[['CP VIVA BEM','PDVDEPARA.Practico']],left_on='PDV',right_on='CP VIVA BEM',how='inner')\n", "\n", "df_vdc['Quantidade'] = df_vdc['Quantidade'].str.replace(r',000$','',regex=True)\n", "\n", - "df_vdc['Quantidade'] = df_vdc['Quantidade'].astype('Int64') " + "df_vdc['Quantidade'] = df_vdc['Quantidade'].astype('Int64') '''" ] }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 92, "id": "09cc2f82", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "\"df_vdc['Quantidade Acumulada vdc'] = (\\n df_vdc\\n .groupby(['PDVDEPARA.Practico', 'Código'])['Quantidade']\\n .cumsum()\\n) # acumulado por grupo até a data da linha\"" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "\n", "\n", @@ -5314,102 +4916,32 @@ "#df_venda_diaria = df_venda_diaria.sort_values(by=['PDV', 'SKU', 'Ciclo'])\n", "\n", "# Calcula a quantidade acumulada até o dia para cada grupo\n", - "df_vdc['Quantidade Acumulada vdc'] = (\n", + "r'''df_vdc['Quantidade Acumulada vdc'] = (\n", " df_vdc\n", " .groupby(['PDVDEPARA.Practico', 'Código'])['Quantidade']\n", " .cumsum()\n", - ") # acumulado por grupo até a data da linha" + ") # acumulado por grupo até a data da linha'''" ] }, { "cell_type": "code", - "execution_count": 86, + "execution_count": 93, "id": "5a827c08", "metadata": {}, "outputs": [ { "data": { - "text/html": [ - "| \n", - " | PDVDEPARA.Practico | \n", - "Código | \n", - "Ciclo vdc | \n", - "Quantidade Acumulada vdc | \n", - "
|---|---|---|---|---|
| 0 | \n", - "23701 | \n", - "1004 | \n", - "C202203 | \n", - "139.0 | \n", - "
| 1 | \n", - "23701 | \n", - "1004 | \n", - "C202204 | \n", - "161.0 | \n", - "
| 2 | \n", - "23701 | \n", - "1004 | \n", - "C202205 | \n", - "162.0 | \n", - "
| 3 | \n", - "23701 | \n", - "1004 | \n", - "C202206 | \n", - "9.0 | \n", - "
| 4 | \n", - "23701 | \n", - "1004 | \n", - "C202207 | \n", - "15.0 | \n", - "
| \n", + " | SUPERVISOR | \n", + "ANALISTA | \n", + "CANAL | \n", + "UF | \n", + "PDV | \n", + "DESCRIÇÃO PDV | \n", + "PRODUTO LANÇAMENTO | \n", + "DESCRIÇÃO DO LANÇAMENTO | \n", + "MARCA | \n", + "CATEGORIA | \n", + "... | \n", + "C-4 | \n", + "C-3 | \n", + "C-2 | \n", + "C-1 | \n", + "VENDAS CICLO ATUAL | \n", + "PICO VENDAS SIMILAR ULTIMOS 6 CICLOS | \n", + "PV GINSENG | \n", + "SUGESTÃO METASELLIN | \n", + "SUGESTÃO ABASTECIMENTO | \n", + "SUGESTÃO COMERCIAL | \n", + "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "0 | \n", + "JEFFERSON | \n", + "LJ | \n", + "BA3 | \n", + "24253 | \n", + "Matriz Centro | \n", + "48780 | \n", + "COFFEE DES ANTIT AER WOMAN SEDUC 75g V4 | \n", + "COFFEE | \n", + "DESODORANTES | \n", + "... | \n", + "1.0 | \n", + "0.0 | \n", + "2.0 | \n", + "2.0 | \n", + "0.0 | \n", + "2.0 | \n", + "0 | \n", + "\n", + " | \n", + " | \n", + " |
| 1 | \n", + "0 | \n", + "JEFFERSON | \n", + "LJ | \n", + "BA3 | \n", + "24253 | \n", + "Matriz Centro | \n", + "49154 | \n", + "COFFEE DES COL UNIQ WOM FL/GOURM 100ml | \n", + "CUIDE-SE BEM | \n", + "PERFUMARIA | \n", + "... | \n", + "1.0 | \n", + "0.0 | \n", + "0.0 | \n", + "1.0 | \n", + "0.0 | \n", + "1.0 | \n", + "28 | \n", + "\n", + " | \n", + " | \n", + " |
| 2 | \n", + "0 | \n", + "JEFFERSON | \n", + "LJ | \n", + "BA3 | \n", + "24253 | \n", + "Matriz Centro | \n", + "49193 | \n", + "COFFEE DES COL UNIQ MAN FOUG/OR 100ml | \n", + "COFFEE | \n", + "PERFUMARIA | \n", + "... | \n", + "0.0 | \n", + "1.0 | \n", + "0.0 | \n", + "1.0 | \n", + "0.0 | \n", + "1.0 | \n", + "28 | \n", + "\n", + " | \n", + " | \n", + " |
| 3 | \n", + "0 | \n", + "JEFFERSON | \n", + "LJ | \n", + "BA3 | \n", + "24253 | \n", + "Matriz Centro | \n", + "49893 | \n", + "CBEM LOC DES HID CPO ROS/ALG V3 400ml | \n", + "FLORATTA | \n", + "CUIDADOS COM A PELE | \n", + "... | \n", + "4.0 | \n", + "2.0 | \n", + "2.0 | \n", + "1.0 | \n", + "1.0 | \n", + "4.0 | \n", + "2 | \n", + "\n", + " | \n", + " | \n", + " |
| 4 | \n", + "0 | \n", + "JEFFERSON | \n", + "LJ | \n", + "BA3 | \n", + "24253 | \n", + "Matriz Centro | \n", + "49943 | \n", + "CBEM LOC DES HID CPO PESSEGURA V2 400ml | \n", + "CUIDE-SE BEM | \n", + "CUIDADOS COM A PELE | \n", + "... | \n", + "2.0 | \n", + "1.0 | \n", + "1.0 | \n", + "1.0 | \n", + "0.0 | \n", + "2.0 | \n", + "0 | \n", + "\n", + " | \n", + " | \n", + " |
5 rows × 31 columns
\n", + "