Emulador de mercado clássico

imagem

Toda vez que leio algo sobre economia, constantemente perco o momento entre "sim, é claro, tudo isso é óbvio" e "por quê?" Como você conseguiu isso? "

Isso geralmente se deve ao fato de que exemplos que podem ser citados da vida real são elementares ou tão complexos que não ajudam mais na compreensão.

Mas você pode fazer algum tipo de simulação para ilustrar idéias? Não é da vida real. Jogue fora o insignificante, deixe o importante e veja o que acontece?

Abaixo, mostrarei como tentei escrever um emulador da concorrência mais simples do mercado e o que aconteceu no final. Haverá muitos gráficos.

O que nós fazemos?


Considere, para começar, o mais clássico, tudo o que o avô Adam Smith adora: temos compradores e fabricantes de mercadorias que competem entre si.

A teoria clássica afirma que, na ausência de outros fatores (!), A concorrência entre vendedores leva à otimização de custos e ao estabelecimento de um preço de equilíbrio.

Além disso, argumenta-se que esse mesmo preço de equilíbrio será significativamente menor do que se o vendedor fosse um (monopólio) ou vários (oligopólio).

Parece sensato, lógico, interessante. Na prática, no entanto, nem sempre observamos isso. Muitos fatores adicionais.

Vou tentar formular as principais razões pelas quais a competição "pura" quase nunca é encontrada na vida real:

  • , ( ), , ,
  • , ( , ), “ ”
  • ( , , , )
  • ( , , )
  • além dos participantes no processo de venda, há um grande número de fatores externos (estados, com impostos e taxas, concentração geográfica, fatores aleatórios como falhas de safra, desastres ou decisões humanas espontâneas)

Há um desejo de tentar levar em conta todos esses fatores, exceto o último.

Formalizamos o problema


Os personagens principais:

  • consumidores (compradores, cidadãos, cidadãos)
  • fábricas (oficinas, fabricantes, comerciantes, fábricas)

Os consumidores ganham dinheiro regularmente e precisam de um produto.
No nosso modelo, haverá apenas um produto. Satisfaz de uma só vez toda a pirâmide de necessidades de todos os consumidores.

Todas as fábricas produzem o produto, as diferenças são apenas em qualidade e preço. As próprias fábricas entram no mercado e vendem seus produtos aos cidadãos, sem intermediários.

O objetivo dos consumidores é comprar o melhor produto para eles, gastando um mínimo de dinheiro.
O objetivo das fábricas é maximizar seu capital.

Além de termos apenas um produto, ele ainda possui uma característica numérica objetiva e transparente de sua qualidade. Tanto as fábricas quanto os consumidores valorizam essa qualidade da mesma forma. Essas são as propriedades de um produto que aparece junto com sua produção.

As fábricas possuem algumas capacidades de produção: custo (custos abaixo do qual o produto não será produzido) e qualidade máxima (valor da qualidade acima do qual o produto não funcionará).

Após a rodada de vendas, as fábricas investem parte de sua modernização de capital. Porque Como o progresso científico e tecnológico é uma coisa complicada, o algoritmo funciona assim: toda fábrica que ainda tem dinheiro gasta uma quantia aleatória para alterar aleatoriamente suas capacidades de produção (pode piorar).

Quando uma fábrica fica sem dinheiro, não produz mais nada.

O ciclo completo do mercado é o seguinte:

  1. As fábricas, se puderem, produzem produtos e comercializam-nos.
  2. Os consumidores vêm e escolhem a melhor opção para si mesmos (a partir de disponível para eles)
  3. Ofertas são feitas
  4. As fábricas atualizam se puderem

E assim - um número suficiente de iterações.

A teoria diz que, nessas condições, as fábricas competirão ferozmente entre si, o que levará a preços mais baixos e / ou qualidade dos produtos.

Vamos ver o que acontece na prática.

Início da implementação


Como ferramenta de desenvolvimento, escolhi o Jupyter Notebook python - um ambiente o mais amigável possível para trabalhar com dados, tabelas e gráficos rápidos com pressa.

O processo de emulação em si não parecia tão assustador, mas para resumir os resultados, eu queria usar as ferramentas ricas de pandas.

