0
0
PMPedro Mattar
A seguir é um código que exibe a média de chamadas por cliente por período desde o credenciamento.
def plot(Result, AvgCallPerClient, Label, Title):
Plota o gráfico de linha
plt.plot(Result['period_since_cred'], Result['avg_calls_per_client'], label=Label, title=Title)
Adiciona as labels e título ao gráfico
plt.xlabel('Período desde o Credenciamento (meses)') plt.ylabel('Média de Chamados por Cliente') plt.title('Média de Chamados por Cliente por Período desde o Credenciamento')
Adiciona a legenda
plt.legend(alpha=0.
import pandas as pd
import sqlite3
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats
from IPython.display import display
import matplotlib.pyplot as plt
query = '''
WITH clientes AS (
SELECT
cases.accountid,
cases.date_ref,
creds.cred_date,
(julianday(cases.date_ref) - julianday(creds.cred_date)) / 30 AS period_since_cred
FROM cases
JOIN creds ON cases.accountid = creds.accountid
)
SELECT
period_since_cred,
AVG(COUNT(DISTINCT accountid)) OVER (PARTITION BY period_since_cred) AS avg_calls_per_client
FROM clientes
GROUP BY period_since_cred
ORDER BY period_since_cred
'''
# Execute a query e salve o resultado em uma variável
result = pd.read_sql_query(query, conn)
# Define o tamanho do gráfico
plt.figure(figsize=(12, 6))
# Plota o gráfico de linha com a média de chamados por cliente por período desde o credenciamento
plt.plot(result['period_since_cred'], result['avg_calls_per_client'], label='Média de Chamados por Cliente')
# Adiciona as labels e título ao gráfico
plt.xlabel('Período desde o Credenciamento (meses)')
plt.ylabel('Média de Chamados por Cliente')
plt.title('Média de Chamados por Cliente por Período desde o Credenciamento')
# Adiciona a legenda
plt.legend()
# Mostra o gráfico
plt.show()