Table functions

Table functions (funções tabuladas) são ferramentas fundamentais do arsenal de qualquer desenvolvedor sério de modelos de dinâmica de sistemas. Elas representam tabelas de valores conhecidos, facilitando e direcionando a construção do modelo.

Considere, por exemplo, que a Startup está preocupada com o nível de engajamento dos seus usuários. Em apps semelhantes, o nível de engajamento é determinado pelo tempo médio que um usuário se mantém ativo. Para o app desenvolvido, estima-se que o tempo que o usuário fica ativo é definido pelo próprio número de usuários, isto é: quanto maior o tamanho da rede de usuários, maior o tempo médio que o usuário permanece ativo.

Assim, o tempo médio de engajamento é estimado pela seguinte tabela:

O diagrama de estoque e fluxo deve ser modificado, como na figura a seguir, para representar a perda por desinteresse (fluxo "Pessoas desistindo do app") e o número de clientes inativos (estoque "Clientes inativos"). Estude as alterações realizadas no diagrama de estoque e fluxo do problema e veja se consegue compreendê-las.

Clientes / tempo médio de engajamento

Este valor representa a taxa por mês com que os clientes desistem do app.

Comece adicionando ao modelo o novo estoque de ClientesInativos, o Link entre Clientes e ClientesInativos e o Loop. O novo modelo deve ficar assim:

Pronto, o modelo deve ficar como a figura a seguir:

O próximo passo é criar a Table Function para o tempo médio de engajamento dos usuários. O elemento está disponível na paleta de Dinâmica de Sistemas (System Dynamics) do AnyLogic:

Para preencher os valores, você pode digitar um a um 😢 ou utilizar Copy/Paste 😎, bastando copiar a tabela fornecida alguns parágrafos atrás neste tutorial e colar no Table data:

Note que você deve apagar a primeira linha, pois ela repete o valor inicial de 0 clientes (sem a correção, ao tentar executar o modelo, o AnyLogic apresenta erro de compilação).

Antes de prosseguir, duas coisas bacanas que você deve saber sobre Table funtions:

  • No campo Interpolation você pode selecionar a técnica de interpolação adotada. No caso do exemplo escolha a opção Linear, que representa uma interpolação linear entre os pontos (as opções estão melhor descritas no Help);

  • No campo Out of range você pode selecionar a regra a ser adotada caso o parâmetro de entrada fornecido pelo usuário esteja fora dos intervalo (range) da tabela. Para nosso caso, selecione Nearest:

Agora você pode utilizar a função onde quiser do modelo, em particular para equacionar o fluxo taxaDeDesistencias.

Voilá, simule!

Perguntas

  • Com os novos resultados, você mudaria sua decisão de investir apenas 2 meses em marketing?

  • Você consegue explicar o novo comportamento da curva de boca a boca?

Atualizado