O código está disponível aqui.

Acho que a implementação principal não interessará a ninguém: três classes (fábrica, consumidor e produto), funções para trabalhar com instâncias dessa classe, funções do “mercado”, tudo está em um loop, tudo é registrado, tudo é registrado, os resultados são gravados em um arquivo e, em seguida, pandas assume o controle.

Primeiros ajustes


Rapidamente, ficou claro que a desigualdade entre pessoas e entre fábricas pode e deve ser introduzida no modelo.

Observo imediatamente, apenas no caso, que os nomes das distribuições são condicionais abaixo, estão entre aspas e são simplesmente uma metáfora compactada. Os objetivos não eram tirar sarro das convicções políticas de alguém ou, além disso, demonstrar suas próprias.

Tentei vários modelos de distribuição de indicadores:

  • "Comunismo" - cada objeto tem um número aleatório, a distribuição de probabilidade é uniforme
  • "Socialismo desenvolvido" é a mesma coisa, a distribuição de probabilidade é normal (para a maioria, o salário médio)
  • “Sociedade moderna” - a distribuição de probabilidade “atada” (milionários a uma distância maior do salário médio do que os pobres), função aleatória.

Se tomarmos os consumidores como exemplo, o tipo de distribuição de seus salários afeta diretamente a forma dos chamados "Curva de demanda" (dependência da parcela de pessoas dispostas a comprar um produto, dependendo do preço):
imagem
Curva de demanda para as três distribuições de renda da população: "comunismo" (igual), "socialismo desenvolvido" (normalizar) e "sociedade moderna" (gama) .

Como você pode ver, no caso de uma distribuição uniforme, a curva de demanda se transforma em uma demanda quebrada (a probabilidade de comprar 1 quando o preço da mercadoria é menor que o salário mínimo e depois diminui linearmente).

No caso de uma distribuição uniforme da renda, a curva de demanda se torna um sigmóide.
No caso de uma distribuição de renda semelhante à atual, o sigmóide se torna assimétrico. E isso se parece mais com as curvas de demanda dos livros de economia:

imagem

Isso significa que a própria lógica da curva de demanda implica desigualdade de renda? Não, existem milhões de fatores. Mas podemos generalizar grosseiramente, dizendo que a desigualdade na "força da demanda" (alguém está disposto a pagar em excesso por um cheburek, alguém está pronto para esperar uma hora na fila e alguém não está) é distribuído aproximadamente da mesma forma que a renda real da população.

Por analogia, podemos construir uma curva de oferta.

A curva de oferta, neste caso, é quantas fábricas a que preços estão prontas para produzir um produto de uma determinada qualidade.

Se tomarmos 50 plantas, a curva é obtida com um grande número de falhas e, com um grande número, tende a uma linha reta.

imagem
Curva de fornecimento para k = 50 plantas

imagem
Curva de fornecimento para k = 1000 plantas

Para obter uma curva de um livro didático, a) são necessários muitos vendedores, b) uma distribuição uniforme pelo custo.

Isso não é óbvio, interessante e requer interpretação adicional.

Então, a primeira vitória.
Temos algumas semelhanças pálidas das curvas de oferta e demanda dos livros didáticos.

Estamos colocando desigualdades e seguindo em frente.

Na maioria dos casos, para distribuições, estabeleci distribuições gama (que são "atadas"):

  • renda dos cidadãos (veja a tabela abaixo, salário médio 25, mínimo 5, máximo 160)
  • capital inicial das fábricas (ver gráfico, a lógica é a mesma, o spread é menor)
  • capacidades de produção das fábricas (limite de qualidade de 2 a 30, custo principal - de 1 a 5)
  • as chances de uma modernização bem-sucedida (mas elas são distribuídas normalmente)


imagem
( , — , )

imagem
( , — , )


Se não tivéssemos nenhuma alteração, a modelagem a longo prazo não faria muito sentido. Modernização significa que as fábricas tentarão competir entre si. Aqueles que têm grandes vendas (capitais iniciais, boas condições) não poderão descansar sobre os louros por muito tempo; os concorrentes se aproximarão rapidamente do preço e da qualidade dos produtos manufaturados.

