Gestire il modello di Kano con uno script R

I backlog di prodotto vengono continuamente affinati, corretti, incrementati. La procedura che ho descritto nel mio post precedente sul modello di kano è un po’ intricata, ho quindi creato uno script R per gestirla in concreto.

Per darti un’idea di come implementarla sui tuoi prodotti, ti illustro gli step di massima che ho seguito. Sono partito da un file excel che simula l’output del sondaggio, con la struttura già descritta per poi contare ogni “incrocio” Functional/Dysfunctional.

# like=1, expect=2, neutral=3, live with = 4, dislike 5
# Assigning each functional/dysfunctional combination to a category
feature_A<-feature_A %>% 
  mutate(category = case_when(
    Functional =="1" & Dysfunctional == "1" ~ "Questionable",
    Functional =="1" &  Dysfunctional >"1" &  Dysfunctional <"5" ~ "Delighters", Functional =="1" & Dysfunctional =="5" ~ "Desired", Functional >"1" & Functional <"5" & Dysfunctional == "1" ~ "Reverse", Functional >"1" & Functional <"5" & Dysfunctional >"1" &  Dysfunctional <"5" ~ "Indifferent", Functional >"1" & Functional <"5" & Dysfunctional =="5" ~ "Required",
    Functional =="5" & Dysfunctional <"5" ~ "Reverse",
    Functional =="5" & Dysfunctional =="5" ~ "Questionable"
  ))

Lo script prosegue  classificando tutti gli incroci Funzionale/Disfunzionale in categorie che vengono poi a loro volta conteggiate con una  ulteriore group by per categoria.  Il conteggio così ottenuto viene reso graficamente in una matrice heatmap. Ecco il relativo codice ggplot:

final_prod_cat %>% 
ggplot( aes( Dysfunctional, Functional))+
  geom_tile(aes(fill=total_count), colour="black") +
  scale_fill_gradient(low="white", high="steelblue") +
  geom_text(aes(label=total_count))+
  ggtitle("Kano Analysis - Product categories")+
  facet_grid(rows = vars(cat2))

E questo è l’output grafico del processo:

Note that we are using the second approach here, so all cells with the same category are summed up, i.e the Required category is the result of 623+38+2=663. Notiamo che ho usato il secondo approccio , quindi le celle della matrice con la stessa categoria vengono sommate e raggrupate.Ad esempio, la categoria Required è il risultato di 623+38+2=663

Quindi, sulla base di questa analisi, il navigatore GPS è una cartteristica must-have e dovrebbe essere implementato per primo, I clienti non sono invece interessati al viaggio gratuito (categoria indifferent) nel giorno del compleanno. I risultati contradditori del quiz alla partenza (categoria Questionable) meritano invece un’analisi più approfondita e probabilmente la revisione delle relative domande nel  sondaggio.