Mudanças entre as edições de "Precificação"

De GeoSales
Ir para navegação Ir para pesquisar
 
(77 revisões intermediárias por 3 usuários não estão sendo mostradas)
Linha 13: Linha 13:
 
== Necessidade ==
 
== Necessidade ==
  
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio usuário consiga fazer esta composição.
+
No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio usuário consiga fazer estes ajustes.
  
 
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.
 
O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.
Linha 19: Linha 19:
 
== Solução ==
 
== Solução ==
  
Visto que a formação de preços, e seu processo de elaboração, devem ser totalmente customizáveis pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.
+
Visto que a formação de preços, e seu processo de elaboração, deve ser totalmente customizável pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.
  
 
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''' (a mesma lógica de cálculo das calculadoras HP 12 C), ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro.  
 
Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a '''''notação polonesa  reversa (RPN)''''' (a mesma lógica de cálculo das calculadoras HP 12 C), ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro.  
Linha 32: Linha 32:
  
 
# Criação de Tabela;
 
# Criação de Tabela;
<!-- # para inserção de Variáveis e/ou aproveitamento de Tabela existente; -->
 
 
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);
 
# Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);
 
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;
 
# Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;
Linha 47: Linha 46:
 
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;
 
* '''Data inicial vigência''' -  Campo de data, onde definirá o inicio da vigência da tabela;
 
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;
 
* '''Data final vigência''' -  Campo de data, onde definirá o final da vigência da tabela;
 
  
  
 
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;
 
* Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;
 
* Caso uma tabela de preço tenha uma data inicial posterior à data atual, essa tabela de preço específica não deverá ser exibida para seleção no cadastro do pedido;
 
* Caso uma tabela de preço tenha uma data inicial posterior à data atual, essa tabela de preço específica não deverá ser exibida para seleção no cadastro do pedido;
 +
* O campo data final ao ser inserido, não pode ser um valor menor que a data inicial já informada.
 
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;
 
* Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;
 
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;
 
* Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;
 
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.
 
* Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.
  
[[Arquivo:Tabelapreco.jpg|500px]]  
+
[[Arquivo:Tabelapreco.jpg|600px]]
 +
 
 +
[[Arquivo:Tabelapreco2.jpg|600px]]
  
[[Arquivo:Tabelapreco2.jpg|500px]]
+
<!--[[Arquivo:Tela1.jpg|800px]]-->
 +
Obs: As telas apresentadas poderão sofrer alterações, em vista de atender às opções de usabilidade.
  
 
=== Declaração de variáveis ===
 
=== Declaração de variáveis ===
Linha 75: Linha 77:
 
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;
 
* '''Descrição''' -  Campo de texto limitados ao máximo de 70 caracteres;
 
* '''Chave''' -  Campo de texto de 8 caracteres;
 
* '''Chave''' -  Campo de texto de 8 caracteres;
* '''Produto / Tabela''' -  A seleção de uma produto ou de uma tabela, dados previamente alimentados;
+
* '''Produto / Tabela''' -  A seleção de um produto ou de uma tabela, dados previamente alimentados;
 
* '''Valor''' -  Campo numérico(18:6);
 
* '''Valor''' -  Campo numérico(18:6);
  
Linha 81: Linha 83:
  
  
[[Arquivo:Tela2.jpg|500px]]
+
[[Arquivo:Tela2.jpg|600px]]
 +
 
 +
Obs: As telas apresentadas poderão sofrer alterações, em vista de atender às opções de usabilidade.
  
 
=== Definição da formula de preço ===
 
=== Definição da formula de preço ===
  
* Será necessário selecionar uma tabela de preço, a organização de venda e um ou mais produtos aos quais o preço deve ser inserido.
+
* Será necessário selecionar uma '''ou mais''' tabelas de preço e um ou mais produtos aos quais o preço deve ser inserido.
 
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.
 
* Para a regra de preço teremos que informar a '''formula''' do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.
 
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.
 
* Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de '''operadores matemáticos (+, -, *, / )''', organizados em '''RPN''', notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.
 
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.
 
* Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.
 +
* Quando um dos campos das formulas não houver definição de formula, o valor será gerado com o valor zero ou o resultado da formula apresentar um valor negativo, esse valor também se apresentará como zero.
 +
* Ao gerar os valores da faixa de preço, caso o valor mínimo, seja maior que o valor sugerido, esse valor será replicado para para o sugerido.
 +
* Ao gerar os valores da faixa de preço, caso o valor máximo, seja menor que o valor sugerido, o valor sugerido será replicado ao máximo.
 +
  
 
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.
 
Como exemplo de notação polonesa reversa, tomemos a expressão '''''(A+B)*C'''''. Em RPN, a notação ficaria '''''AB+C*'''''.
  
[[Arquivo:Tela3.jpg|500px]]
+
[[Arquivo:Tela3.jpg|600px]]
 +
 
 +
Obs: As telas apresentadas poderão sofrer alterações, em vista de atender às opções de usabilidade.
  
 
=== Processar tabela ===
 
=== Processar tabela ===
Linha 98: Linha 108:
 
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.
 
É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.
  
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de vendas está alocada.
+
As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de venda está alocada.
 
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.
 
Há dois grupos de variáveis: aquelas que são relacionadas ao '''produto''' em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à '''Tabela''' (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.
  
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos.
+
Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos. Ou seja, será possível realizar a seleção de produtos e colocar dentro de um mesmo Agrupamento. Ao fim do processo, os produtos vinculados aquele agrupamento e a tabela de preço, receberam seus preços baseados nas formulas inseridas para a tabela preço especificada.
  
Sempre que uma das variáveis for alterada, para que ocorra atualização de valores da faixa de preço baseados na alteração, deve ser feito um reprocessamento baseado nos valores atualizados das variáveis.
+
Para geração do preço, necessariamente o produto precisa está vinculado a tabela de preço, seja de forma individual ou como já citado dentro de um agrupamento.
 +
 
 +
Sempre que uma das variáveis ou formulas de calculo for alteradas, para que ocorra atualização de valores da faixa de preço baseados na alteração, deve ser feito um reprocessamento, assim os valores serão atualizados levando em consideração as alterações feitas.
  
 
Na aba de reprocessamento, sempre que houver uma solicitação de processamento devemos salvar as informações para eventual consulta. Ao entrar no detalhe podemos acompanhar o status do processamento.
 
Na aba de reprocessamento, sempre que houver uma solicitação de processamento devemos salvar as informações para eventual consulta. Ao entrar no detalhe podemos acompanhar o status do processamento.
  
[[Arquivo:Tela4.jpg|500px]]
+
Ao iniciar um processamento ou reprocessamento, qualquer alteração só refletirá nos valores, depois de um novo reprocessamento, já que o iniciado, foi antes da alteração realizada.
 +
 
 +
[[Arquivo:Tela4.jpg|600px]]
 +
 
 +
Obs: As telas apresentadas poderão sofrer alterações, em vista de atender às opções de usabilidade.
  
 
== Cenários ==
 
== Cenários ==
  
===DICIONÁRIO DE DADOS ===
+
===Dicionário de Dados ===
  
 
Considere  tabela abaixo com as seguintes tabelas cadastradas e suas respectivas vigências:
 
Considere  tabela abaixo com as seguintes tabelas cadastradas e suas respectivas vigências:
Linha 152: Linha 168:
 
| '''pr'''  || Promotor || Tabela - 01 || 1,02
 
| '''pr'''  || Promotor || Tabela - 01 || 1,02
 
|-
 
|-
| '''ou''' || Fator Quebra || Tabela - 01 || 3,5
+
| '''qu''' || Fator Quebra || Tabela - 01 || 3,5
 
|-  
 
|-  
 
| '''cf''' || Contrato de Fidelidade || Tabela - 01 || 1,02
 
| '''cf''' || Contrato de Fidelidade || Tabela - 01 || 1,02
 
|}
 
|}
  
=== Cenário 1 ===
+
=== Cenário 1 (Formula com utilização integral de variáveis) ===
  
 
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.
 
Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.
Linha 170: Linha 186:
 
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula:  
 
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula:  
  
<code>p = pp fc / * qu * cf *</code>
+
<center><code>fs = pp fc / * qu * cf *</code></center>
  
 
Com esta composição, o valor Sugerido do produto será '''''R$ 252,28'''''.
 
Com esta composição, o valor Sugerido do produto será '''''R$ 252,28'''''.
Linha 178: Linha 194:
  
  
<code>p = pp fc /</code>
+
<center><code>fmm = pp fc /</code></center>
  
  
Linha 187: Linha 203:
  
  
<code>p = pp fc / ce + fr + pr * qu  * cf * </code>
+
<center><code>fmx = pp fc / ce + fr + pr * qu  * cf * </code></center>
  
  
 
Com esta composição, o valor máximo do produto será ''''' R$ 283,54'''''.
 
Com esta composição, o valor máximo do produto será ''''' R$ 283,54'''''.
  
 +
=== Cenário 2 (fórmula com utilização de variáveis protegidas ''fs'', ''fmm'' e ''fmx'') ===
 +
 +
Elaborando o preço do produto 'P002' para o cliente 'C002' por um período de 6 meses.
 +
 +
 +
Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Fórmula de Valor Máximo) serão derivadas destas variáveis que apontamos.
 +
 +
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula:
 +
 +
<center><code>fs = pp fc / * qu * cf *</code></center>
 +
 +
Com esta composição, o valor Sugerido do produto será '''''R$ 252,28'''''.
  
  
<!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:
+
Supondo que, para a fórmula de valor Mínimo, iremos adotar a seguinte fórmula:  
  
{| class = "wikitable"
 
! Ordem de cálculo
 
! Variável 1
 
! Variável 2
 
! Operação Matemática
 
! Valor Armazenado
 
! Variável resultante
 
|-
 
| 1 || Pp || Fc || / || 70,66 || A
 
|-
 
| 2 || A || Ce || + || 82,86 || B
 
|-
 
| 3 || B || Fr || + || 82,66 || C
 
|-
 
| 4 || C || Pr || * || 84,52 || D
 
|-
 
| 5 || D || Qu || * || 84,52 || E
 
|-
 
| 6 || E || Cf || * || 86,21 || F
 
|-
 
|}
 
-->
 
  
=== Cenário 2 ===
+
<center><code>fmm = fs fc /</code></center>
 +
 
  
Realizando o cadastro de preço do produto 'P002' para o cliente 'C002'
+
Onde fs é o valor sugerido, criado a partir da formação de valor do procedimento anterior.
  
{|class = "wikitable"
 
! Variável
 
! Descrição da Variável
 
! Valor
 
! Tipo Grupo
 
|-
 
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela
 
|-
 
| P1 || Adicional de Preço || R$ 3,00 || Tabela
 
|-
 
| Fc || Fator de Conversão || 1,5 || Produto
 
|-
 
| Ce ||Custo de Embalagem || R$ 12,20 || Produto
 
|-
 
| Fr || Frete || R$ 3,00 || Tabela
 
|-
 
| Pr  || Promotor || 1 || Tabela
 
|-
 
| Qu || Fator Quebra || 1 || Tabela
 
|-
 
| Cf || Contrato de Fidelidade || 1,11 || Tabela
 
|-
 
|}
 
  
 +
Com esta composição, o valor mínimo do produto será '''''R$ 168,18'''''.
  
<!--Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:
 
  
{| class = "wikitable"
+
Supondo que, para a fórmula de valor Máximo, iremos adotar a seguinte fórmula:
! Ordem de cálculo
 
! Variável 1
 
! Variável 2
 
! Operação Matemática
 
! Valor Armazenado
 
! Variável resultante
 
|-
 
| 1 || Pp || P1 || + || 113,50 || A
 
|-
 
| 2 || A || Fc || / || 75,66 || B
 
|-
 
| 3 || B || Ce || + || 87,86 || C
 
|-
 
| 4 || C || Fr || + || 90,86 || D
 
|-
 
| 5 || D || Pr || * || 90,86 || E
 
|-
 
| 6 || E || Qu || * || 90,86 || F
 
|-
 
| 7 || F || Cf || * || 100,86 || G
 
|-
 
|}
 
  
-->
 
  
As variáveis estão relacionadas matematicamente de acordo com a notação:
+
<center><code>fmx = fmm qu  * </code></center>
  
<code>P= PpP1+Fc/Ce+Fr+Pr*Qu*Cf*</code>
 
  
Ao final do processo de cálculo da fórmula, o valor do preço será '''"R$ 100,86"'''.
+
Com esta composição, o valor máximo do produto será ''''' R$ 588,63'''''.
  
=== Cenário 3 ===
+
=== Cenário 3 ( Fórmula com utilização de variáveis protegidas e constantes) ===
  
  
 
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'
 
Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'
  
{|class = "wikitable"
+
'''Enumeração das variáveis'''<br>
! Variável
+
 
! Descrição da Variável
+
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula:
! Valor
+
 
! Tipo Grupo
+
<center><code>fs = pp fc / * qu * cf *</code></center>
|-
+
 
| Pp  || Preço de Partida ||  R$ 110,50 || Tabela
+
 
|-
+
Com esta composição, o valor Sugerido do produto será '''''R$ 252,28'''''.
| P1 || Adicional de Preço || R$ -3,00 || Tabela
+
 
|-
+
 
| Fc || Fator de Conversão || 1,5 || Produto
+
Supondo que, para a fórmula de valor Mínimo, iremos adotar a seguinte fórmula:
|-
+
 
| Ce ||Custo de Embalagem || R$ 8,67 || Produto
+
 
|-
+
<center><code>fmm = fs 100 -</code></center>
| Ce2 || Custo de Embalagem 2 || R$ 2,00 || Produto
+
 
|-
+
 
| Fr || Frete || R$ 2,5 || Tabela
+
Com esta composição, o valor mínimo do produto será '''''R$ 152,28'''''.
|-
+
 
| Pr  || Promotor || 1 || Tabela
+
 
|-
+
Supondo que, para a fórmula de valor Máximo, iremos adotar a seguinte fórmula:
| Qu || Fator Quebra || 1 || Tabela
+
 
|-
+
 
| Cf || Contrato de Fidelidade || 1 || Tabela
+
<center><code>fmx = fs 100 +</code></center>
|-
+
 
| K || Constante || 23,67 || Tabela
+
 
|}
+
Com esta composição, o valor máximo do produto será ''''' R$ 352,28'''''.
 +
 
 +
 
 +
=== Cenário 4 ( Fórmula com utilização de Quantidade) ===
  
  
<!-- Para a composição dos valores, a relação matemática entre as variáveis deverá seguir a seguinte sequência:
+
O campo quantidade fornece um escalonamento de valores, permitindo que pequenos reajustes estratégicos de preço possam ser realizados de forma automática de acordo com a quantidade de produtos solicitados. Para a elaboração deste cenário, para fins ilustrativos, utilizaremos esta Tabela de Quantidade:
  
 
{| class = "wikitable"
 
{| class = "wikitable"
! Ordem de cálculo
+
! Quantidade (between)
! Variável 1
+
! Valor
! Variável 2
 
! Operação Matemática
 
! Valor Armazenado
 
! Variável resultante
 
|-
 
| 1 || Pp|| P1 || + || 107,50 || A
 
|-
 
| 2 || A || Fc || / || 71,66 || B
 
|-
 
| 3 || B || Ce || + || 80,33 || C
 
|-
 
| 4 || C || Ce2 || + || 82,33 || D
 
|-
 
| 5 || D || Fr || + || 84,83 || E
 
 
|-
 
|-
| 6 || E || Pr || * || 84,83 || F
+
|0 - 10 || 1,00
 
|-
 
|-
| 7 || F || Qu || * || 84,83 || G
+
|11 - 20 || 1,01
|-
 
| 8 || G || Cf || * || 84,83 || H
 
|-
 
| 9 || H || K || + || 108,50 || I
 
 
|-
 
|-
 +
|Acima de 20 || 1,02
 
|}
 
|}
  
-->
 
  
 +
Realizando o cadastro de preço do produto 'P004' para o cliente 'C004'
  
 +
'''Enumeração das variáveis'''<br>
  
As variáveis estão relacionadas matematicamente de acordo com a notação:
+
Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula:  
  
<code>P= PpP1+Fc/Ce+Ce2+Fr+Pr*Qu*Cf*K+</code>
+
<center><code>fs = pp fc / * qu * cf *</code></center>
  
Ao final do cálculo da forma, o valor final do preço será: '''"R$ 108,50"'''.
 
  
 +
Com esta composição, o valor Sugerido do produto será '''''R$ 252,28'''''.
  
<!--[[arquivo:formula1.png]]
+
# Supondo que, para a fórmula de valor sugerido, associei uma quantidade de 05 unidades de produto. Logo o valor sugerido na quantidade solicitada será <code>fs / 1</code>, em valores reais, ''''' R$ 252,28'''''.
 +
# Supondo que, para a fórmula de valor sugerido, associei uma quantidade de 15 unidades de produto. Logo o valor sugerido na quantidade solicitada será <code>fs / 1,01</code>, em valores reais, ''''' R$ 249,78'''''.
 +
# Supondo que, para a fórmula de valor sugerido, associei uma quantidade de 25 unidades de produto. Logo o valor sugerido na quantidade solicitada será <code>fs / 1,02</code>, em valores reais, ''''' R$ 247,33'''''.
  
[[arquivo:preço2.png | 600 px]]
 
  
Na formula acima, as somas de variaveis são agrupadas em blocos, multiplicando-se entre si. A relação entre os somatórios pode ser representada por
+
Atribuindo os valores R$ 152,28 como mínimo e R$ 352,28 como máximo, os cálculos por quantidades poderão ser assim representados:
  
[[arquivo:produto1.png | 200 px]]
 
  
Portando, a equação de formação de preço pode ser representada da seguinte forma:
+
{| class = "wikitable"
 +
! Quantidade
 +
! Valor(qtd)
 +
! Valor mínimo
 +
! Valor sugerido
 +
! Valor máximo
 +
|-
 +
| 1-10 || 1 || 152,28 || 252,58 || 352,28
 +
|-
 +
| 11-20 || 1,01 || 150,77 || 249,78 || 348,79
 +
|-
 +
| Acima de 20 || 1,02 || 149,29 || 247,33 || 345,37
 +
|-
 +
|}
  
 +
=== Cenário 5 (utilização de valores absolutos) ===
  
 +
Para a criação de preço do produto 'P005' para o cliente 'C005':
  
[[arquivo:preço.png]]
+
Conhecendo, de antemão, o valor do produto, '''independentemente de qualquer variável''', a formação de preços se dará da seguinte forma:
  
 +
Valor sugerido: R$ 500,00
  
Ou pelo produtório
+
<center><code>fs = 500</code></center>
  
[[arquivo:preço1.png]]-->
+
Valor mínimo: R4 400,00
  
 +
<center><code>fmm = 400</code></center>
  
 +
Valor máximo: R4 600,00
  
A composição de preço tem como objetivo construir um preço de venda. Esse cadastro conta com tipos de variáveis para compor preço. Para que a composição de preço seja aplicada corretamente no cadastro do pedido, é necessário que as seguintes premissas sejam atendidas.
+
<center><code>fmx = 600</code></center>
  
=== Composição de preço ===
+
Os valores foram registrados sem a utilização das construções por variáveis.
 
 
 
 
Visto que há variação de preços de produtos para diferentes localidades, a formula criada para a composição de preços  deverá, além de compor toda a regra de cálculo de precificação de determinado produto, a sua parametrização vinculada ao seu respectivo Estado, Cidade e Filial. <br>
 
 
 
Em outras palavras, através da composição de preço, o usuário poderá informar a fórmula que o sistema irá aplicar para definir o preço unitário do produto. Essa regra poderá ser parametrizado por: filial, estado e cidade.
 
  
 
== Regras de Negócios ==
 
== Regras de Negócios ==
Linha 401: Linha 361:
  
 
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.
 
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.
 +
 +
'''[RN8] - ''' As variáveis '''''fs''''', '''''fmm''''' e '''''fmx''''' corresponderão aos valores resultantes das fórmulas de valor Sugerido, Valor Mínimo e Valor Máximo, respectivamente. Portanto, tais variáveis serão protegidas.
 +
 +
'''[RN9] - ''' As variáveis permitidas para cadastro pelo usuário deverão atender ao padrão <code>[a-z0-9]</code>
 +
 +
'''[RN10] - ''' As formulas não poderão ter valor nulo, nem valores negativos. Caso não haja valor sugerido cadastrado, o valor mínimo será igual ao valor sugerido, ou o resultado da formula ser um valor negativo, este campo receberá o valor zero.
  
 
== Aprovação ==
 
== Aprovação ==

Edição atual tal como às 14h37min de 14 de abril de 2021

Histórico de Alterações

Data Quem Comentários
01/10/2020 Ana Júlia Criação do documento
01/04/2021 João Ramon Atualização do documento

Necessidade

No processo de formação de preços, conta-se com um número definido de variáveis que irão fazer a composição do valor final que será apresentado ao cliente final. Informações como custos operacionais, inclusão de markups, fatores de compensação por quebra e/ou comissionamento de venda devem estar contemplados na composição dos preços. A empresa deseja fazer esta composição dentro da Plataforma GeoSales EVO, inserindo todas as informações de custo, taxas e demais dados customizáveis, permitindo que o próprio usuário consiga fazer estes ajustes.

O cenário de precificação atual não possui um processo uniformizado para cada cliente. Portanto, a necessidade de criar um processo padronizado para composição de preços, assim como a atualização customizável de algumas dessas variáveis, por se tratarem de variáveis cujos valores podem oscilar por motivos externos (oscilações de mercado, variação na política de preços, etc), é imperativa.

Solução

Visto que a formação de preços, e seu processo de elaboração, deve ser totalmente customizável pelo cliente, primeiramente deve ser possível que ele não apenas determine quais as variáveis e seus respectivos valores devem ser atribuídos na plataforma para precificação, mas também como estas variáveis se relacionarão matematicamente, a fim de formular um preço baseado nas entradas fornecidas pelo cliente. Além disso, tais variáveis, uma vez inseridas no cadastro de preços, deverão ser passíveis de edição, feitas pelo próprio cliente, de forma manual.

Como instrumento de parametrização das fórmulas contendo as variáveis criadas e seus operadores apropriados, será utilizada a notação polonesa reversa (RPN) (a mesma lógica de cálculo das calculadoras HP 12 C), ferramenta de uso familiar a pessoas ligadas ao trabalho que envolva matemática financeira. Assim, a formação de preço deverá ser mais flexível e intuitiva na sua formação, além de facilitar em eventuais futuras modificações. As formulas serão definidas dentro de uma tabela de preço para um determinado grupo de produto facilitando o cadastro.

Também visando a facilidade da manutenção dos valores de cada variável da fórmula, iremos construir o preço por um conjunto de parâmetros, podendo ser definido de forma atrelada às seguintes dimensões: produto e tabela de preço.

Após a definição dos parâmetros, a fórmula será construída por meio da utilização destes. Finalizando esta etapa, basta pedir para processar a tabela, onde a mesma passará a ser vigente para a equipe de venda.

Implementação

O processo terá como bases os seguintes passos:

  1. Criação de Tabela;
  2. Definição de Variáveis que deverão compor a fórmula de criação de preço, além da definição do atributo a qual tal variável está vinculada (produto ou Tabela);
  3. Definição de fórmula de formação de preços, utilizando RPN, e vinculações a grupos de produtos;
  4. Concluída a fórmula, com as relações operacionais entre as variáveis, os valores gerados devem ser processados para compor a Tabela de Preços.

Cadastro tabela de preço

Para criação da tabela de preço, será criada uma tela onde o usuário irá fazer o cadastro da tabela de preço. Nela será possível fazer a inserção e edição de cadastros, não sendo possível excluir qualquer cadastro de tabela de preço já realizado, mas, apenas desativa-los.

Ao entrar na tela o sistema deve apresentar campos de filtros, os quais, o usuário poderá localizar um cadastro já inserido ou realizar edição dos campos descrição e datas inicial e final de vigência. Além, disso no rodapé da tela, terá o acesso para fazer um novo cadastro. na qual, o usuário vai preencher os seguintes campos.


Campos de cadastro

  • Descrição - Campo de texto limitados ao máximo de 70 caracteres;
  • Data inicial vigência - Campo de data, onde definirá o inicio da vigência da tabela;
  • Data final vigência - Campo de data, onde definirá o final da vigência da tabela;


  • Uma tabela de preço não poderá ser excluída, só poderá ser desativada ou ativada através dos campos de data inicial e data final. Para desativar, basta colocar a data final inferior a data atual;
  • Caso uma tabela de preço tenha uma data inicial posterior à data atual, essa tabela de preço específica não deverá ser exibida para seleção no cadastro do pedido;
  • O campo data final ao ser inserido, não pode ser um valor menor que a data inicial já informada.
  • Caso uma tabela de preço esteja com a data final de vigência vencida, a tabela de preço não será exibida para seleção no cadastro do pedido;
  • Os campos de datas não serão obrigatórios. Quando não estiverem preenchidos, indica que aquela tabela estará disponível para uso;
  • Não será possível utilizar a integração e cadastro da tabela de preço ao mesmo tempo, sendo necessário que haja uma única escolha: Integrar a tabela de preço do ERP ao GeoSales ou cadastrar a tabela de preço no próprio GeoSales. Caso tentem utilizar os dois cadastros ao mesmo tempo ERP e GeoSales, a integração apagará todos os registros cadastrados no GeoSales.

Tabelapreco.jpg

Tabelapreco2.jpg

Obs: As telas apresentadas poderão sofrer alterações, em vista de atender às opções de usabilidade.

Declaração de variáveis

Dentro da tela de Variáveis de preço, deve ser possível definir uma variável de forma livre, mas que atenda as seguintes regras:

  • O campo chave, que será utilizado como referência na formula de preço, não deve conter caracteres especiais, espaço em branco e está limitada ao máximo de 8 caracteres, sendo todos minúsculos obrigatoriamente, seguindo o padrão [a-z0-9].
  • A variável deve estar associada a um produto ou uma tabela de preço
  • Para valores do tipo numérico (18,6), serão aceitos como possibilidade, podendo ser positivos ou negativos.
  • Será criado um log de históricos de alterações de valores destas variáveis e passível de ser exportado em relatórios em excel.
  • As variáveis fs, fmm e fmx, especificamente, não poderão ser utilizadas, por tratarem-se de variáveis protegidas em uso no sistema.

Campos de cadastro

  • Descrição - Campo de texto limitados ao máximo de 70 caracteres;
  • Chave - Campo de texto de 8 caracteres;
  • Produto / Tabela - A seleção de um produto ou de uma tabela, dados previamente alimentados;
  • Valor - Campo numérico(18:6);

A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.


Tela2.jpg

Obs: As telas apresentadas poderão sofrer alterações, em vista de atender às opções de usabilidade.

Definição da formula de preço

  • Será necessário selecionar uma ou mais tabelas de preço e um ou mais produtos aos quais o preço deve ser inserido.
  • Para a regra de preço teremos que informar a formula do preço mínimo, sugerido e máximo com a quantidade mínima, que valida sua aplicação.
  • Nos campos de preço (mínimo, sugerido e máximo) teremos um espaço para a inserção da fórmula para composição de preço. Esta fórmula fará a relação matemática entre as variáveis criadas no processo anterior, por meio de operadores matemáticos (+, -, *, / ), organizados em RPN, notação comum para analistas financeiros, sendo bastante difundido, inclusive, na lógica de cálculo das calculadoras HP 12 C.
  • Será possível visualizar uma prévia da fórmula escrita, além do valor encontrado, a fim de que o usuário possa confirmar os valores que foram inseridos pelas variáveis e seus respectivos operadores.
  • Quando um dos campos das formulas não houver definição de formula, o valor será gerado com o valor zero ou o resultado da formula apresentar um valor negativo, esse valor também se apresentará como zero.
  • Ao gerar os valores da faixa de preço, caso o valor mínimo, seja maior que o valor sugerido, esse valor será replicado para para o sugerido.
  • Ao gerar os valores da faixa de preço, caso o valor máximo, seja menor que o valor sugerido, o valor sugerido será replicado ao máximo.


Como exemplo de notação polonesa reversa, tomemos a expressão (A+B)*C. Em RPN, a notação ficaria AB+C*.

Tela3.jpg

Obs: As telas apresentadas poderão sofrer alterações, em vista de atender às opções de usabilidade.

Processar tabela

É importante frisar que os valores estão vinculados a uma tabela de preços, que consequentemente está vinculada a um cliente, organização de vendas, vendedores, e tabelas afins.

As variáveis comuns a todos os clientes deverão ter valores diferenciados de acordo com a cidade onde a organização de venda está alocada. Há dois grupos de variáveis: aquelas que são relacionadas ao produto em si (tamanho, cor, embalagem, Tipo) e aquelas relacionadas à Tabela (Valor de partida, comissão promotor, frete, por exemplo). É importante determinar corretamente para qual grupo tal variável estará vinculada.

Se mais de um produto possui a mesma característica, será possível fazer a precificação por grupos de produtos. Ou seja, será possível realizar a seleção de produtos e colocar dentro de um mesmo Agrupamento. Ao fim do processo, os produtos vinculados aquele agrupamento e a tabela de preço, receberam seus preços baseados nas formulas inseridas para a tabela preço especificada.

Para geração do preço, necessariamente o produto precisa está vinculado a tabela de preço, seja de forma individual ou como já citado dentro de um agrupamento.

Sempre que uma das variáveis ou formulas de calculo for alteradas, para que ocorra atualização de valores da faixa de preço baseados na alteração, deve ser feito um reprocessamento, assim os valores serão atualizados levando em consideração as alterações feitas.

Na aba de reprocessamento, sempre que houver uma solicitação de processamento devemos salvar as informações para eventual consulta. Ao entrar no detalhe podemos acompanhar o status do processamento.

Ao iniciar um processamento ou reprocessamento, qualquer alteração só refletirá nos valores, depois de um novo reprocessamento, já que o iniciado, foi antes da alteração realizada.

Tela4.jpg

Obs: As telas apresentadas poderão sofrer alterações, em vista de atender às opções de usabilidade.

Cenários

Dicionário de Dados

Considere tabela abaixo com as seguintes tabelas cadastradas e suas respectivas vigências:

TABELA DESCRIÇÃO INICIO DA VIGÊNCIA FINAL DA VIGÊNCIA
01 TABELA SP 01/05/2020 01/01/2022
02 TABELA RJ 01/05/2020 01/01/2022
03 TABELA RS 01/05/2020 01/01/2022
04 TABELA SP - CARREFU 01/05/2020 01/01/2022
05 TABELA BA 01/05/2020 01/01/2022
06 TABELA ES 01/05/2020 01/01/2022
07 TABELA SP - CAPITAL 01/05/2020 01/01/2022

Selecionada a tabela desejada, o próximo passo é fazer a declaração das variáveis.

CHAVE DESCRIÇÃO DA VARIÁVEL TABELA / PRODUTO VALOR
pp Preço de Partida Tabela - 01 R$ 106,00
fc Cor / Tamanho Produto - 001 1,5
ce Custo de Embalagem Tabela - 01 R$ 12,20
fr Frete Tabela - 01 - 5
pr Promotor Tabela - 01 1,02
qu Fator Quebra Tabela - 01 3,5
cf Contrato de Fidelidade Tabela - 01 1,02

Cenário 1 (Formula com utilização integral de variáveis)

Elaborando o preço do produto 'P001' para o cliente 'C001' por um período de 6 meses.

No portal GeoSales, na tela de variáveis, serão utilizadas as seguintes informações:

Enumeração das variáveis


Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Fórmula de Valor Máximo) serão derivadas destas variáveis que apontamos.

Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula:

fs = pp fc / * qu * cf *

Com esta composição, o valor Sugerido do produto será R$ 252,28.


Supondo que, para a fórmula de valor Mínimo, iremos adotar a seguinte fórmula:


fmm = pp fc /


Com esta composição, o valor mínimo do produto será R$ 70,66.


Supondo que, para a fórmula de valor Máximo, iremos adotar a seguinte fórmula:


fmx = pp fc / ce + fr + pr * qu * cf *


Com esta composição, o valor máximo do produto será R$ 283,54.

Cenário 2 (fórmula com utilização de variáveis protegidas fs, fmm e fmx)

Elaborando o preço do produto 'P002' para o cliente 'C002' por um período de 6 meses.


Pelo exposto, temos que 7 variáveis foram declaradas. As fórmulas que devemos gerar (Fórmula de valor mínimo, fórmula de valor Sugerido e Fórmula de Valor Máximo) serão derivadas destas variáveis que apontamos.

Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula:

fs = pp fc / * qu * cf *

Com esta composição, o valor Sugerido do produto será R$ 252,28.


Supondo que, para a fórmula de valor Mínimo, iremos adotar a seguinte fórmula:


fmm = fs fc /


Onde fs é o valor sugerido, criado a partir da formação de valor do procedimento anterior.


Com esta composição, o valor mínimo do produto será R$ 168,18.


Supondo que, para a fórmula de valor Máximo, iremos adotar a seguinte fórmula:


fmx = fmm qu *


Com esta composição, o valor máximo do produto será R$ 588,63.

Cenário 3 ( Fórmula com utilização de variáveis protegidas e constantes)

Realizando o cadastro de preço do produto 'P003' para o cliente 'C003'

Enumeração das variáveis

Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula:

fs = pp fc / * qu * cf *


Com esta composição, o valor Sugerido do produto será R$ 252,28.


Supondo que, para a fórmula de valor Mínimo, iremos adotar a seguinte fórmula:


fmm = fs 100 -


Com esta composição, o valor mínimo do produto será R$ 152,28.


Supondo que, para a fórmula de valor Máximo, iremos adotar a seguinte fórmula:


fmx = fs 100 +


Com esta composição, o valor máximo do produto será R$ 352,28.


Cenário 4 ( Fórmula com utilização de Quantidade)

O campo quantidade fornece um escalonamento de valores, permitindo que pequenos reajustes estratégicos de preço possam ser realizados de forma automática de acordo com a quantidade de produtos solicitados. Para a elaboração deste cenário, para fins ilustrativos, utilizaremos esta Tabela de Quantidade:

Quantidade (between) Valor
0 - 10 1,00
11 - 20 1,01
Acima de 20 1,02


Realizando o cadastro de preço do produto 'P004' para o cliente 'C004'

Enumeração das variáveis

Supondo que, para a fórmula de valor Sugerido, iremos adotar a seguinte fórmula:

fs = pp fc / * qu * cf *


Com esta composição, o valor Sugerido do produto será R$ 252,28.

  1. Supondo que, para a fórmula de valor sugerido, associei uma quantidade de 05 unidades de produto. Logo o valor sugerido na quantidade solicitada será fs / 1, em valores reais, R$ 252,28.
  2. Supondo que, para a fórmula de valor sugerido, associei uma quantidade de 15 unidades de produto. Logo o valor sugerido na quantidade solicitada será fs / 1,01, em valores reais, R$ 249,78.
  3. Supondo que, para a fórmula de valor sugerido, associei uma quantidade de 25 unidades de produto. Logo o valor sugerido na quantidade solicitada será fs / 1,02, em valores reais, R$ 247,33.


Atribuindo os valores R$ 152,28 como mínimo e R$ 352,28 como máximo, os cálculos por quantidades poderão ser assim representados:


Quantidade Valor(qtd) Valor mínimo Valor sugerido Valor máximo
1-10 1 152,28 252,58 352,28
11-20 1,01 150,77 249,78 348,79
Acima de 20 1,02 149,29 247,33 345,37

Cenário 5 (utilização de valores absolutos)

Para a criação de preço do produto 'P005' para o cliente 'C005':

Conhecendo, de antemão, o valor do produto, independentemente de qualquer variável, a formação de preços se dará da seguinte forma:

Valor sugerido: R$ 500,00

fs = 500

Valor mínimo: R4 400,00

fmm = 400

Valor máximo: R4 600,00

fmx = 600

Os valores foram registrados sem a utilização das construções por variáveis.

Regras de Negócios

[RN1] - Não poderá conter a mesma regra para o mesmo estado e filial;

[RN2] - Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra poderá ser sobreposta;

[RN3] - Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.

[RN4] - Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função.

[RN5] - Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.

[RN6] - Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.

[RN7] - A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.

[RN8] - As variáveis fs, fmm e fmx corresponderão aos valores resultantes das fórmulas de valor Sugerido, Valor Mínimo e Valor Máximo, respectivamente. Portanto, tais variáveis serão protegidas.

[RN9] - As variáveis permitidas para cadastro pelo usuário deverão atender ao padrão [a-z0-9]

[RN10] - As formulas não poderão ter valor nulo, nem valores negativos. Caso não haja valor sugerido cadastrado, o valor mínimo será igual ao valor sugerido, ou o resultado da formula ser um valor negativo, este campo receberá o valor zero.

Aprovação

Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado.

GeoSales

Setor Aprovado Por Data
Desenvolvimento - GeoSales Pessoa que aprovou 00/00/0000
Integração - GeoSales Pessoa que aprovou 00/00/0000
Configurações - GeoSales Pessoa que aprovou 00/00/0000

Empresa solicitante

Setor Aprovado Por Data Assinatura
Gerente TI - Cliente Pessoa que aprovou 00/00/0000
Gerente de Projeto - Cliente Pessoa que aprovou 00/00/0000
Gerente Comercial - Cliente Pessoa que aprovou 00/00/0000