No entanto, rapidamente ficou claro que as fábricas precisavam de "memória". Muitas vezes acontecia que uma fábrica de sucesso iniciava um ciclo de modernização negativa e perdia tudo.
Portanto, tive que adicionar essa lógica ao algoritmo: se houve vendas antes da modernização e depois que desapareceu, a próxima rodada de modernização será no formato de "reverter tudo".

Parâmetros da primeira emulação séria


Condições de partida:

  • número de habitantes, N = 2000
  • número de plantas, k = 50
  • , R=30
  • -

O resultado está escrito em dois arquivos: um registro de cidadãos e um registro de fábricas.

Primeiros dados do log:

imagem
onde
id é o id do produto comprado (deveria ter sido chamado normalmente)
citizen_id é o número único do cidadão,
período é o número da rodada de emulação
dinheiro é o salário dele nesta rodada,
qualidade e preço são a qualidade e o preço do produto que ele comprou nesta rodada (-1 se eu não comprei nada)

Segundo log, em

imagem
que
id é o id da fábrica,
período é o número da rodada de emulação,
capital é o capital da fábrica nesta rodada,
pur é o número de vendas nesta rodada,
preço é o preço de venda
, qualidade é o custo e qualidade, respectivamente,
defasagem - dados da última rodada

Parece que é hora de assistir os resultados.

Veja os resultados


Qual resultado você quer ver primeiro? Provavelmente, quantas fábricas faliram, deixando de colocar no mercado uma oferta interessante.

O resultado é este.

  • Eles faliram completamente (foram para menos) - uma fábrica. Triste mas verdadeiro.
  • Sem dinheiro para modernização - 45 plantas. Está quase arruinado. Mas se de repente uma demanda por seus produtos aparecer repentinamente, eles teoricamente poderão sair.
  • Há capital, não há vendas - 3 plantas. Uma vez, tudo estava bem com eles, mas seus concorrentes os removeram.
  • Há capital, há vendas - 2 plantas. Um vende produtos caros de qualidade máxima, o outro - uma qualidade aceitável muito barata. Conspiração cartel, dividiu o mercado, só isso.

Pelo menos uma venda em 30 rodadas tinha 11 fábricas.

A dinâmica é um pouco mais complicada. Há muitos dados.

Com aquelas fábricas em que as vendas não funcionavam, como em famílias felizes - tudo é a mesma coisa. A diferença está apenas na velocidade da queda.

imagem
A dinâmica das mudanças na capitalização das fábricas que não possuíam vendas: todo mundo partiu de diferentes condições de partida, gastou quantias diferentes na modernização, mas há apenas um resultado: todo mundo caiu "para zero" ou se debatendo ao seu redor.

É mais interessante, mas também mais difícil, com "famílias" mais felizes - que ainda tinham vendas.

imagem

Temos um campeão que está indo bem (id = 11) - há vendas, o capital está crescendo. Mas, para encontrar seu público, foram necessários 7 movimentos.
O único concorrente com vendas (id = 0) conseguiu alcançar apenas o terceiro lugar em termos de capital. O segundo lugar (id = 20) da 10ª rodada repousa sobre os louros e lentamente perde dinheiro. O resto perde dinheiro mais rápido.

Vale ressaltar que, de acordo com as condições iniciais, nossos líderes ocupavam uma posição diferente. O segundo lugar nas capitais “no final” (id = 0) foi o líder absoluto no capital inicial, o “vencedor no mercado de bens de consumo” (id = 20) ficou entre os líderes, mas o “campeão” ocupou apenas o 11º lugar nas acumulações iniciais.

Ainda parece interessante ver a dinâmica das vendas por conta própria.

imagem
Dinâmica do número de vendas por fábrica.
Horizontal: número redondo. Vertical - o número de consumidores (em 2000) que fizeram compras (fábricas diferentes têm tonalidades diferentes).


No que você deve prestar atenção?

Em primeiro lugar, no primeiro passo, nem todos os moradores podiam comprar pelo menos algo (obviamente, são pessoas com renda mínima). Rapidamente, esse número caiu para zero, depois caiu novamente e, em seguida, 100% do suprimento foi alcançado.

