# Daily Review Dashboard
:::info
## Daily Review Dashboard - Main Ctr
:::
In this dashboard all the things about NPS comes like buyer, non-buyer.
There are lot of metrics/measures based on NPS in this dashboard under a listing named as - Dealer Transformation Process Metrics - WTD
**Week definition:** Week starts from Friday and ends on Thursday. This is applicable for calculation of all parameters


The Measures are as follows -
Dealer -> Dealer id-Name of Dealer
### NB NPS (Non Buyer Net Promoter Score)
**Definition:** All individual customers who don't have invoice ID within 24 hours of enquiry date are eligible for NB NPS calling.
:::success
NB NPS Due -> Non Buyer(NPS) calling due
NB NPS Done -> Non Buyer(NPS) calling done
NB NPS Contact% ->
NB NPS with Rating ->
NB NPS Adh% -> Adherence
Input Quality NB NPS ->
:::
|Metric |DAX |
|------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|NB NPS Due -> Non Buyer(NPS) calling due |NB NPS Due =<br>VAR result= calculate(distinctcount(FactNPSDetail[enquiry_id]))<br>return IF(ISBLANK(result),0,result) |
|NB NPS Done -> Non Buyer(NPS) calling done|NB NPS Done =<br>VAR result=calculate(distinctcount(FactNPSDetail[enquiry_id]),FactNPSDetail[Status]="Done")<br>return IF(ISBLANK(result),0,result) |
|NB NPS Contact% -> |NB NPS Contact % = DIVIDE([NB NPS Done],[NB NPS Due],BLANK()) |
|NB NPS with Rating -> |NB NPS Done with Rating = calculate(DISTINCTCOUNT(FactNPSDetail[enquiry_id]),NOT(ISBLANK(FactNPSDetail[rating]))) |
|NB NPS Adh% -> Adherence |NB NPS Adh% = DIVIDE([NB NPS Done with Rating],[NB NPS Due]) |
|Input Quality NB NPS -> |Input quality - NB NPS =<br>SWITCH(TRUE(),<br>[NB NPS Done with Rating]=0,"No Data",<br>[Total NPS Score]>=80,"GRADE 1",<br>[Total NPS Score]>=50,"GRADE 2",<br>[Total NPS Score]<50 && [Total NPS Score]>=0,"GRADE 3")|
**NB NPS Due Date:** Enquiry Date + 1 day
**Ex:** For Week 49 - Duration : 26 Feb 21 to 04 Mar 21, Enquiries generated between 25 Feb 21 and 3 Mar 21 are due for NB NPS calling
**Quality Grading Calculation:**
**Base:** Only NB NPS calls with rating are considered for this calculation. Grading is based on 3 scores
**Total NB NPS Scores** = Score 1 + Score 2 + Score 3

**Grading Criteria**:
Grade 1 : Total NB NPS Scores >= 80
Grade 2 : Total NB NPS Scores > = 50
Grade 3 : Total NB NPS Scores < 50 & Total NB NPS Scores >= 0
No Data : NB NPS Done with Rating = 0
### Buyer PSF (Buyer Post Sales Feedback)
**Definiton**: All individual customers with invoice ID are eligible for PSF calling.
:::success
Buyer PSF Due -> PSF calling Due
Buyer PSF Done -> PSF calling Done
Buyer PSF Contact% -> division of PSF done & PSF due
PSF with Rating -> PSF calling with rating
Buyer PSF Adh% -> division of PSF with Rating & PSF due
Input Quality PSF -> Quality Grading
:::
|Metric |DAX |
|----------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|Buyer PSF Due -> PSF calling Due |Buyer PSF Due =<br>var result=DISTINCTcount(FactPSFDetail[invoice_id])<br>return IF(ISBLANK(result),0,result) |
|Buyer PSF Done -> PSF calling Done|Buyer PSF Done =<br>var result=calculate(DISTINCTcount(FactPSFDetail[invoice_id]),FactPSFDetail[Status]="Done")<br>return IF(ISBLANK(result),0,result) |
|Buyer PSF Contact% -> |Buyer PSF Contact % \= DIVIDE([Buyer PSF Done],[Buyer PSF Due],BLANK()) |
|PSF with Rating -> |PSF Done with Rating = calculate(DISTINCTCOUNT(FactPSFDetail[invoice_id]),NOT(ISBLANK(FactPSFDetail[rating]))) |
|Buyer PSF Adh% -> |Buyer PSF Adh% = DIVIDE([PSF Done with Rating],[Buyer PSF Due]) |
|Input Quality PSF -> |Input quality - PSF =<br>SWITCH(TRUE(),<br>[PSF Done with Rating]=0,"No Data",<br>[Total PSF Score]>=80,"GRADE 1",<br>[Total PSF Score]>=50,"GRADE 2",<br>[Total PSF Score]<50 && [Total NPS Score]>=0,"GRADE 3")|
**PSF Due Date:** Invoice Date + 7 days
Ex: For Week 49 - Duration : 26 Feb 21 to 04 Mar 21, Invoices created between 19 Feb 21 and 25 Feb 21 are due for PSF calling.
**Quality Grading Calculation:**
**Base:** Only PSF calls with rating are considered for this calculation. Grading is based on 3 scores.
**Total Buyer PSF Scores** = Score 1 + Score 2 + Score 3

