
Cos’è il Time blocking e perché è fondamentale nel CRM
25/02/2025
Gestire le SLA sui ticket con il CRM
12/03/2025L’ESIGENZA
Un cliente, per poter prendere decisioni basate su confronti oggettivi dell'andamento nel tempo di specifici parametri, necessita di poter analizzare l'evoluzione dei dati essendo il confronto tra le metriche fondamentale nella Business Intelligence (BI).
LA SOLUZIONE
Attraverso il modulo report del CRM, possiamo selezionare la modalità SQL, sfruttando appieno la potenza del motore MySQL integrato nella suite.
Questo ci permette di creare query avanzate, personalizzate secondo le esigenze aziendali, e di eseguire operazioni complesse di filtraggio, aggregazione e normalizzazione dei dati.
In questo modo, possiamo ottenere report dettagliati e altamente flessibili, utilizzando tutte le funzionalità offerte da MySQL, migliorando l'efficienza e l'accuratezza dell'analisi dei dati.
ESEMPIO
E’ possibile creare query che confrontano i risultati ottenuti per anno, permettendo una visione chiara dell'andamento delle attività.
Una delle funzionalità chiave è la possibilità di normalizzare i campi, raggruppando valori simili ma espressi in modo diverso, facilitando l'analisi dei dati.
Ad esempio, una query SQL che realizza questo processo potrebbe essere simile a quella seguente:
Confronto Provenienza Anno Attuale su Anno precedente (Normalizzato)
SELECT
UPPER ( CASE
WHEN LOWER (vtiger_leaddetails.provenienza_lead) IN ("chiamata", "CHIAMATE", ...) THEN "CHIAMATA"
WHEN LOWER (vtiger_leaddetails.provenienza_lead) LIKE "%diretto%" THEN "DIRETTO"
-- Altri raggruppamenti simili
ELSE vtiger_leaddetails.provenienza_lead
END ) AS provenienza_lead_normalizzata,
COUNT (CASE WHEN YEAR(vtiger_crmentity.createdtime) = YEAR(CURDATE()) THEN 1 END) AS count_current_year,
COUNT (CASE WHEN YEAR(vtiger_crmentity.createdtime) = YEAR(CURDATE()) - 1 THEN 1 END) AS count_previous_year,
-- Altri campi di confronto annuale
FROM
vtiger_crmentity
INNER JOIN
vtiger_leaddetails ON vtiger_leaddetails.leadid = vtiger_crmentity.crmid
WHERE
vtiger_crmentity.deleted = 0 AND vtiger_leaddetails.provenienza_lead != ""
GROUP BY
provenienza_lead_normalizzata
HAVING
count_current_year > 0 OR count_previous_year > 0
ORDER BY
provenienza_lead_normalizzata ASC;
Altro caso che il report SQL risolve
Nel CRM, capita spesso che lo stesso valore venga inserito in forme diverse, rendendo difficile l'aggregazione.
La query qui sopra utilizza la funzione CASE per normalizzare i valori del campo provenienza_lead, raggruppando diverse varianti di un singolo concetto (es. "chiamata", "CHIAMATE") sotto una forma unica ("CHIAMATA").
Questo consente di avere una visione più coerente e accurata dei dati.
Confronto dei risultati per anno
Oltre alla normalizzazione, la query confronta i dati di due periodi: l'anno corrente e l'anno precedente.
Utilizzando le funzioni COUNT e CASE, possiamo contare quanti lead provengono da ogni origine nei due anni, calcolare la differenza e determinare la variazione percentuale:
CASE
WHEN COUNT (C ASE WHEN YEAR( vtiger_crmentity.createdtime) = YEAR ( CURDATE ()) - 1 THEN 1 END ) = 0 THEN 0
ELSE
( COUNT ( CASE WHEN YEAR( vtiger_crmentity.createdtime) = YEAR ( CURDATE ()) THEN 1 END) -
COUNT ( CASE WHEN YEAR( vtiger_crmentity.createdtime) = YEAR ( CURDATE ()) - 1 THEN 1 END )) * 100.0 /
COUNT ( CASE WHEN YEAR (vtiger_crmentity.createdtime) = YEAR ( CURDATE ()) - 1 THEN 1 END )
END , 2) AS percentage_difference
Questa operazione permette di visualizzare in modo chiaro l'evoluzione dei dati e di identificare eventuali trend positivi o negativi.
RISULTATI
Grazie all'uso del modulo report nel CRM, è possibile non solo ottenere una rappresentazione chiara dell'andamento dei lead su base annuale, ma anche normalizzare i dati, semplificando l'analisi e migliorando la qualità del reporting.
Con questa soluzione, il cliente è pronto ad affrontare future esigenze di importazione con la massima facilità, semplicemente aggiornando i listini quando necessario.






