Perché il goal management conta in MB-280
Come Customer Experience Analyst ti viene chiesto di tradurre gli obiettivi commerciali in strutture misurabili dentro Dynamics 365 Sales. Il modello dei goal consente di fissare un target (es. fatturato trimestrale) e confrontarlo automaticamente con ciò che il team sta chiudendo. La difficoltà d’esame non è “creare un goal”, ma capire quali componenti governano l’aggregazione e perché una certa configurazione produce numeri diversi.
Anatomia di un goal
Un record Goal mette insieme tre grandezze:
- Target — il valore obiettivo, inserito manualmente da chi definisce il goal.
- Actual — il consuntivo, calcolato aggregando i record che soddisfano i criteri (es. opportunity in stato Won).
- In-Progress — il potenziale ancora aperto (es. revenue stimata di opportunity ancora attive).
Il goal ha inoltre un Goal Owner (o manager), e un time period che può essere un fiscal period/fiscal year — se hai configurato il fiscal year settings dell’organizzazione — oppure un custom period con date From/To esplicite. La scelta del fiscal period è tipica quando l’azienda ragiona per trimestri fiscali; il custom period serve per campagne o intervalli non allineati al calendario fiscale.
Il goal metric: amount vs count
Il Goal Metric è il record riutilizzabile che definisce cosa si misura e come si aggrega. È qui che si gioca la parte architetturale:
- Metric type = Amount → si somma un campo money/decimal (es. Est. Revenue o Actual Revenue dell’opportunity). Richiede la scelta di un amount data type e l’associazione dei rollup field monetari.
- Metric type = Count → si conta il numero di record che rispettano i criteri (es. numero di opportunity vinte), senza sommare importi.
Per ciascuna grandezza (Actual, In-Progress ed eventuali custom rollup field) il goal metric specifica un rollup field che dichiara: l’entità sorgente (source record type), il campo aggregato, lo stato del record che lo rende valido (es. Won per Actual, Open per In-Progress) e il campo data che colloca il record nel periodo del goal. È fondamentale: il metric type determina quali campi puoi sommare. Con un metric di tipo Count non ha senso puntare a un campo money; con un metric Amount devi indicare esplicitamente l’importo, altrimenti l’aggregazione resta a zero.
Rollup query: filtrare i record che concorrono
Di default, un goal aggrega tutti i record dell’entità sorgente che appartengono al goal owner, con stato e data coerenti. La rollup query serve quando vuoi restringere ulteriormente l’insieme: è una query in stile Advanced Find (FetchXML) sull’entità sorgente, associata al campo Actual o In-Progress del goal.
Casi tipici in cui la rollup query è la risposta giusta:
- contare solo le opportunity di una certa product line, territory o campaign;
- includere revenue di un segmento clienti specifico;
- separare business new da renewal pur usando lo stesso goal metric.
Senza rollup query l’aggregazione è “tutto ciò che l’owner possiede”; con la rollup query definisci un sottoinsieme preciso.
Goal gerarchici parent/child
I goal supportano una gerarchia parent/child: assegni un goal al manager (parent) e goal figli ai singoli venditori. Il parent aggrega i figli, permettendo di vedere la pipeline consolidata del team. Sul goal metric esiste l’opzione Roll Up Only from Child Goals: se attiva, il parent somma solo i valori dei goal figli e non aggrega direttamente i record — utile per evitare doppi conteggi quando la responsabilità è già distribuita sui figli.
Il rollup non è real-time
Punto critico e più frainteso: i valori Actual/In-Progress non si aggiornano in tempo reale. Vengono ricalcolati dal job di sistema di rollup dei goal, che gira su schedule (frequenza configurabile nelle system settings, tipicamente ogni 24 ore), oppure on demand cliccando Recalculate sul record del goal. Chiudere un’opportunity non muove immediatamente il numero: bisogna attendere il job o forzare il ricalcolo.
Trappole tipiche d’esame
- “I numeri del goal non riflettono l’opportunity appena vinta” → è normale: il rollup è schedulato; usa Recalculate o attendi il goal rollup job, non è real-time.
- “Devo sommare la revenue ma il metric conta solo record” → il metric type è Count; per sommare importi serve un metric Amount con il rollup field money corretto.
- “Voglio un goal limitato alle opportunity di una sola business line” → aggiungi una rollup query al campo Actual/In-Progress, non modificare lo stato o l’owner.
- “Il team è organizzato a livelli e il totale è gonfiato” → usa goal parent/child e valuta Roll Up Only from Child Goals per evitare il doppio conteggio.
- “Il periodo del goal non combacia con i trimestri aziendali” → verifica i fiscal year settings; se non allineati, usa un custom period con date esplicite.