**Grading Criteria:**
Grade 1 : Total Buyer PSF Scores >= 80
Grade 2 : Total Buyer PSF Scores > = 50
Grade 3 : Total Buyer PSF Scores < 50 & Total Buyer PSF Scores >= 0
No Data : Buyer PSF Done with Rating = 0
### CLF (Closed Loop Feedback)
**Definition:** CLF score is calculated on a daily basis for each dealer based on the below logic and the average of the Total CLF score is shown for the selected week
:::success
CLF Done ->
CLF Adh% ->
Input Quality CLF ->
:::
|Metric |DAX |
|--------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|CLF Done -> |No of CLF Meetings =<br>VAR Result= count(FactCLF[meeting_date])<br>return IF(ISBLANK(Result),0,Result) |
|CLF Adh% -> |CLF Adherence % = DIVIDE([No of CLF Meetings],[No of Workdays],BLANK()) |
|Input Quality CLF ->|Input quality - CLF =<br>SWITCH(TRUE(),<br>[No of CLF Meetings]=0,"No Data",<br>[Total CLF Score]>=80,"GRADE 1",<br>[Total CLF Score]>=50,"GRADE 2",<br>[Total CLF Score]<50 && [Total CLF Score]>=0,"GRADE 3")|
**Quality Grading Calculation:**
**Total CLF Score** = Score 1 + Score 2