Em segundo lugar, algum tipo de competição era longa o suficiente. No primeiro turno, 6 fábricas tiveram vendas, no quarto - 7, no décimo quinto - 4. Durante muito tempo, houve 3 vendedores (um teve vendas muito microscópicas) e somente pelo movimento 27 foi finalmente "retirado do mercado".

Parece que vale a pena se deixar levar pelo "erro do sobrevivente"?

Vejamos nossos campeões com mais detalhes?

Id = 11 (top 1 em vendas e capital) "com distribuição" tinha uma qualidade aceitável, mas um preço alto (preço = 37, com um salário médio de 27,5, ou seja, a maioria não podia comprar esses produtos). Obteve 8% do mercado. Realizou uma modernização geralmente aceitável - aumento da qualidade e aumento do preço. Obteve zero vendas. Revertida. Conseguiu quase 30% do mercado (obviamente, as falhas dos concorrentes ajudaram aqui). Fez uma atualização perfeita - aumentou a qualidade e reduziu o preço. Com zero vendas, infelizmente, naquele momento, as ofertas saíram ainda melhores. Para obter vendas, foram necessárias quatro atualizações "pelo menos não de volta". Na nona jogada, a oferta já parecia ótima - um produto com uma qualidade de 43 para 21 (os usuários observaram isso, dando a dois terços do mercado). Mas um forte aumento de preço - e novamente zero vendas. Depois, três tendências sistemáticas: qualidade é melhor,o preço é mais baixo, as vendas são mais altas.

imagem
Dinâmica das mudanças nos principais parâmetros do ID de fornecimento da fábrica = 11 (top 1 em vendas e capital).

O pico da “carreira” é de 21 movimentos, 99% do mercado, mas vale a pena aumentar um pouco o preço - e os concorrentes estão lá.

O único sobrevivente nas vendas, exceto o líder, tinha preços baixos e baixa qualidade desde o início. As vendas foram irregulares, o principal vetor de modernização foi a redução de preços. Ele recebeu estabilidade apenas na 25ª jogada, quando, com uma qualidade de 31, conseguiu vender mercadorias por 3. Desde então, ele assumiu firmemente seu nicho e lutou com sucesso pela "classe média baixa".
O pico da "carreira" é o último passo, 41% do mercado.

Eu me pergunto o que aconteceria se a simulação durasse mais algumas dezenas de jogadas?

imagem
A dinâmica das mudanças nos principais parâmetros do ID de fornecimento da fábrica = 0 (top 3 em termos de capital, tem vendas até o final da simulação).

O atual top 2 em termos de capital (id = 20), que não teve vendas nas últimas 10 rodadas, era o líder em capital inicial (portanto, não podia perder tudo em 30 movimentos), produzia mercadorias moderadamente ruins e moderadamente baratas. A modernização bem-sucedida da qualidade nos permitiu obter boas vendas e mantê-las por tempo suficiente. A deterioração da qualidade não afetou a renda por muito tempo, porque o preço caiu. Tudo terminou na jogada 20. Uma boa atualização não foi salva. Talvez seja uma pena ter 10% estáveis ​​do mercado, ao mesmo tempo em que melhora a qualidade e o preço e perde vendas (id = 0 saiu com uma atualização ainda mais eficaz).

Nenhuma ação adicional ajudou a retornar o público antigo ou a encontrar um novo. No entanto, a fábrica é separada da ruína completa por 8 a 20 rodadas. Tempo suficiente para finalmente ter sorte.

imagem
Dinâmica das alterações nos principais parâmetros do ID de fornecimento da fábrica = 20 (top 2 em termos de capital, não teve vendas nas últimas 10 rodadas).

Parece que algum padrão está sendo rastreado. As fábricas que oferecem melhores produtos a preços baixos estão crescendo. O resto está morrendo.

Vamos ver como o mercado mudou por parte do consumidor em 30 movimentos.

imagem
Relação qualidade / preço na fase inicial. Existem 50 ofertas de produtos no mercado.
Horizontalmente - o preço do produto, verticalmente - sua qualidade.
Azul indica "escolha do usuário", ou seja, aqueles produtos que tiveram vendas nesta rodada.


