You are on page 1of 3

Efficacia BAC

Tutti i dati necessari per la presentazione delle info in homepage verranno calcolati preventivamente e memorizzati su una tabella di appoggio (SFA_REPORT_STORE). L’aggiornamento massivo verrà fatto ogni mattina, tramite update dei dati già presenti in tabella e l’insert di quelli mancanti. Per risolvere il problema dell’aggiornamento in tempo reale ( e mostrare quindi il tachimetro di previsione ) si è pensato ad un trigger da far scattare in caso di update degli “impegni” che aggiorni automaticamente le ore riguardanti l’accoppiata BAC,MERCATO ( probabilmente dall’agenda il info arrivano per ACCOUNT, ma non è un problema ).

Per quanto riguarda le pagine di dettaglio, a parte il dettaglio del mese corrente, tutte gli altri tipi di ricerca verranno eseguiti sulla tabella SFA_REPORT_STORE. Occorrerà bindare alcune info aggiuntive per permettere le medie pesate in caso di presentazione dati a ACCOUNT MANAGER e MERCATI.

I dettagli per il mese corrente (quindi la possibilita’ di selezionare con granularita’ alla giornata) verrà calcolata “al volo” dal sistema (sempre a livello di DB)

Ricapitolando

Tachimetro Home Page Account: Query Diretta su SFA_EFFICACIA_BAC Account Manager: Media su una lista di valori di ritorno di SFA_EFFICACIA_BAC ( dipendente dagli Account in gestione ) Mercato: Media su una lista di valori di ritorno di SFA_EFFICACIA_BAC ( dipendente dagli Account del mercato )

TAB 1 ( dettagli efficacia BAC)

Dettaglio ad oggi: esattamente come il tachimetro della home page Dettaglio mese attuale

Account: Calcolati al volo da “func” (aggregato max 30 entry) Account Manager: media pesata in base ai bac che pesano di più sulla zona (ovvero bac con il maggior numero di venditori)

Mercato: media pesata in base alle zone che pesano di piu sul mercato (

ovvero zone

con maggior numero di venditori?

)

Dettaglio mesi precedenti ( tabella SFA_EFFICACIA_BAC ) Account: Query Diretta su SFA_EFFICACIA_BAC Account Manager: Media su una lista di valori di ritorno da SFA_EFFICACIA_BAC Mercato:: media su lista di valori di ritorno da SFA_EFFICACIA_BAC TAB 2 ( diagramma a torta ) Viene calcolato tramite query diretta sulla tabella riepologativa delle visite effettuate dall’account. Anche in questo caso la query dovrà prendere in input una lista di Account (basterebbe

uno, ma non costa niente fare una lista

magari poi ci serve) una startDate ed una

endDate TAB 3 ( dettaglia per account o dettaglia per mercato)

Viene calcolato mediante query diretta su SFA_EFFICACIA_BAC e viene visualizzato

sottoforma tabellare invece che di tachimetro (come nel TAB 1 ).

L’analisi non specifica

che si possano effettuare visualizzazioni nei mesi precedenti (non credo sia significativo

ma meglio evidenziarlo).

 

Entità fondamentali da implementare Oracle Table: SFA_CALENDARIO: sarebbe opportuno definire la tabella che contenga le festività (sabati e domeniche c OracleTable: SFA_REPORT_STORE - Tabella che si occupa del mantenimento delle informazioni necessarie per la gestione dei report. Cosi’ costituita:

BAC: insieme all’agenzia identificano un venditore AGENZIA: insieme al bac identificano un venditore G_LAVORATIVI_AD_OGGI: giorni lavorativi da inizio mese corrente G_LAVORATIVI_TOT_MESE: giorni lavorativi di tutto il mese corrente ORE_ASSENZA_AD_OGGI: tramite l’agenda si ricavano ORE_IMPEGNI_TOT_AD_OGGI: tramite l’agenda si ricavano ORE_IMPEGNI_ACQ_AD_OGGI: tramite l’agenda si ricavano R_EFF_BAC_AD_OGGI: Efficacia BAC (risultato da mostrare) R_EFF_BAC_STIMATA_MESE: Efficacia BAC Stimata per fine mese R_ACQ_AD_OGGI: acquisizione (risultato da mostrare) R_ACQ_STIMATA_MESE: acquisizione stimata per fine mese

OracleProcedure “updateProc”: Procedura lanciata ogni mattina. Si occupa di richiamare la OracleFunction “reportBaseInfo” e di inserire i risultati cosi’ ottenuti in tabella di appoggio SFA_REPORT_STORE

OracleFunction “reportBaseInfo”:

IN: bac,agenzia, startDate, endDate OUT: oggetto tipo SFA_REPORT_STORE%ROWTYPE Calcola gli aggregati delle seguenti informazioni a partire dall’accoppiata BAC ed AGENZIA passata in input. G_LAVORATIVI_AD_OGGI G_LAVORATIVI_TOT_MESE ORE_ASSENZA_AD_OGGI ORE_IMPEGNI_TOT_AD_OGGI ORE_IMPEGNI_ACQ_AD_OGGI Una volta ottenuti tutti gli aggregati precedentemente listati, richiama “calcolaEfficaciaBAC” passando i parametri

calcolaAcquisizioni” passando i parametri

OracleFunction “calcolaEfficaciaBAC”

OracleFunction “calcolaAcquisizioni” OracleTrigger “updateSfaReportStore”

Regole di calcolo del dato aggregato

oreLavorative=8,5

 

giorniLavorativi

= all’interno dell’intervallo selezionato occorre calcolare i giorni lavorativi

( sarebbe opportuno creare una tabella calendario, dove andare ad inserire le festività compresi sabati e domeniche)

oreAssenza

= all’interno dell’intervallo selezionato, occorre calcolare le ore di assenza

dell’account. (dove trovarle? sulle tabelle dell’agenda?)

 

oreLavorate = (giorniLavorativi* 8,5) - oreAssenza

 

oreGestioneOperativa= oreLavorate * 20 / 100

oreDedicateAgliImpegni

= calcolare dagli impegni tutte le ore nell’intervallo utilizzate per

impegni diversi da “gestione operativa” (occorre farsi dare i codici utilizzati per i vari tipo di impegno)

oreDiVisitaEffettuate = oreLavorate - oreGestioneOperativa - oreDedicateAgliImpegni

obiettivoEffettivo =

 

oreDiVisitaEffettuate / 8,5*<SFA_VISITE_OBIETTIVI.N_VISITE_GIORNO>

 

datoTachimetro = VisitaEffettuate - obiettivoEffettivo

 
NUOVA ANALISI

NUOVA ANALISI

NUOVA ANALISI