relatório de estágio · 2019. 9. 1. · manuais, máquinas de ligação e fixação, produtos...
TRANSCRIPT
Instituto Superior de Engenharia de
Lisboa Área Departamental de Matemática
Relatório de Estágio
sobre Otimização de Preços e Margens
Würth Portugal
Pedro Ferreira
nº 44117
Ano Lectivo
2018/2019
Orientadores
Prof. Nuno Lopes (ISEL)
Prof. Tiago Charters de Azevedo (ISEL)
Dr. Gonçalo Figueiredo (Würth)
Dr. Jorge Fernandes (Würth)
1
Índice
Resumo .................................................................................................................................... 2
Agradecimentos ....................................................................................................................... 3
Lista de Símbolos e Acrónimos ................................................................................................. 4
Introdução ................................................................................................................................ 6
Apresentação Institucional do Estágio ................................................................................... 6
Estrutura do Trabalho ........................................................................................................... 7
Preço de Venda vs Preço de Compra ........................................................................................ 8
Apresentação Detalhada do Problema .................................................................................. 8
Formulação Matemática ....................................................................................................... 9
Concretização e Resultados ................................................................................................. 14
Open Calculator...................................................................................................................... 17
Apresentação Detalhada do Problema ................................................................................ 17
Formulação Matemática ..................................................................................................... 18
Concretização e Resultados ................................................................................................. 20
Simulador ............................................................................................................................... 22
Apresentação Detalhada do Problema ................................................................................ 22
Formulação Matemática ..................................................................................................... 23
Concretização e Resultados ................................................................................................. 25
Conclusões ............................................................................................................................. 28
Bibliografia / Outras Referências ........................................................................................... 29
Anexos ................................................................................................................................... 30
Código Desenvolvido Comentado ........................................................................................ 30
2
Resumo
Este relatório tem como objectivo apresentar o trabalho que foi desenvolvido por mim,
em colaboração com os meus orientadores, durante o estágio na sede da Würth
Portugal.
A Würth Portugal pertence ao Grupo Würth, uma empresa multinacional líder de
mercado na área da fixação e montagem profissional. Está presente em 80 países, sendo
que, no total, são mais de 400 empresas e mais de 70.000 trabalhadores, onde 31.000
são vendedores.
A Würth Portugal inclui o comércio de parafusos e respetivos acessórios, buchas de
vários tipos, produtos químicos, material de isolamento, ferragens para mobiliário e
construção civil, ferramentas manuais, elétricas e pneumáticas, materiais de ligação e
fixação, produtos de manutenção e conservação, sistemas de arrumação e vestuário de
trabalho.
O estágio realizado centrou-se, principalmente, nos departamentos de Pricing e
Compras da Würth Portugal, em Sintra. Neste projeto, enquadram-se alguns dos tópicos
estudados durante o curso.
3
Agradecimentos
Este estágio não poderia ter decorrido sem a ajuda de muitos intervenientes. Pretendo,
então, agradecer a todos os que me apoiaram durante este estágio que fez parte de
minha evolução profissional, nomeadamente:
A todos as pessoas da Würth, que me ajudaram a integrar da melhor forma na
empresa, principalmente ao Dr. Gonçalo Figueiredo e ao Dr. Jorge Fernandes
por toda a ajuda que me proporcionaram durante o decorrer do estágio.
A toda a minha família, pois sem ela nunca teria conseguido chegar a este
patamar da minha vida. Nomeadamente, à minha mãe por tudo o que fez por
mim tanto a nível escolar como pessoal.
A todos os docentes do ISEL, por todo o conhecimento que me transmitiram
durante os 3 anos do curso.
Aos meus colegas, que sempre me incentivaram a estudar e a melhorar os meus
conhecimentos durante o curso.
À minha namorada, por todo o apoio e carinho que sempre me proporcionou a
todos os níveis.
4
Lista de Símbolos e Acrónimos
Gerais
WPT – Würth Portugal
WINT – Würth Internacional
Preço de Venda vs Preço de Compra
MB – margem bruta
VT – valor total
CT – custo total
∑MB𝑡 – soma das margens obtidas por todos os escalões de desconto
∑VT𝑡 – soma dos valores totais obtidos por todos os escalões de desconto
∑CT𝑡 – soma dos custos totais obtidos por todos os escalões de desconto
CTpm – custo total ao preço mínimo
VTpm – valor total (faturação) ao preço mínimo
Qpm – quantidades vendidas ao preço mínimo
∑Vt – soma dos valores totais obtidos por todos os escalões de desconto, excepto o preço mínimo
∑Ct – soma dos custos totais obtidos por todos os escalões de desconto, excepto o preço mínimo
∑Mb – soma das margens obtidas por todos os escalões de desconto, excepto o preço mínimo
NPM – novo preço mínimo
AUM – aumento do preço mínimo
PM−1 – preço mínimo anterior
∑CTn – soma dos custos totais para os escalões de desconto fora da tabela, incluindo o preço mínimo
∑Qn – soma das quantidades para os escalões de desconto fora da tabela, incluindo o preço mínimo
VTpt – valor total ao preço de tabela
CTpt – custo total ao preço de tabela
∑MBrest – soma das margens obtidas pelos restantes escalões de desconto, excepto preço mínimo e preço de tabela
5
∑VTrest – soma dos valores totais obtidas pelos restantes escalões de desconto, excepto preço mínimo e preço de tabela
Open Calculator
PQ – número de artigos nume pacote
MB1 – margens da Würth Internacional
Q1 – quantidades vendidas pela Würth Internacional
CT1 – custos totais da Würth Internacional
VT1 – valores de venda da Würth Internacional = custos totais da Würth Portugal
MB2 – margens da Würth Portugal
Q2 – quantidades vendidas pela Würth Portugal
VT2 – valores de venda da Würth Portugal
6
Introdução
Apresentação Institucional do Estágio
Este estágio decorreu de 10 de Outubro de 2018 até 19 de Julho de 2019 (9
meses). É uma unidade curricular que tem como objectivo aproximar os alunos
ao mercado de trabalho e ao mundo empresarial, ao abrigo do Protocolo
celebrado entre o ISEL e a Würth.
A Würth Portugal é uma empresa que se dedica ao comércio de ferramentas
manuais, máquinas de ligação e fixação, produtos químicos, mobiliário e
construção civil, vestuário de trabalho, entre outros. Tem cerca de 630
colaboradores, 19 lojas de retalho e cerca de 15000 produtos disponíveis, onde
a faturação anual ronda os 58,4 milhões de euros (valores de 2017).
O estágio decorreu na sede da Würth Portugal, em Sintra, com uma média de
16h/12h semanais (1º/2º semestre).
Com este estágio foi possível perceber alguns dos problemas que as empresas
enfrentam diariamente (neste caso em concreto, relativos à Würth Portugal) e
determinar formas de solucionar esses problemas, usando os conhecimentos
adquiridos no decorrer da licenciatura.
As resoluções dos vários problemas propostos foram tratadas em Python ou em
Excel.
Neste relatório, serão descritos os problemas tratados durante o estágio, as
abordagens matemáticas propostas para as suas resoluções, bem como alguns
exemplos de concretização dos problemas.
7
Estrutura do Trabalho
Este trabalho está estruturado da seguinte forma:
➢ Neste capítulo, Introdução, são brevemente apresentados todos os
problemas que foram tratados;
➢ Nos capítulos Preço de Compra vs Preço de Venda, Open Calculator e
Simulador irão ser descritos ao pormenor, abordados de forma
matemática para a sua resolução e serão apresentados, ainda, exemplos
de concretização dos problemas;
➢ Por fim, em Conclusões, serão retiradas algumas conclusões para
finalizar o relatório.
Durante o decorrer do estágio foram abordados os problemas seguintes:
✓ Preço de Venda vs Preço de Compra
• Este problema tem como objectivo perceber o impacto na
margem que tem o aumento do preço de compra de um
determinado artigo por parte da Würth Portugal e procurar
uma forma de resolver o problema (que é a perda de margem).
• Resolvido com suporte Excel.
✓ Open Calculator
• O Open Calculator é um problema entre duas empresas: Würth
Internacional (WINT) e Würth Portugal (WPT). A WINT adquire
uma determinada lista de produtos que, posteriormente, vende
à WPT que, por sua vez, vende ao consumidor final. Tem como
objectivo ajustar o preço a que a WINT vende à WPT de forma
a que as duas empresas beneficiem o máximo possível de
lucros.
• Resolvido com suporte Python.
✓ Simulador
• O simulador foi um problema que foi proposto de forma a
ajudar a Würth a prever as consequências de situações, como a
entrada de um artigo, na margem da empresa.
• Resolvido com suporte Python e Excel.
8
Preço de Venda vs Preço de Compra
Apresentação Detalhada do Problema
O objectivo deste problema consiste em analisar o impacto da variação do preço
de compra de um artigo, quando este varia, sobre a margem bruta (MB = VALOR
TOTAL – CUSTO TOTAL), e encontrar uma forma de ajustar o preço de venda
(preço de tabela e respectivos escalões de desconto) de modo a não perder
margem.
São exigidos os seguintes dados para a resolução do problema:
1. Preço de tabela
2. Quantidades vendidas segundo cada escalão de desconto
3. Preço de compra padrão
4. Aumento percentual do preço de compra
Este problema teve em conta duas situações distintas: inicialmente, o objectivo
é apenas variar um preço mínimo de tabela, isto é, o preço mais baixo (ou o de
maior desconto) ao qual o artigo é vendido. O que significa que a tabela de
desconto irá ser “encurtada” de modo a que a margem não se altere –
designemos esta primeira situação por i); no segundo passo pretende-se obter
uma tabela alterada com valores que não alterem a margem inicial, o que
significa que irá existir um valor de tabela diferente e, consequentemente,
valores de desconto diferentes também – situação ii).
A diferença entre estas duas situações é a seguinte: em vez de ser aumentado
numa margem tão elevada o preço mínimo de tabela, irá ser feito um aumento
percentual mais baixo, mas em todos os escalões de desconto, incluindo o preço
de tabela.
No entanto, como na situação ii) podemos variar não só o preço mínimo, mas
também o preço de tabela e restantes escalões de desconto, então a fórmula
determinada na situação não permite resolver a situação.
Tabela de descontos
em que P1 representa o preço de tabela, Pi (i=2,3,4) os preços com x% de
desconto (x=10,20,30).
Preço Tabela P1
10% P2
20% P3
30% P4
9
Formulação Matemática
Tal como exposto anteriormente, o objectivo deste problema foca-se em
perceber como atuar, em relação aos preços de venda, quando o preço de
compra aumenta, de forma a não perder margem.
Na referida situação i), o único preço a variar é o mínimo da tabela, isto é,
procura-se determinar um preço mínimo ao qual todas as vendas abaixo do
mesmo passem a ser efetuadas a esse preço.
Inicialmente, tem-se que a faturação líquida (total de vendas) é dada por
VALOR TOTAL (FATURAÇÃO LÍQUIDA) = QUANTIDADES * PREÇO VENDA
os custos por
CUSTO TOTAL = QUANTIDADES * PREÇO COMPRA
e a margem bruta por
MB (MARGEM BRUTA) = VALOR TOTAL – CUSTO TOTAL
Então
MB = ∑MB𝑡
∑VT𝑡 (1)
representa a margem bruta do artigo, em que ∑MB𝑡 representa a soma das
margens obtidas por todos os escalões de desconto e ∑VT𝑡 representa a soma
dos valores totais obtidos por todos os escalões de desconto.
Podemos tomar o valor de (1) como uma percentagem, basta multiplicar esse
valor por 100.
10
i)
Sabendo que (1) explica a margem (o que é crucial para a resolução, pois é
exatamente a partir da fórmula que determina a margem que se desenvolve a
resolução), que irá descer com o aumento do preço de compra, então vem que
MB = ∑VT𝑡 − ∑CT𝑡
∑VT𝑡=
∑Vt − ∑Ct + (VTpm − CTpm)
∑Vt + VTpm=
∑Mb + (Qpm ∗ NPM) − CTpm
∑Vt + (Qpm ∗ NPM)
em que
NPM representa o novo preço mínimo (que é a incógnita do problema)
∑CT𝑡 – soma dos custos totais obtidos por todos os escalões de
desconto
CTpm – custo total ao preço mínimo
VTpm – valor total (faturação) ao preço mínimo
Qpm – quantidades vendidas ao preço mínimo
∑Vt – soma dos valores totais obtidos por todos os escalões de
desconto, excepto o preço mínimo
∑Ct – soma dos custos totais obtidos por todos os escalões de
desconto, excepto o preço mínimo
∑Mb – soma das margens obtidas por todos os escalões de desconto,
excepto o preço mínimo
Desenvolvendo o resultado anterior em ordem a NPM, vem
NPM = %MB ∗ ∑Vt − (∑Mb − CTpm)
Qpm − %MB ∗ Qpm
que é o novo preço mínimo a considerar.
De modo a obter o aumento do preço mínimo basta proceder ao seguinte
cálculo
%AUM = NPM − PM−1
PM−1 * 100%
em que PM−1 é o preço mínimo que estava disponível anteriormente.
No entanto, por vezes acontece existirem artigos vendidos em escalões de
desconto fora da tabela (escalões de maior desconto). Nesse caso, teremos de
considerar também esses escalões. Para tal, consideremos que as quantidades
vendidas a preços não tabelados (preços abaixo do preço mínimo tabelado)
passam então a ser vendidas ao preço mínimo.
11
Então, vem que
NPM = %MB ∗ ∑Vt − (∑Mb − ∑CTn)
∑Qn− %MB ∗ ∑Qn (2)
onde
∑CTn é a soma dos custos totais para os escalões de desconto fora da
tabela, incluindo o preço mínimo
∑Qn é a soma das quantidades para os escalões de desconto fora da
tabela, incluindo o preço mínimo
ii)
Em relação à situação ii), o objectivo é o mesmo que para a situação i), mas com
comportamentos adicionais. Para além do preço mínimo, também se irá alterar
o preço tabela. Ou seja, os objectivos desta alteração são evitar uma subida tão
grande do preço mínimo, compensando com o preço de tabela, e, ao mesmo
tempo, não eliminar escalões de desconto da tabela, isto é, manter os escalões
de desconto iniciais.
Começamos por calcular o preço mínimo exatamente da mesma forma que na
situação i) ((2)). Como, geralmente, ultrapassa o preço mínimo da tabela significa
que irá encurtá-la. Por isso, tem de ser encontrada uma forma de evitar essa
subida tão elevada e compensar com uma subida do preço de tabela. Ora, isto
irá alterar os escalões de desconto. No entanto, o único que sofre alterações é,
de facto, o preço mínimo. Nestas condições, os escalões de desconto sofrem
modificações.
Após calculado o novo preço mínimo, existe um valor do aumento em relação
ao preço mínimo anterior. Designemos esse valor por value. Então, o objectivo
é usar apenas uma parte de value (que iremos designar por 𝐱) para que
possamos também alterar o preço de tabela e manter a margem inicial.
Nota: observamos que se subirmos value ao preço de tabela, a margem irá ser
maior.
Definimos então uma tabela idêntica à inicial, com a alteração que
consideramos que todos as vendas que foram feitas com valores fora da tabela
(maiores descontos que o máximo da tabela) passam então a ser feitos ao preço
mínimo tabelado. Essa tabela irá indicar-nos uma margem obviamente inferior.
12
Trabalhando novamente com (1), sabemos que
MB = ∑MB
∑VT =
(VTpm − CTpm) + (VTpt − CTpt) + ∑MBrest
VTpm + VTpt + ∑VTrest + 𝐱 ∗ ∑VTrest (3)
em que
VTpm é o valor total de venda ao preço mínimo
CTpm é o custo total ao preço mínimo
VTpt é o valor total de venda ao preço de tabela
CTpt é o custo total ao preço de tabela
∑MBrest é a soma das MB dos restantes escalões de desconto
∑VTrest é a soma dos VT dos restantes escalões de desconto
Seguindo apenas o numerador de (3), vem que
∑MB = VTpt ∗ Qpt − CTpt + VTpm ∗ Qpm − CTpm + ∑MBrest =
= VTpm ∗ FD ∗ Qpt − CTpt + VTpm ∗ Qpm − CTpm + ∑VTrest + 𝐱 ∗ ∑VTrest − ∑CTrest
sendo VTpt = VTpm ∗ FD.
Desenvolvendo a equação anterior, sabendo que VTpm = PM−1+ x ∗ PM−1, vem
que a ∑MB é igual a
PM−1 ∗ (Qpt ∗ FD + Qpm) + PM−1 ∗ 𝐱 ∗ (Qpt ∗ FD + Qpm) + ∑VTrest + 𝐱 ∗ ∑VTrest − ∑CT
onde
PM−1 é o preço mínimo tabelado inicial
FD é o fator de desconto, FD =1
1 − max , em que max é o desconto
máximo da tabela dividido por 100.
𝐱 é a parte de value que iremos usar para determinar os novos preços
da tabela
Seguindo agora o denominador de (3), vem que
∑VT = VTpt ∗ Qpt + VTpm ∗ Qpm + ∑VTrest =
= VTpm ∗ FD ∗ Qpt + VTpm ∗ Qpm + ∑VTrest + 𝐱 ∗ ∑VTrest
sendo VTpt = VTpm ∗ FD.
13
Desenvolvendo a equação anterior, sabendo que VTpm = PM−1+ x ∗ PM−1, vem
∑VT = PM−1 ∗ (Qpt ∗ FD + Qpm) + PM−1 ∗ 𝐱 ∗ (Qpt ∗ FD + Qpm) + ∑VTrest + 𝐱 ∗ ∑VTrest
Voltando, então, à equação (3) vem
%MB = PM−1∗(Qpt∗FD+Qpm)+PM−1∗𝐱∗(Qpt∗FD+Qpm)+∑VTrest+𝐱∗∑VTrest − ∑CT
PM−1∗(Qpt∗FD+Qpm)+PM−1∗𝐱∗(Qpt∗FD+Qpm)+∑VTrest+𝐱∗∑VTrest
Desenvolvendo a equação anterior em ordem a 𝐱 resulta
𝐱 = (%MB−1)(PM−1∗(Qpt∗FD+Qpm)+∑VTrest)+∑CT
(1−%MB)(PM−1∗(Qpt∗FD+Qpm)+∑VTrest) (4)
em que 𝐱 é a percentagem que se irá subir à tabela.
Então a tabela final será calculada de forma a que o preço mínimo seja
PM−1+ x ∗ PM−1 (5)
e o preço de tabela dado por NPM∗FD (6)
ficando determinado o preço mínimo, o preço de tabela e os restantes preços
dos escalões de desconto.
14
Concretização e Resultados
Tal como referido anteriormente, a resolução deste problema foi feita
recorrendo ao programa Excel.
Nesta secção, apresentar-se-ão resultados práticos das resoluções estudadas na
secção anterior.
Exemplo 1
Comecemos por verificar a situação i).
i)
Dados: preço de compra e preço de tabela do artigo e aumento do preço de
compra
Em primeiro lugar, construímos a tabela inicial dos preços
De seguida, verificamos qual a nova margem com o aumento do preço de
custo.
Nota: observamos que a margem desce.
15
Então, já temos todos os dados que precisamos para aplicar (2).
Aplicando a fórmula na folha de cálculo:
Se transformarmos este novo preço no preço mínimo, conseguimos então
manter a margem, considerando que todas as quantidades vendidas abaixo
deste preço passam a ser vendidas no mínimo a este preço.
ii)
Continuando a utilizar os mesmo dados, verifiquemos, assim, a situação ii).
Como o primeiro passo se resume à situação i) e como iremos usar os mesmos
dados, seguiremos diretamente para a parte em que diferem as situações.
Temos que o novo preço mínimo é
e que houve um aumento de
em relação ao preço mínimo inicial.
Temos, também, que o fator de desconto FD é
Consideramos então que as quantidades vendidas abaixo do preço mínimo
foram então vendidas ao preço mínimo.
As duas células correspondentes aos valores 15882,23 e 9617,81 representam
∑VTrest e ∑MBrest, respectivamente.
16
Temos então todos os dados que precisamos para aplicar (4).
Temos, assim, o valor 𝐱, que corresponde ao valor que vamos aumentar o preço
de tabela, variando, assim, os escalões de desconto, mas mantendo a margem
inicial intacta.
A tabela final vem definida conforme o valor 𝐱
onde o novo preço mínimo (40%) vem definido por (5), sendo o preço de tabela
dado por (6).
Conclusões:
i) O novo preço mínimo determinado que foi de 23.9, que corresponde a um
desconto de cerca de 15.1%, é um valor abaixo do preço de tabela e, por isso,
razoável.
ii) Os preços tabelados sobem, no entanto, os escalões de desconto são
mantidos. Além disso, podemos verificar que a margem inicial também é
mantida, ou seja, o objectivo deste problema foi alcançado.
17
Open Calculator
Apresentação Detalhada do Problema
Este problema surge no contexto de compra e venda de artigos entre o
fornecedor, a Würth Internacional, a Würth Portugal e o consumidor. A Würth
Internacional compra produtos ao fornecedor e vende à Würth Portugal que,
por sua vez, os vende ao consumidor (com diferentes preços).
O Open Calculator tem como objectivo ajustar os preços de venda da Würth
Internacional à Würth Portugal (ou seja, os preços de compra da Würth
Portugal) de modo a que, dados os preços de compra da Würth Internacional e
os preços de venda da Würth Portugal, para uma lista de artigos, os ganhos
sejam os maiores possível para as duas empresas, dentro de algumas restrições
e de acordo com as quantidades vendidas anteriormente. Ou seja, é uma forma
de projetar uma melhoria nos ganhos das empresas.
Para a resolução deste problema é exigida uma lista de artigos com os seguintes
dados:
1. Preço de compra da WINT
2. Preço de venda da WINT = Preço de compra da WPT
3. PQ de venda da WINT
4. Quantidades vendidas pela WINT
5. Preço de venda da WPT
6. PQ de venda da WPT
7. Quantidades vendidas pela WPT
O método utilizado foi o método matemático da descida/subida do gradiente.
Neste caso, o objectivo é otimizar a margem das duas empresas (WINT e WPT).
Teremos duas funções para representar a margem de cada empresa.
O método analisa o gradiente das duas funções e aponta-o para uma direção
que faça aumentar as funções, isto é, que faça otimizar os lucros, de acordo com
os preços a variar (preço de venda WINT = preço de compra WPT).
Nota: este problema faz sentido ser analisado com o máximo de artigos possível,
pois os preços devem são ajustados tendo em conta todos os artigos da
empresa, para que a estudo seja o mais rigoroso possível.
Esta abordagem é sugerida no relatório elaborado pelo prof. Nuno Lopes sobre
este problema do Open Calculator (ver [4]).
18
Formulação Matemática
O objectivo deste ponto consiste em otimizar preços de compra da Würth
Portugal (preços de venda da Würth Internacional) com o fim de obter margens
mais elevadas.
O método utilizado para determinar uma solução mais otimizada dos preços a
variar foi o método da descida do gradiente. Este método consiste em, definidas
duas funções, as funções que determinam as margens de cada uma das
empresas (Würth Portugal e Internacional), orientá-las para a direção que
permite a melhor subida dos valores das margens. Matematicamente, o que nos
permite determinar essa melhor direção é o gradiente.
As funções a otimizar são as seguintes
𝑀𝐵1(𝑽𝑻𝟏) = ∑ 𝑄𝑖1𝑁
𝑖=1 ∗ (𝑽𝑻𝒊𝟏 − 𝐶𝑇𝑖
1) = 𝑄1 ∗ 𝑽𝑻𝟏 − 𝑄1 ∗ 𝐶𝑇1 (7)
𝑀𝐵2(𝑽𝑻𝟏) = ∑ 𝑄𝑖2𝑁
𝑖=1 ∗ (𝑉𝑇𝑖2 − 𝑽𝑻𝒊
𝟏) = 𝑄2 ∗ 𝑉𝑇2 − 𝑄2 ∗ 𝑽𝑻𝟏 (8)
em que
MB1 - representa a margem bruta da Würth Internacional
Q1 - representa as quantidades vendidas pela Würth Internacional
VT1 - representa as vendas da Würth Internacional
CT1 - representa o custo total da Würth Internacional
MB2 - representa a margem bruta da Würth Portugal
Q2 - representa as quantidades vendidas pela Würth Portugal
VT2 - representa as vendas da Würth Portugal
Como se pode observar, ambas as funções estão definidas em função do preço
que se quer otimizar: o preço de venda da Würth Internacional (ou preço de
compra da Würth Portugal).
Das funções anteriormente definidas, vem que os respectivos gradientes são
dados por
∇MB1(𝑽𝑻𝟏) = 𝑄1
∇MB2(𝑽𝑻𝟏) = − 𝑄2
Como as funções definidas em (7) e (8) são funções afins, então podemos definir
um parâmetro, α, de ajustamento (define o peso da cada empresa, portanto
situa-se entre 0 e 1) para que ambas as margens aumentem conjuntamente
(1 − α) ∗ 𝑄1 − α ∗ 𝑄2, α ϵ [0,1]
19
Foram, ainda, definidos os limites inferior e superior para α que resultam
diretamente da definição de 𝑽𝑻𝒊, em que resultam
α <𝑄1|𝑄1
𝑄1|𝑄1 + 𝑄1|𝑄2 ∶= α𝑠𝑢𝑝 limite superior
e
α >𝑄2|𝑄1
𝑄2|𝑄2 + 𝑄1|𝑄2 ∶= α𝑖𝑛𝑓 limite inferior
O algoritmo utilizado para o cálculo dos novos preços consiste nos seguintes
passos:
1. Começar com um comprimento de passo (δ) pequeno (>0) e definir o
parâmetro α > 0.5 de forma a privilegiar a MB da Würth Portugal.
2. Substituir 𝑽𝑻𝒊𝟏 por 𝑽𝑻𝒊
𝟏 + δ((1 − α) ∗ 𝑄𝑖1 − α ∗ 𝑄𝑖
2)
3. Verificar se 𝑀𝐵1 e 𝑀𝐵2 sobem. Caso contrário, descer/subir α de modo
a que ambas as condições sejam satisfeitas.
4. Verificar se 𝐶𝑇𝑖1 ≤ 𝑽𝑻𝒊
𝟏 ≤ 𝑉𝑇𝑖2. Caso contrário, truncar para que as
condições anteriores sejam satisfeitas.
5. Voltar para o passo 1. ou parar o método se os lucros estabilizarem
Os novos preços são escritos numa nova folha Excel de modo a ficaram
registados em Excel.
O código está disponível na secção Anexos no final deste relatório.
20
Concretização e Resultados
Tal como referido anteriormente, este problema foi resolvido com o suporte do
Python.
Nesta secção, apresentar-se-ão resultados práticos das implementações dos
métodos expostos na secção anterior.
Exemplo 2
A resolução prática deste problema consiste em introduzir os dados
apresentados numa folha de cálculo no código, definindo as colunas de dados
respetivas a cada tipo de dados.
Dados
A título de exemplo e por uma questão de espaço, na imagem acima apenas são
mostrados 15 artigos. No caso em estudo, foram considerados 98 artigos.
Para se determinar com o maior grau de otimização possível devem ser
utilizados o máximo de artigos possível. O código foi também testado com um
conjunto de dados nos quais constavam 4597 artigos.
21
Depois de correr o código para os dados apresentados, é criada uma folha Excel
com os novos preços.
Tal como nos dados, por uma questão de dimensão, na imagem anterior são
apenas apresentados os novos preços dos primeiros 15 artigos.
Conclusões:
Através desde método, foi possível mostrar que houve um aumento
significativo das margens da WPT e da WINT.
Não foi obtida a solução mais ótima deste problema. Eventualmente,
utilizando outros métodos, isso pode estar mais próximo ser alcançado.
22
Simulador
Apresentação Detalhada do Problema
Neste problema foi criado um simulador criado em Excel para prever
consequências de situações como a entrada de um artigo para venda, a
promoção de um determinado artigo, o aumento do preço de compra de um
artigo, entre outros.
Para tal, foi criada uma folha de cálculo para representar essas situações.
Introduzindo os dados do(s) artigo(s) em estudo e os dados da empresa (de
vendas e a MB) e são devolvidas as consequências em termos de margem bruta
da empresa.
Em primeira instância, foi desenvolvido um algoritmo que reproduz as
consequências da substituição de um artigo em detrimento de outro e é
reproduzido um gráfico que representa as alterações na margem quando é feita
a substituição dos valores de um artigo por cada um dos restantes da lista –
designemos por situação i..
O código está disponível na secção Anexos no final deste relatório.
Depois, foi criado um simulador em Excel, que simula as perdas de margem que
podem ocorrer perante um, dois ou três artigos – situação ii..
Para a resolução da primeira situação deste problema é necessária uma lista de
artigos com os seguintes dados:
1. Preço de compra da WPT
2. PQ de compra da WPT
3. Quantidades compradas pela WPT
4. Preço de venda da WPT
5. PQ de venda da WPT
6. Quantidades vendidas pela WPT
Para a resolução da segunda situação deste problema são necessários os
seguintes dados:
1. Valor total das vendas da WPT
2. Margem bruta percentual da WPT
3. Unidades, custo unitário de compra e custo unitário de venda do
artigo(s) em estudo
23
Formulação Matemática
O objectivo do simulador é prever as eventuais perdas de margem devido à
entrada de um novo artigo (ou vários).
Foram desenvolvidos dois programas distintos:
i. Um simulador em Python que mostra as consequências na margem da
substituição de um artigo pelos vários existentes
ii. Um simulador em Excel que mostra o impacto de um (ou mais) artigo na
margem, para saber que perdas de margem existiram
Em primeira instância (i.), foi desenvolvido um algoritmo que demonstra as
consequências da substituição de um novo artigo pelos vários artigos existentes
numa lista. Este baseia-se na substituição direta dos dados do novo artigo por
cada um dos artigos da lista, individualmente, e determina as consequências
dessas substituições na margem.
Calculadas então as margens relativas a cada substituição, é reproduzido um
gráfico que representa as novas margens, que dá uma ideia de quais os melhores
e os piores artigos para substituir. Conseguimos perceber que os melhores
artigos a substituir, para se obter uma melhor margem, serão aqueles que têm
uma margem mais baixa que o artigo a substituir.
Para resolver o problema ii., foi construído um simulador em Excel que mostra
o impacto que um (ou vários) artigo(s) tem (têm) na margem.
Este simulador pede os dados das vendas e margem da empresa e,
consequentemente, mostra os custos. De seguida, pede também os dados
referentes ao artigo em análise: custo unitário, valor de venda unitário e
unidades vendidas; apresenta o fator de custo, a margem percentual, o valor de
vendas e o valor de custos.
Num cálculo intermédio, retira-se o valor de vendas do artigo ao valor de vendas
total e calcula-se o valor total de custos a partir dessa subtração
Custos = Vendas – Vendas * MB
onde
Vendas = Valor de vendas total – valor de vendas artigo
MB = MB empresa
24
Para determinar as eventuais perdas de margem volta a calcular-se o valor total
de vendas - voltando a adicionar o valor de vendas do artigo ao valor de vendas
total -, o valor total de custos - desta vez será igual aos Custos determinados no
cálculo intermédio somado com os custos do artigo - e, consequentemente, a
nova margem. Para saber a quantidade de MB perdida basta determinar MB
antiga - MB nova.
Os simuladores para 2 e 3 artigos apresentam exatamente a mesma forma, mas,
nos cálculos intermédios, é preciso ter em conta mais que um artigo.
Basta introduzir os dados da empresa, consoante o número de artigos a analisar
- valor de vendas e margem bruta - e do(s) artigo(s) – quantidades, custo unitário
e valor de venda unitário – e a folha de cálculo determina qual a percentagem
de MB perdida.
25
Concretização e Resultados
Tal como foi dito anteriormente, este problema foi resolvido recorrendo às
ferramentas informáticas Python e Excel.
Nesta secção, apresentar-se-ão resultados práticos das resoluções estudadas na
secção anterior.
Exemplo 3
Este exemplo refere a situação i..
Começamos por extrair os dados necessários à resolução deste problema.
Utilizando parcialmente os mesmos dados do Exemplo 2, novamente por uma
questão de espaço, nas imagens apresentamos apenas os 15 primeiros artigos.
Dados
26
Então, definindo os dados no código Python, recebemos as margens obtidas
com a substituição do novo artigo
Podemos também construir um gráfico no Excel que representa os resultados
anteriores.
Verificamos que a substituição do novo artigo nos primeiros artigos da lista tem
uma maior influência na margem.
0,55
0,555
0,56
0,565
0,57
0,575
0,58
0 20 40 60 80 100 120
Consequências da substituição do novo artigo, por cada artigo
Mar
gem
Artigos (identificação)
27
Exemplo 4
Este exemplo refere a situação ii., para 1 artigo.
Dados: valor de vendas e margem da empresa e quantidades, preço de compra
unitário e preço de venda unitário do artigo
Conforme os dados que introduzimos, a folha de Excel apresenta os custos da
empresa
e, ainda o FC, as vendas, os custos e a margem do artigo.
No cálculo intermédio, é nos dada a diferença de vendas sem as vendas do artigo
e os custos associados, mantendo a margem.
Finalmente, no cálculo de perdas são apresentadas as vendas, os custos e a nova
margem com o artigo e é apresenta a diferença de margem referente às perdas.
Conclusões:
i.) Foram identificados com sucesso quais os artigos cuja substituição pelo novo
artigo tem uma maior influência na margem;
ii.) Foi determinada a perda de margem bruta em relação ao artigo estudado.
O objectivo foi alcançado.
28
Conclusões
Neste relatório, foram apresentados resultados concretos de resoluções de problemas
em 3 tópicos: Preço de Compra vs Preço de Venda, Open Calculator e Simulador.
Em relação ao primeiro tópico, Preço de Compra vs Preço de Venda, os resultados
apresentados são aceitáveis e cumprem o objectivo principal: ajustar os preços
tabelados de um determinado artigo de forma a que, quando existe um aumento do
preço de compra do artigo, a margem bruta ser mantida (ver Exemplo 1).
No segundo tópico, Open Calculator, o objectivo principal era encontrar uma forma
(neste caso, um método matemático) para melhorar os lucros tanto da Würth Portugal
como da Würth Internacional.
Os resultados obtidos mostram que, aplicando os dados ao método utilizado, houve um
aumento dos lucros de ambas as empresas (ver Exemplo 2).
Este problema é sensível aos valores atribuídos aos parâmetros utilizados no método (δ
e α).
Por último, o Simulador é um problema com o objectivo da Würth prevenir eventuais
perdas de margem, devido a alterações na venda de artigos.
Foi definida a folha de cálculo que com os dados exigidos introduzidos de um ou mais
artigos dá a resposta em relação à diferença de margem em relação à margem inicial da
empresa.
Os resultados apresentados no Exemplo 3 são demonstrativos de alteração da margem
quando se substitui um artigo por cada um dos artigos da lista.
Os resultados apresentados no Exemplo 4 mostram que, em relação ao artigo em
estudo, houve um decréscimo de margem e, assim, a Würth poderá atuar conforme
estes resultados.
29
Bibliografia / Outras Referências
[1] Alexander, M., Walkenbach, J. (2010). Excel Dashboards & Reports. Hoboken: Wiley
Publishing
[2] Lutz, M. (2011). Programming Python. (4ª ed.). Sebastopol: O' Reilly Medi
[3] WÜRTH. (s.d.). Empresa. Disponível em: https://bit.ly/2RDtYdM [4] Lopes, N. (2017). Relatório interno Würth Report On “Profitability Optimization in Supply
Chain
30
Anexos Código Desenvolvido Comentado
Código Desenvolvido para o Open Calculator
31
32
33
34
Código Desenvolvido para o Simulador
35
36