Aqui você pode ver claramente como as fábricas estão em condições desiguais. Alguém pode não fazer nada e ter um bom desempenho. As fábricas, no entanto, “do canto inferior direito” precisarão de significativamente mais ações para encontrar seus clientes.

Como a imagem mudará ao final da simulação?

imagem
Valor ao dinheiro no final da simulação. Azul indica "seleção de usuário".

Se, no início, a maioria comprou bens de qualidade 26 por 18 (ao mesmo tempo, houve quem comprou bens de qualidade 30 por 42 e bens de qualidade 15 por 7), no final, a maioria compra bens com qualidade 57 por 24 (e parte - bens de qualidade 28 por 1,16). ) Há uma mudança!

E como era a dinâmica?

imagem
A dinâmica das mudanças no preço dos produtos vendidos.
Horizontalmente, o número da rodada, verticalmente - o preço de venda, cada fábrica é marcada em uma cor separada, quanto maior o raio do círculo, maior o volume de vendas.


Curiosamente, nesta simulação, o segmento de preço "premium" (por causa do qual não havia muito sentido em observar o preço médio ou a qualidade média) desapareceu como tal.
Isso se deve ao fato de a qualidade do “mercado de massa” ser igual à qualidade dos “produtos premium” rapidamente.

imagem
Dinâmica das mudanças na qualidade dos produtos vendidos
Número horizontal da rodada, vertical - qualidade do produto, cada fábrica é marcada com uma cor diferente, quanto maior o raio do círculo, maiores as vendas.


Essa. do ponto de vista do usuário, ficou melhor. A teoria triunfa.

Agora vamos ver como as fábricas começaram a viver. O fato de a maioria não funcionar é compreensível. Gostaria de saber quais são as chances de fazer uma boa ação (preços mais baixos, melhorar a qualidade) e obter uma melhoria nas vendas.

Modernização nº 1: redução de preço.

De acordo com a condição, a chance de ir na direção certa é de 25% (a mesma quantidade - na direção oposta, em outros casos, a modernização estará em outro parâmetro).

Se você fez tudo certo, as chances de melhorar as vendas serão de 14% (43 em 310 resultados) e outros 5% do que será pior (mas também de 3% das chances de melhorar as vendas com o aumento dos preços).
Quase sempre, isso ocorre devido a uma posição inicial ruim. Mas várias vezes isso ocorreu devido ao fato de os concorrentes não ficarem parados.

Modernização nº 2: melhoria da qualidade.

As chances de ir na direção certa são as mesmas.

As chances de melhoria no caso de ações corretas são as mesmas 14%, mas a chance de deterioração é maior - 9% (e 7% de chance de melhora ao se mover na direção errada).

Isso não parece ser um efeito matemático. Talvez apenas um jogo de pequenos números.

Há mais uma pergunta.

Nós "sobrevivemos" a algumas fábricas, a maioria faliu. Isso é inevitável?

Vale mais algumas simulações, mas parece que sim.

Apenas o assunto não está no mercado, leis econômicas e estatísticas. O ponto é o algoritmo de seleção.

Agora temos a opção do usuário - uma função clara de seu salário, preço e qualidade do produto. Consequentemente, um produto que é pior que o milionésimo ideal no modelo atual não tem uma única chance - todos os 100% do mercado irão para o produto ideal.

Na vida real, fatores aleatórios influenciam a escolha do usuário. Eles poderiam ser colocados.

É tudo por agora.

Conclusões brevemente


Conclusões não econômicas:

  • Brincar com esses modelos é divertido
  • Os dados podem ser distorcidos de maneiras muito diferentes.
  • Bem, quando tudo estiver comprometido

Resultados econômicos:

  • Parece que, no modelo econômico clássico, as desigualdades das condições de partida são inerentes
  • Curvas de oferta e demanda, semelhantes ao treinamento, podem ser construídas, mas serão curvas (em vez de quebradas) com um número muito grande de compradores e vendedores
  • Em geral, os principais pontos da teoria (concorrência entre vendedores levam a melhores condições para os compradores) estão corretos
  • As condições iniciais afetam fortemente o resultado final, mas não o predeterminam
  • ( “ ” “-” )
  • ,


  • ( )
  • ,
  • - ( )
  • “ ”,

All Articles