**Grading Criteria:**
Grade 1 : Total CLF Scores >= 80
Grade 2 : Total CLF Scores > = 50
Grade 3 : Total CLF Scores < 50 & Total NB NPS Scores >= 0
No Data : No CLF Meeting
### FnC (Follow up & Conversion)
**Definition:** All individual customers who don't have invoice ID within 24 hours of enquiry date are eligible for FNC calling
:::success
FnC Due ->
FnC Done ->
FnC Contact% ->
:::
|Metric |DAX |
|---------------|------------------------------------------------------------------------------------------------------------------------------------------|
|FnC Due -> |FnC Due =<br>VAR result=count(FactFNCDetail[enquiry_date])<br>return IF(ISBLANK(result),0,result) |
|FnC Done -> |FnC Done =<br>VAR result=calculate(count(FactFNCDetail[enquiry_date]),FactFNCDetail[Status]="Done")<br>return IF(ISBLANK(result),0,result)|
|FnC Contact% ->|FnC Contact % = DIVIDE([FnC Done],[FnC Due],BLANK()) |
**FNC Due Date:** Enquiry Date + 1 day
Ex: For Week 49 - Duration : 26 Feb 21 to 04 Mar 21, Enquiries generated between 25 Feb 21 and 3 Mar 21 are due for FNC calling.
## NB NPR (Non Buyer Net Promoter Recovery)
**Definition:** Non Buyer Recovered after days/months through different recovery sources; HO, App and Retail.
Retail will have the highest preference, followed by HO, then app.
:::success
NB NPR Due ->
NB NPR Done ->
NB NPR Contact % ->
NBNPR App Recovery Due ->
NBNPR App Recovery Done ->
NBNPR App Recovery% ->
HO NBNPR App Recovery Due ->
HO NBNPR App Recovery Done ->
HO NBNPR App Recovery % ->
:::
| DAX |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| NB NPR Due =<br>VAR result= calculate(count(FactNPSDetail[enquiry_id]),NOT(FactNPSDetail[rating] in {9,10}),NOT((FactNPSDetail[enquiry_id] IN {BLANK()})),FactNPSDetail[rating]<>BLANK())--(FactNPSDetail[enquiry_id]<>BLANK()))<br>return IF(ISBLANK(result),0,result) |
| NB NPR Done =<br>VAR result=calculate(count(FactNPSDetail[enquiry_id]),FactNPSDetail[recovery_status_bucket]="Recovered",NOT(FactNPSDetail[rating] in {9,10, BLANK()}),NOT((FactNPSDetail[enquiry_id] IN {BLANK()})))<br>return IF(ISBLANK(result),0,result) |
| NB NPR Contact % = DIVIDE([NB NPR Done],[NB NPR Due]) |
| NBNPR App Recovery Due =<br>VAR result= calculate(distinctcount(FactNPSDetail[enquiry_id]), FactNPSDetail[source_from]= "ems",NOT(FactNPSDetail[rating]) in {9,10},NOT(FactNPSDetail[enquiry_id]) IN {BLANK()},<br>FactNPSDetail[rating]<>BLANK())--(FactNPSDetail[enquiry_id]<>BLANK())<br>RETURN IF(ISBLANK(result),0,result)<br>\--,FactNPSDetail[recovery_through_app]= "no" |
| NBNPR App Recovery Done =<br>VAR result= calculate(distinctcount(FactNPSDetail[enquiry_id]), FactNPSDetail[source_from]= "ems",FactNPSDetail[recovery_through_app]= "yes",NOT(FactNPSDetail[rating]) in {9,10},NOT(FactNPSDetail[enquiry_id]) IN {BLANK()},<br>FactNPSDetail[rating]<>BLANK())--(FactNPSDetail[enquiry_id]<>BLANK())<br>RETURN IF(ISBLANK(result),0,result) |
| NBNPR App Recovery% = var result_=DIVIDE([NBNPR App Recovery Done],[NBNPR App Recovery Due],BLANK())<br>RETURN IF(ISBLANK(result_),0,result_) |
| HO NBNPR App Recovery Due =<br>VAR result= calculate(distinctcount(FactHO_NBNPSDetail[enquiry_id]),NOT(FactHO_NBNPSDetail[review]) in {9,10},NOT(FactHO_NBNPSDetail[enquiry_id]) IN {BLANK()},FactHO_NBNPSDetail[review] <> BLANK())<br>RETURN IF(ISBLANK(result),0,result) |
| HO NBNPR App Recovery Done =<br>VAR result= calculate(distinctcount(FactHO_NBNPSDetail[enquiry_id]),FactHO_NBNPSDetail[recovery_through_app]="yes",NOT(FactHO_NBNPSDetail[review]) in {9,10},<br>NOT(FactHO_NBNPSDetail[enquiry_id]) IN {BLANK()},FactHO_NBNPSDetail[review] <> BLANK())<br>RETURN IF(ISBLANK(result),0,result) |
| HO NBNPR App Recovery% = var result_=DIVIDE([HO NBNPR App Recovery Done],[HO NBNPR App Recovery Due],BLANK())<br>RETURN IF(ISBLANK(result_),0,result_) |
**NB NPR Due Date:** Enquiry Date + 1 day
Ex: For Week 49 - Duration : 26 Feb 21 to 04 Mar 21, Enquiries generated between 25 Feb 21 and 3 Mar 21 are due for FNC calling.
### Buyer NPR (Buyer Net Promoter Recovery)
**Definition:** Buyer Recovered after days/months through different recovery sources; HO, App and Retail.
Retail will have the highest preference, followed by HO, then app.
:::success
Buyer NPR Due ->
Buyer NPR Done ->
Buyer NPR Contact% ->
Buyer App Recovery Due ->
Buyer App Recovery Done ->
Buyer app Recovery % ->
HO Buyer NPR App Recovery Done ->
HO Buyer NPR App Recovery% ->
:::
| DAX |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Buyer NPR Due =<br>VAR result= calculate(count(FactPSFDetail[invoice_id]),NOT(FactPSFDetail[rating] in {9,10}),NOT((FactPSFDetail[invoice_id] IN {BLANK()})),<br>FactPSFDetail[rating]<>BLANK())--(FactNPSDetail[enquiry_id]<>BLANK())<br>return IF(ISBLANK(result),0,result) |
| Buyer PSF NPR Done =<br>var result=calculate(count(FactPSFDetail[invoice_id]),NOT(FactPSFDetail[invoice_id]) IN {BLANK()},FactPSFDetail[recovery_status_bucket] = "Recovered", FactPSFDetail[rating]<9, FactPSFDetail[rating]<>BLANK())<br>return IF(ISBLANK(result),0,result) |
| Buyer NPR Contact % = DIVIDE([Buyer PSF NPR Done],[Buyer NPR Due]) |
| Buyer NPR App Recovery Due =<br>VAR result= calculate(distinctcount(FactPSFDetail[invoice_id]),FactPSFDetail[source_from]="ems",NOT(FactPSFDetail[rating] in {9,10}),NOT((FactPSFDetail[invoice_id] IN {BLANK()})),<br>FactPSFDetail[rating]<>BLANK())--(FactNPSDetail[enquiry_id]<>BLANK())<br>return IF(ISBLANK(result),0,result) |
| Buyer NPR App Recovery Done =<br>VAR result= calculate(distinctcount(FactPSFDetail[invoice_id]), FactPSFDetail[source_from]= "ems",FactPSFDetail[recovery_through_app]= "yes",NOT(FactPSFDetail[rating]) in {9,10},NOT(FactPSFDetail[invoice_id]) IN {BLANK()},<br>FactPSFDetail[rating]<>BLANK())--(FactNPSDetail[enquiry_id]<>BLANK())<br>RETURN IF(ISBLANK(result),0,result) |
| Buyer App Recovery % = var result_=DIVIDE([Buyer NPR App Recovery Done],[Buyer NPR App Recovery Due],BLANK())<br>RETURN IF(ISBLANK(result_),0,result_) |
| HO Buyer NPR App Recovery Due =<br>VAR result= calculate(distinctcount(FactHO_PSFDetail[enquiry_id]),NOT(FactHO_PSFDetail[review]) in {9,10},NOT(FactHO_PSFDetail[enquiry_id]) IN {BLANK()},FactHO_PSFDetail[review] <> BLANK())<br>RETURN IF(ISBLANK(result),0,result) |
| HO Buyer NPR App Recovery Done =<br>VAR result= calculate(distinctcount(FactHO_PSFDetail[enquiry_id]),FactHO_PSFDetail[recovery_through_app]="yes",NOT(FactHO_PSFDetail[review]) in {9,10},<br>NOT(FactHO_PSFDetail[enquiry_id]) IN {BLANK()},FactHO_PSFDetail[review] <> BLANK())<br>RETURN IF(ISBLANK(result),0,result) |
| HO Buyer NPR App Recovery% = var result_=DIVIDE([HO Buyer NPR App Recovery Done],[HO Buyer NPR App Recovery Due],BLANK())<br>RETURN IF(ISBLANK(result_),0,result_) |
**Buyer NPR Due Date:** Enquiry Date + 7 days
Ex: For Week 49 - Duration : 26 Feb 21 to 04 Mar 21, Invoices created between 19 Feb 21 and 25 Feb 21 are due for Buyer NPR calling. .
### CE (Customer Episodes)
**Definition :**
:::success
CE Mapping Due ->
CE Mapping Done ->
CE Adh% ->
:::
| DAX |
| --------------------------------------------------------------------------------------------------------- |
| CE Mapping Due =<br>VAR Result= sum(FactCESummary[TotalEnquiries])<br>return IF(ISBLANK(Result),0,Result) |
| CE Mapping Done =<br>VAR Result= sum(FactCESummary[TotalCEMapped])<br>return IF(ISBLANK(Result),0,Result) |
| CE Adherence % = DIVIDE([CE Mapping Done],[CE Mapping Due],BLANK()) |
### ECR ()
**Definition:**
:::success
ECR Plan ->
ECR Act ->
ECR Ach% ->
:::
| DAX |
| --------------------------------------------------------------------- |
| Retail Plan(ECR Plan) = sum(FactRetailMonthPlan[day_plan]) |
| EC Retail(EC Retail) = [Counter Retail] + [AD EC Retail]+[MBO Retail] |
| Retail Ach %(ECR Ach%) = DIVIDE([EC Retail],[Retail Plan],0) |
### DSE
**Definition:**
:::success
#Active DSEs ->
#DSEs Ach Plan ->
:::
### Training
**Definition:**
:::success
Training Due ->
Training Done ->
:::