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