3  Análisis de componentes principales

Evaluando la calidad de un sitio web con la escala e-Serv-Qual

Published

December 14, 2025

3.1 Introducción al caso

Imagina que eres el responsable de la experiencia de usuario (UX) de un importante sitio web de servicios. Para mejorar, necesitas entender qué es lo que los usuarios valoran realmente. ¿Es la velocidad? ¿La facilidad de uso? ¿La seguridad?

Para ello, has realizado una encuesta utilizando las 18 preguntas (V1 a V18) de la prestigiosa escala e-Serv-Qual, diseñada para medir la calidad percibida de los servicios electrónicos. Ahora tienes una base de datos con 18 variables y te enfrentas a un problema de exceso de información.

El objetivo de este análisis es doble:

  1. Reducir la complejidad: Queremos condensar estas 18 variables en un número mucho menor de dimensiones o componentes subyacentes que resuman los datos sin perder demasiada información.
  2. Obtener insights estratégicos: Queremos que estas nuevas dimensiones tengan un significado claro desde el punto de vista del marketing y la gestión, para poder tomar decisiones informadas.

Este documento te guiará paso a paso a través del análisis, respondiendo a las cuatro cuestiones clave del caso.


3.2 Fase 1: Adecuación del modelo a la muestra

Antes de sumergirnos en el análisis, debemos responder a una pregunta fundamental: ¿Son nuestros datos adecuados para un Análisis de Componentes Principales? No todos los conjuntos de datos lo son. Necesitamos que nuestras variables sean “jugadoras de equipo”, es decir, que estén suficientemente correlacionadas entre sí.

3.2.1 1.1. El “casting” de las variables: Test KMO y MSA

La prueba de Kaiser-Meyer-Olkin (KMO) es nuestro “director de casting”. Nos dice si nuestras variables están listas para actuar juntas en la “película” del ACP.

  • KMO General: Mide la adecuación global. Un valor > 0.7 es bueno, > 0.8 es meritorio y > 0.9 es maravilloso.
  • MSA (Measure of Sampling Adequacy): Es un “índice de colaboración” individual para cada variable. La regla de oro es que ninguna variable debe tener un MSA < 0.5. Si una variable no cumple, es un “lobo solitario” que debemos considerar eliminar.
Code
# Calculamos el KMO y los MSA individuales
kmo_resultado <- KMO(data)
print(kmo_resultado)
$MSA
[1] 0.9008676

$MSAi
       V1        V2        V3        V4        V5        V6        V7        V8 
0.9172932 0.9388428 0.8609897 0.9289021 0.9074041 0.8789288 0.8911978 0.8364470 
       V9       V10       V11       V12       V13       V14       V15       V16 
0.8690383 0.9273066 0.9435031 0.9457687 0.8711674 0.8614126 0.8982558 0.9202856 
      V17       V18 
0.8792587 0.8684423 

$Image
             V1           V2           V3           V4           V5          V6
V1   1.00000000 -0.158687163 -0.176244789 -0.091085572 -0.443244014 -0.07893618
V2  -0.15868716  1.000000000 -0.191126234  0.025757520 -0.158268757 -0.09190086
V3  -0.17624479 -0.191126234  1.000000000  0.061788995 -0.048643802 -0.50277314
V4  -0.09108557  0.025757520  0.061788995  1.000000000 -0.022655947 -0.05193659
V5  -0.44324401 -0.158268757 -0.048643802 -0.022655947  1.000000000 -0.20345462
V6  -0.07893618 -0.091900860 -0.502773136 -0.051936588 -0.203454623  1.00000000
V7  -0.02007472  0.028448322 -0.080572776  0.009058751 -0.012529807  0.12040053
V8  -0.05112878  0.003510963 -0.030743663 -0.083427301  0.152216527 -0.05146032
V9  -0.06533069  0.003871597  0.112698082 -0.218438253 -0.021767189 -0.02057036
V10  0.07272001 -0.245793325  0.056243560 -0.014561772 -0.005541835 -0.08983938
V11  0.01117348 -0.202404618  0.034193416 -0.224547863 -0.047583261 -0.05672024
V12  0.03215347 -0.017465939 -0.057902413 -0.109274599 -0.070916950  0.08241658
V13 -0.03013606 -0.094343016  0.005883971 -0.075330655 -0.028238539  0.04726512
V14  0.03969605 -0.058817559  0.039980931 -0.179703603 -0.021309757 -0.02023679
V15 -0.03585954 -0.091484051  0.137676649  0.110045135  0.033267609 -0.13229067
V16  0.03950719 -0.066157138 -0.070717694 -0.078727844 -0.053275236  0.02942896
V17 -0.14532607  0.080020165 -0.030018165  0.122514919  0.049601873  0.07639210
V18  0.01094254  0.119638938 -0.110877698 -0.116835681 -0.016621502  0.08539952
              V7           V8           V9          V10          V11
V1  -0.020074724 -0.051128776 -0.065330693  0.072720008  0.011173477
V2   0.028448322  0.003510963  0.003871597 -0.245793325 -0.202404618
V3  -0.080572776 -0.030743663  0.112698082  0.056243560  0.034193416
V4   0.009058751 -0.083427301 -0.218438253 -0.014561772 -0.224547863
V5  -0.012529807  0.152216527 -0.021767189 -0.005541835 -0.047583261
V6   0.120400528 -0.051460324 -0.020570359 -0.089839381 -0.056720237
V7   1.000000000 -0.350421432 -0.052594927 -0.187340761 -0.184154845
V8  -0.350421432  1.000000000 -0.535469986  0.155151303 -0.014614862
V9  -0.052594927 -0.535469986  1.000000000 -0.240274805  0.008334626
V10 -0.187340761  0.155151303 -0.240274805  1.000000000 -0.079927880
V11 -0.184154845 -0.014614862  0.008334626 -0.079927880  1.000000000
V12 -0.095818545 -0.040313270 -0.056518662 -0.208162459 -0.087888603
V13 -0.167249271  0.020187504 -0.033253119 -0.039503394  0.092542592
V14  0.198433881 -0.215470483  0.187978467 -0.037612218 -0.137323595
V15 -0.037405896  0.016417288  0.044077973 -0.061922037 -0.022015176
V16 -0.088333518 -0.034562946 -0.021502427 -0.000900583  0.055628185
V17  0.050181305  0.049774828 -0.144892417 -0.021068477 -0.189975346
V18  0.078972837  0.041649429 -0.052149329 -0.080615431 -0.047422985
            V12          V13         V14         V15          V16         V17
V1   0.03215347 -0.030136061  0.03969605 -0.03585954  0.039507190 -0.14532607
V2  -0.01746594 -0.094343016 -0.05881756 -0.09148405 -0.066157138  0.08002017
V3  -0.05790241  0.005883971  0.03998093  0.13767665 -0.070717694 -0.03001816
V4  -0.10927460 -0.075330655 -0.17970360  0.11004513 -0.078727844  0.12251492
V5  -0.07091695 -0.028238539 -0.02130976  0.03326761 -0.053275236  0.04960187
V6   0.08241658  0.047265122 -0.02023679 -0.13229067  0.029428961  0.07639210
V7  -0.09581855 -0.167249271  0.19843388 -0.03740590 -0.088333518  0.05018130
V8  -0.04031327  0.020187504 -0.21547048  0.01641729 -0.034562946  0.04977483
V9  -0.05651866 -0.033253119  0.18797847  0.04407797 -0.021502427 -0.14489242
V10 -0.20816246 -0.039503394 -0.03761222 -0.06192204 -0.000900583 -0.02106848
V11 -0.08788860  0.092542592 -0.13732360 -0.02201518  0.055628185 -0.18997535
V12  1.00000000  0.124134999 -0.08834181 -0.09413867 -0.109659380  0.04659533
V13  0.12413500  1.000000000 -0.23470458  0.01206639 -0.057450741  0.07238905
V14 -0.08834181 -0.234704575  1.00000000 -0.04107245  0.038873303 -0.21714238
V15 -0.09413867  0.012066394 -0.04107245  1.00000000 -0.338453858 -0.27149624
V16 -0.10965938 -0.057450741  0.03887330 -0.33845386  1.000000000 -0.32923089
V17  0.04659533  0.072389049 -0.21714238 -0.27149624 -0.329230894  1.00000000
V18  0.09009909 -0.139574734 -0.14427209 -0.18472232 -0.053254326 -0.01058297
            V18
V1   0.01094254
V2   0.11963894
V3  -0.11087770
V4  -0.11683568
V5  -0.01662150
V6   0.08539952
V7   0.07897284
V8   0.04164943
V9  -0.05214933
V10 -0.08061543
V11 -0.04742298
V12  0.09009909
V13 -0.13957473
V14 -0.14427209
V15 -0.18472232
V16 -0.05325433
V17 -0.01058297
V18  1.00000000

$ImCov
             [,1]         [,2]         [,3]         [,4]         [,5]
 [1,]  1.00000000 -0.158687163 -0.176244789 -0.091085572 -0.443244014
 [2,] -0.15868716  1.000000000 -0.191126234  0.025757520 -0.158268757
 [3,] -0.17624479 -0.191126234  1.000000000  0.061788995 -0.048643802
 [4,] -0.09108557  0.025757520  0.061788995  1.000000000 -0.022655947
 [5,] -0.44324401 -0.158268757 -0.048643802 -0.022655947  1.000000000
 [6,] -0.07893618 -0.091900860 -0.502773136 -0.051936588 -0.203454623
 [7,] -0.02007472  0.028448322 -0.080572776  0.009058751 -0.012529807
 [8,] -0.05112878  0.003510963 -0.030743663 -0.083427301  0.152216527
 [9,] -0.06533069  0.003871597  0.112698082 -0.218438253 -0.021767189
[10,]  0.07272001 -0.245793325  0.056243560 -0.014561772 -0.005541835
[11,]  0.01117348 -0.202404618  0.034193416 -0.224547863 -0.047583261
[12,]  0.03215347 -0.017465939 -0.057902413 -0.109274599 -0.070916950
[13,] -0.03013606 -0.094343016  0.005883971 -0.075330655 -0.028238539
[14,]  0.03969605 -0.058817559  0.039980931 -0.179703603 -0.021309757
[15,] -0.03585954 -0.091484051  0.137676649  0.110045135  0.033267609
[16,]  0.03950719 -0.066157138 -0.070717694 -0.078727844 -0.053275236
[17,] -0.14532607  0.080020165 -0.030018165  0.122514919  0.049601873
[18,]  0.01094254  0.119638938 -0.110877698 -0.116835681 -0.016621502
             [,6]         [,7]         [,8]         [,9]        [,10]
 [1,] -0.07893618 -0.020074724 -0.051128776 -0.065330693  0.072720008
 [2,] -0.09190086  0.028448322  0.003510963  0.003871597 -0.245793325
 [3,] -0.50277314 -0.080572776 -0.030743663  0.112698082  0.056243560
 [4,] -0.05193659  0.009058751 -0.083427301 -0.218438253 -0.014561772
 [5,] -0.20345462 -0.012529807  0.152216527 -0.021767189 -0.005541835
 [6,]  1.00000000  0.120400528 -0.051460324 -0.020570359 -0.089839381
 [7,]  0.12040053  1.000000000 -0.350421432 -0.052594927 -0.187340761
 [8,] -0.05146032 -0.350421432  1.000000000 -0.535469986  0.155151303
 [9,] -0.02057036 -0.052594927 -0.535469986  1.000000000 -0.240274805
[10,] -0.08983938 -0.187340761  0.155151303 -0.240274805  1.000000000
[11,] -0.05672024 -0.184154845 -0.014614862  0.008334626 -0.079927880
[12,]  0.08241658 -0.095818545 -0.040313270 -0.056518662 -0.208162459
[13,]  0.04726512 -0.167249271  0.020187504 -0.033253119 -0.039503394
[14,] -0.02023679  0.198433881 -0.215470483  0.187978467 -0.037612218
[15,] -0.13229067 -0.037405896  0.016417288  0.044077973 -0.061922037
[16,]  0.02942896 -0.088333518 -0.034562946 -0.021502427 -0.000900583
[17,]  0.07639210  0.050181305  0.049774828 -0.144892417 -0.021068477
[18,]  0.08539952  0.078972837  0.041649429 -0.052149329 -0.080615431
             [,11]       [,12]        [,13]       [,14]       [,15]
 [1,]  0.011173477  0.03215347 -0.030136061  0.03969605 -0.03585954
 [2,] -0.202404618 -0.01746594 -0.094343016 -0.05881756 -0.09148405
 [3,]  0.034193416 -0.05790241  0.005883971  0.03998093  0.13767665
 [4,] -0.224547863 -0.10927460 -0.075330655 -0.17970360  0.11004513
 [5,] -0.047583261 -0.07091695 -0.028238539 -0.02130976  0.03326761
 [6,] -0.056720237  0.08241658  0.047265122 -0.02023679 -0.13229067
 [7,] -0.184154845 -0.09581855 -0.167249271  0.19843388 -0.03740590
 [8,] -0.014614862 -0.04031327  0.020187504 -0.21547048  0.01641729
 [9,]  0.008334626 -0.05651866 -0.033253119  0.18797847  0.04407797
[10,] -0.079927880 -0.20816246 -0.039503394 -0.03761222 -0.06192204
[11,]  1.000000000 -0.08788860  0.092542592 -0.13732360 -0.02201518
[12,] -0.087888603  1.00000000  0.124134999 -0.08834181 -0.09413867
[13,]  0.092542592  0.12413500  1.000000000 -0.23470458  0.01206639
[14,] -0.137323595 -0.08834181 -0.234704575  1.00000000 -0.04107245
[15,] -0.022015176 -0.09413867  0.012066394 -0.04107245  1.00000000
[16,]  0.055628185 -0.10965938 -0.057450741  0.03887330 -0.33845386
[17,] -0.189975346  0.04659533  0.072389049 -0.21714238 -0.27149624
[18,] -0.047422985  0.09009909 -0.139574734 -0.14427209 -0.18472232
             [,16]       [,17]       [,18]
 [1,]  0.039507190 -0.14532607  0.01094254
 [2,] -0.066157138  0.08002017  0.11963894
 [3,] -0.070717694 -0.03001816 -0.11087770
 [4,] -0.078727844  0.12251492 -0.11683568
 [5,] -0.053275236  0.04960187 -0.01662150
 [6,]  0.029428961  0.07639210  0.08539952
 [7,] -0.088333518  0.05018130  0.07897284
 [8,] -0.034562946  0.04977483  0.04164943
 [9,] -0.021502427 -0.14489242 -0.05214933
[10,] -0.000900583 -0.02106848 -0.08061543
[11,]  0.055628185 -0.18997535 -0.04742298
[12,] -0.109659380  0.04659533  0.09009909
[13,] -0.057450741  0.07238905 -0.13957473
[14,]  0.038873303 -0.21714238 -0.14427209
[15,] -0.338453858 -0.27149624 -0.18472232
[16,]  1.000000000 -0.32923089 -0.05325433
[17,] -0.329230894  1.00000000 -0.01058297
[18,] -0.053254326 -0.01058297  1.00000000

$Call
KMO(r = data)

attr(,"class")
[1] "psych" "KMO"  

Diagnóstico (Respuesta a la Cuestión 1): El resultado es sobresaliente. El KMO general es de 0.9, lo que según la escala de Kaiser es “maravilloso”. Esto indica que la muestra es excepcionalmente adecuada para el análisis. Además, al observar los MSA individuales (la diagonal de la matriz MSA), vemos que todas las variables superan con creces el umbral de 0.5. No hay “variables aisladas y solitarias”, por lo que podemos proceder con todas las variables.

3.2.2 1.2. El control de seguridad: Test de esfericidad de Bartlett

Este test confirma si existe suficiente correlación en nuestros datos para justificar el análisis.

  • Hipótesis Nula (Ho): No hay correlación entre las variables (la matriz de correlaciones es una matriz identidad).
  • Nuestro Objetivo: Queremos un p-valor < 0.05 para rechazar la Ho y confirmar que nuestros datos no son “aburridos”.
Code
# Realizamos el test de Bartlett
cortest.bartlett(data)
$chisq
[1] 1618.472

$p.value
[1] 6.624424e-243

$df
[1] 153

Diagnóstico (Respuesta a la Cuestión 1): El p-valor es prácticamente cero, lo que nos permite rechazar la hipótesis nula con total confianza. Esto confirma que existen correlaciones significativas entre las variables, y por tanto, tiene sentido buscar una estructura subyacente.

Conclusión de la Fase 1: El modelo de componentes principales es altamente adecuado para la muestra seleccionada.


3.3 Fase 2: Extracción de componentes

Ahora que sabemos que nuestros datos son adecuados, el siguiente paso es decidir cuántos componentes vamos a extraer.

3.3.1 2.1. ¿Cuántos componentes? El criterio de Kaiser y el gráfico de sedimentación

  1. Criterio de Kaiser: La regla más simple. Retenemos solo los componentes con un autovalor (Eigenvalue) > 1.
  2. Gráfico de Sedimentación (Scree Plot): La “regla del codo”. Buscamos el punto en el gráfico donde la pendiente se suaviza drásticamente (el “codo”). Retenemos los componentes que están antes de ese punto.
Code
# Ejecutamos un ACP inicial para ver los autovalores
pca_inicial <- prcomp(data, scale. = TRUE)

# Creamos el gráfico de sedimentación con factoextra
fviz_eig(pca_inicial, 
         addlabels = TRUE, 
         main = "Gráfico de sedimentación",
         barfill = "steelblue", barcolor = "steelblue") +
  labs(title = "Gráfico de sedimentación (Scree Plot)",
       x = "Componentes principales", y = "% de varianza explicada") +
  theme_minimal() +
  ggthemes::theme_economist()

Diagnóstico: El gráfico y los autovalores nos muestran claramente que hay 4 componentes con un autovalor superior a 1. El “codo” en el gráfico de sedimentación también se produce en el componente 5, lo que refuerza la decisión de retener 4 componentes.


3.4 Fase 3: Extracción y caracterización de los componentes

Con la decisión tomada de extraer 4 componentes, ejecutamos el modelo final aplicando una rotación varimax para facilitar la interpretación.

3.4.1 3.1. La solución final

Presentamos la matriz de componentes rotados.

Code
# Ejecutamos el ACP final con 4 factores y rotación varimax
output_final <- principal(data, nfactors = 4, rotate = "varimax")

# Mostramos los resultados finales, omitiendo cargas pequeñas para mayor claridad
print(output_final, digits = 3)
$values
 [1] 7.506 1.994 1.405 1.082 0.770 0.710 0.671 0.519 0.505 0.454 0.428 0.378
[13] 0.340 0.323 0.284 0.231 0.211 0.190

$rotation
[1] "varimax"

$n.obs
[1] 170

$communality
   V1    V2    V3    V4    V5    V6    V7    V8    V9   V10   V11   V12   V13 
0.715 0.710 0.722 0.617 0.729 0.748 0.659 0.725 0.745 0.561 0.592 0.534 0.620 
  V14   V15   V16   V17   V18 
0.575 0.746 0.703 0.721 0.567 

$loadings

Loadings:
    RC2    RC1    RC3    RC4   
V1   0.774  0.247  0.191  0.135
V2   0.727  0.310  0.257  0.140
V3   0.840                     
V4   0.245  0.623         0.403
V5   0.818  0.144  0.153  0.122
V6   0.847  0.121  0.116       
V7   0.140  0.786  0.143       
V8          0.827         0.162
V9   0.127  0.822  0.184  0.143
V10  0.335  0.551  0.351  0.145
V11  0.378  0.513  0.373  0.216
V12  0.227  0.581  0.379       
V13  0.142  0.227         0.737
V14  0.163  0.185  0.340  0.632
V15  0.203  0.168  0.807  0.158
V16  0.232  0.324  0.722  0.151
V17  0.149  0.206  0.793  0.167
V18                0.352  0.665

                 RC2   RC1   RC3   RC4
SS loadings    3.791 3.731 2.668 1.798
Proportion Var 0.211 0.207 0.148 0.100
Cumulative Var 0.211 0.418 0.566 0.666

$fit
[1] 0.954

$fit.off
[1] 0.981

$fn
[1] "principal"

$Call
principal(r = data, nfactors = 4, rotate = "varimax")

$uniquenesses
   V1    V2    V3    V4    V5    V6    V7    V8    V9   V10   V11   V12   V13 
0.285 0.290 0.278 0.383 0.271 0.252 0.341 0.275 0.255 0.439 0.408 0.466 0.380 
  V14   V15   V16   V17   V18 
0.425 0.254 0.297 0.279 0.433 

$complexity
  V1   V2   V3   V4   V5   V6   V7   V8   V9  V10  V11  V12  V13  V14  V15  V16 
1.40 1.72 1.05 2.11 1.18 1.09 1.14 1.12 1.21 2.61 3.15 2.07 1.29 1.89 1.30 1.73 
 V17  V18 
1.31 1.53 

$valid
[1] 0.948 0.879 0.890 0.914

$chi
[1] 159

$EPVAL
[1] 4.41e-06

$R2
RC2 RC1 RC3 RC4 
  1   1   1   1 

$objective
[1] 1.48

$residual
           V1       V2       V3        V4        V5       V6        V7      V8
V1   0.285260 -0.06030 -0.07951  0.000573  0.018086 -0.09410 -0.000297  0.0284
V2  -0.060303  0.29022 -0.06630 -0.037119 -0.054932 -0.07493 -0.013676 -0.0275
V3  -0.079511 -0.06630  0.27816 -0.029248 -0.124864 -0.00298  0.045704  0.0599
V4   0.000573 -0.03712 -0.02925  0.383459  0.004030  0.00686 -0.119058 -0.0774
V5   0.018086 -0.05493 -0.12486  0.004030  0.271211 -0.09429  0.008590 -0.0176
V6  -0.094100 -0.07493 -0.00298  0.006858 -0.094286  0.25170 -0.016103  0.0540
V7  -0.000297 -0.01368  0.04570 -0.119058  0.008590 -0.01610  0.340911 -0.0550
V8   0.028443 -0.02754  0.05989 -0.077410 -0.017603  0.05404 -0.055002  0.2746
V9   0.033609 -0.02454  0.00568 -0.034621  0.020163  0.03163 -0.110254  0.0131
V10 -0.073245  0.04745 -0.04204 -0.053601 -0.020838 -0.01012 -0.029608 -0.1326
V11 -0.045496  0.01662 -0.04290  0.027503 -0.019856 -0.02192 -0.026646 -0.0670
V12 -0.042623 -0.01129  0.00145  0.010812  0.016180 -0.02922 -0.084167 -0.1013
V13 -0.008981  0.02715 -0.00760 -0.156284 -0.007969 -0.02514  0.080988 -0.0541
V14 -0.027630  0.00805 -0.00953 -0.003340 -0.016095  0.01539 -0.050797  0.0419
V15 -0.000760  0.00298 -0.01350 -0.004097 -0.008439  0.02995  0.038557  0.0292
V16 -0.007379 -0.01489  0.03039  0.014741  0.005341 -0.00253  0.022705  0.0136
V17  0.048341 -0.03443  0.02122  0.003870  0.000228 -0.00117 -0.003780  0.0368
V18  0.006832 -0.03424  0.06270 -0.015034  0.009614  0.02231  0.048777  0.0222
          V9     V10      V11      V12      V13      V14      V15      V16
V1   0.03361 -0.0732 -0.04550 -0.04262 -0.00898 -0.02763 -0.00076 -0.00738
V2  -0.02454  0.0475  0.01662 -0.01129  0.02715  0.00805  0.00298 -0.01489
V3   0.00568 -0.0420 -0.04290  0.00145 -0.00760 -0.00953 -0.01350  0.03039
V4  -0.03462 -0.0536  0.02750  0.01081 -0.15628 -0.00334 -0.00410  0.01474
V5   0.02016 -0.0208 -0.01986  0.01618 -0.00797 -0.01609 -0.00844  0.00534
V6   0.03163 -0.0101 -0.02192 -0.02922 -0.02514  0.01539  0.02995 -0.00253
V7  -0.11025 -0.0296 -0.02665 -0.08417  0.08099 -0.05080  0.03856  0.02270
V8   0.01313 -0.1326 -0.06703 -0.10129 -0.05407  0.04186  0.02916  0.01360
V9   0.25458 -0.0302 -0.07552 -0.09794 -0.02910 -0.05030  0.00504 -0.00508
V10 -0.03023  0.4392 -0.01968  0.01102  0.02324 -0.02221 -0.02199 -0.06476
V11 -0.07552 -0.0197  0.40766 -0.02416 -0.06948  0.03488 -0.05381 -0.08742
V12 -0.09794  0.0110 -0.02416  0.46633  0.02642  0.06976 -0.04508 -0.05408
V13 -0.02910  0.0232 -0.06948  0.02642  0.37961 -0.15379  0.08069  0.09355
V14 -0.05030 -0.0222  0.03488  0.06976 -0.15379  0.42467 -0.06131 -0.07156
V15  0.00504 -0.0220 -0.05381 -0.04508  0.08069 -0.06131  0.25425 -0.05493
V16 -0.00508 -0.0648 -0.08742 -0.05408  0.09355 -0.07156 -0.05493  0.29745
V17  0.04236 -0.0638 -0.00508 -0.09655  0.04346  0.00112 -0.11554 -0.06417
V18  0.05736  0.0278 -0.01912  0.02594 -0.19746 -0.19547 -0.03743 -0.04405
          V17      V18
V1   0.048341  0.00683
V2  -0.034430 -0.03424
V3   0.021217  0.06270
V4   0.003870 -0.01503
V5   0.000228  0.00961
V6  -0.001170  0.02231
V7  -0.003780  0.04878
V8   0.036821  0.02216
V9   0.042363  0.05736
V10 -0.063792  0.02775
V11 -0.005078 -0.01912
V12 -0.096553  0.02594
V13  0.043461 -0.19746
V14  0.001123 -0.19547
V15 -0.115542 -0.03743
V16 -0.064171 -0.04405
V17  0.279461 -0.08943
V18 -0.089431  0.43337

$rms
[1] 0.0552

$factors
[1] 4

$dof
[1] 87

$null.dof
[1] 153

$null.model
[1] 9.98

$criteria
objective                     
     1.48        NA        NA 

$STATISTIC
[1] 237

$PVAL
[1] 8.69e-16

$weights
         RC2      RC1      RC3       RC4
V1   0.23815 -0.02711 -0.04539 -0.008944
V2   0.20429 -0.00601 -0.00869 -0.023874
V3   0.30063 -0.08054 -0.07574 -0.034882
V4  -0.00921  0.18312 -0.16531  0.202835
V5   0.27220 -0.07032 -0.05423 -0.000122
V6   0.29411 -0.06845 -0.06547 -0.041986
V7  -0.05403  0.30943 -0.07075 -0.119303
V8  -0.08602  0.32587 -0.12409 -0.010199
V9  -0.07440  0.30431 -0.07022 -0.044166
V10  0.01459  0.12938  0.05731 -0.048301
V11  0.02830  0.09346  0.05958  0.006502
V12 -0.02407  0.17331  0.11537 -0.183873
V13 -0.00497 -0.00491 -0.24228  0.559114
V14 -0.03808 -0.08345  0.04413  0.402592
V15 -0.05230 -0.11074  0.43060 -0.062976
V16 -0.04733 -0.02770  0.34646 -0.076073
V17 -0.07586 -0.08661  0.41983 -0.055096
V18 -0.07495 -0.15340  0.09404  0.458486

$r.scores
          RC2       RC1       RC3       RC4
RC2  1.00e+00 -1.07e-15 -2.23e-16 -7.48e-16
RC1 -9.79e-16  1.00e+00  8.76e-16  4.54e-16
RC3 -2.15e-16  8.67e-16  1.00e+00 -1.67e-16
RC4 -6.52e-16  4.58e-16 -2.08e-16  1.00e+00

$rot.mat
        [,1]    [,2]   [,3]  [,4]
[1,]  0.5968 -0.5727  0.468 0.312
[2,]  0.5105  0.8094  0.199 0.212
[3,] -0.6162  0.1205  0.670 0.397
[4,] -0.0593 -0.0485 -0.542 0.837

$Vaccounted
                        RC2   RC1   RC3    RC4
SS loadings           3.791 3.731 2.668 1.7977
Proportion Var        0.211 0.207 0.148 0.0999
Cumulative Var        0.211 0.418 0.566 0.6660
Proportion Explained  0.316 0.311 0.223 0.1500
Cumulative Proportion 0.316 0.627 0.850 1.0000

$Structure

Loadings:
    RC2    RC1    RC3    RC4   
V1   0.774  0.247  0.191  0.135
V2   0.727  0.310  0.257  0.140
V3   0.840                     
V4   0.245  0.623         0.403
V5   0.818  0.144  0.153  0.122
V6   0.847  0.121  0.116       
V7   0.140  0.786  0.143       
V8          0.827         0.162
V9   0.127  0.822  0.184  0.143
V10  0.335  0.551  0.351  0.145
V11  0.378  0.513  0.373  0.216
V12  0.227  0.581  0.379       
V13  0.142  0.227         0.737
V14  0.163  0.185  0.340  0.632
V15  0.203  0.168  0.807  0.158
V16  0.232  0.324  0.722  0.151
V17  0.149  0.206  0.793  0.167
V18                0.352  0.665

                 RC2   RC1   RC3   RC4
SS loadings    3.791 3.731 2.668 1.798
Proportion Var 0.211 0.207 0.148 0.100
Cumulative Var 0.211 0.418 0.566 0.666

$scores
            RC2      RC1      RC3      RC4
  [1,]  1.85493  1.20234 -1.61296 -0.88065
  [2,]  0.69514  1.32541  1.51969  0.74623
  [3,]  0.99595  1.04951  1.52853  1.21774
  [4,]  0.52984 -0.45651 -1.54094 -1.45441
  [5,]  0.06287  0.59779  0.83992  0.89236
  [6,]  0.15513  0.54559  1.45517 -0.31217
  [7,]  0.07063 -0.00297  0.82681 -0.25163
  [8,]  0.38930 -0.63926  0.36452 -0.56036
  [9,]  1.89666  0.34743 -1.21350 -0.42787
 [10,] -1.04679  0.85003 -0.76941 -0.46642
 [11,]  2.06446 -0.50777 -1.84711 -0.16186
 [12,] -1.19924  0.04305  0.27914  1.69899
 [13,] -0.18134  0.49949 -2.14081 -0.45531
 [14,]  0.25916 -0.75780 -1.00632 -0.93908
 [15,] -0.33433  1.84788 -0.01056 -1.51273
 [16,]  0.95299  0.13545 -0.92122 -0.72424
 [17,]  1.03473  1.13141 -1.21409 -1.63393
 [18,]  0.43644 -1.54430 -0.52638 -0.19382
 [19,]  0.08302 -0.56992  0.44428 -0.59402
 [20,] -0.67730 -0.00408  0.62003 -0.90878
 [21,]  1.31336 -1.17218  0.06729 -0.72939
 [22,]  1.20569  0.25492  1.83110  1.24260
 [23,]  0.07063 -0.00297  0.82681 -0.25163
 [24,]  1.89331 -0.27644 -0.27422  0.17284
 [25,]  0.51231  0.11796  0.48126  2.03386
 [26,] -0.94729 -0.89044  0.09163 -0.13963
 [27,]  0.12359  0.10467  1.51097  0.82113
 [28,]  0.56571 -0.03981  0.76667 -0.28855
 [29,] -0.02090 -0.16046  0.85437 -0.70562
 [30,]  0.36267 -1.49369  0.07916 -0.26911
 [31,] -2.45893  1.32890 -1.52130 -0.14075
 [32,]  1.33671 -0.06337  0.38949 -0.13862
 [33,] -0.08589 -0.21111  0.19862  0.36672
 [34,]  1.17056  0.79465  2.03178 -0.39124
 [35,]  0.63578  1.04763 -0.16789 -2.82855
 [36,]  0.99595  1.04951  1.52853  1.21774
 [37,] -0.12881  0.10926 -1.33801  1.08769
 [38,]  1.67960  0.20433 -0.14785  0.34135
 [39,] -0.84594 -0.72179  1.35944 -1.35808
 [40,] -0.99793 -2.32419 -0.06891 -2.91173
 [41,]  0.12757  1.84460  0.13909  0.42348
 [42,] -0.27453  0.07736  0.90365 -0.20235
 [43,]  0.77547  0.84494  1.72916  1.01062
 [44,]  1.34528 -0.00996 -1.41776  0.13971
 [45,]  0.84935  0.30149 -0.15874 -0.40989
 [46,]  1.82517  0.64779 -1.16740 -0.59268
 [47,]  0.33648  0.00231  1.51121  1.68172
 [48,]  0.20667  0.79326 -0.05547 -2.38339
 [49,] -1.68677  0.54290 -0.42810 -0.44803
 [50,]  1.56524  0.57374 -1.53206  0.04822
 [51,] -1.95449 -0.35507 -0.39432 -0.42108
 [52,] -0.63991  1.81349 -0.76550  1.51689
 [53,] -1.54964  0.26084 -0.47730  0.20238
 [54,]  1.16317  1.30191  1.81173 -1.31478
 [55,] -1.91643  0.31826 -1.37382  2.65860
 [56,] -0.44364  1.48655 -2.94056  0.57615
 [57,] -0.15946  1.58668 -2.06819  0.58901
 [58,]  0.19334 -1.05985 -1.50590  1.86308
 [59,]  0.21190  0.28761 -2.25274  1.78299
 [60,]  0.99032 -0.63243 -0.52480  0.36917
 [61,] -0.01043  0.72133  0.98234 -0.54278
 [62,]  0.91657 -0.19997  0.45976  1.08551
 [63,]  1.03453 -0.52132  1.25937 -0.35434
 [64,]  0.89724  0.29534  1.63364  0.92928
 [65,] -1.73749 -0.66263  1.06936 -0.14269
 [66,]  0.40958  0.05676  0.17353  0.51392
 [67,] -1.84370 -0.83474 -0.89194  0.02721
 [68,] -1.08790  0.48732 -2.08586  1.14029
 [69,] -0.28525 -2.06027  1.53808  0.26262
 [70,] -0.23364  0.04919  0.02382 -0.51132
 [71,]  1.15842 -2.59920 -0.35668  2.04563
 [72,] -0.30530 -1.61622 -1.12243  0.34959
 [73,] -0.67368 -0.19878 -0.22300 -0.40366
 [74,]  0.87355  0.22372  0.55467 -0.02409
 [75,] -1.20651  0.05837  0.95825  0.10033
 [76,] -0.16917 -0.39929  1.14036 -0.92415
 [77,] -0.02465 -1.08135 -0.84867  1.29069
 [78,] -0.08846  0.22608  0.93059 -0.38230
 [79,] -0.12355 -0.61721 -0.25410  2.40646
 [80,] -1.01689  0.90758 -0.48245 -0.04658
 [81,] -0.49504  0.52250  0.00755  0.01004
 [82,] -2.75048 -1.54827  1.81344  0.07666
 [83,] -0.51959  0.62447 -0.19158  0.21554
 [84,] -0.92254 -0.69820 -0.77691  1.37199
 [85,]  1.20339 -0.29794 -0.63287 -1.40449
 [86,] -1.77176 -0.50057 -0.70743 -0.26440
 [87,] -2.66109 -0.12572 -0.21709 -0.04505
 [88,]  0.03701 -1.41213 -0.14601  0.52765
 [89,]  0.07164  0.13745 -0.28427 -2.32725
 [90,]  1.37748 -1.58256 -2.83701  1.02798
 [91,]  0.92399 -0.92229  0.92158 -0.23632
 [92,] -1.12016 -0.65254 -0.16282 -0.32352
 [93,]  0.58519 -0.04835  1.12272 -0.38203
 [94,]  0.13785 -3.26589 -1.35054  1.38514
 [95,]  0.18291  0.14649  0.69779 -0.12122
 [96,] -0.94891 -0.22569 -0.15769 -1.22420
 [97,] -0.45098 -0.69735  0.17759  0.11380
 [98,]  1.27147 -0.97701  0.44555 -0.09967
 [99,]  0.38980 -1.63636 -0.07612  1.32295
[100,]  0.37029 -0.09507 -0.53685  0.03753
[101,] -0.13867 -1.44440  0.25795  0.25149
[102,] -1.06720 -0.44611 -0.99322 -1.19078
[103,] -1.36578  0.56146 -1.50336 -0.27107
[104,] -0.33914 -0.65344  0.77661  0.07591
[105,]  0.00526 -1.16136 -1.30004 -0.78575
[106,] -0.50412 -1.70134  0.36707 -0.27459
[107,]  0.18087 -2.54743 -1.29456 -1.78596
[108,]  0.94005 -0.17900  0.53173  0.44394
[109,] -0.49833  1.55720  1.01885  0.52388
[110,] -2.42986  0.10316 -0.31672  0.25232
[111,]  1.16642  1.95682 -0.92977 -0.59470
[112,]  0.99595  1.04951  1.52853  1.21774
[113,]  0.18186  0.85599  0.63675 -1.56728
[114,]  0.61582 -0.96109  0.01462  1.48456
[115,] -0.48067  1.28108  0.61997 -0.33002
[116,]  0.73681  0.95838 -0.50151  1.33437
[117,] -0.01415  1.33502 -0.80728 -0.69758
[118,]  0.71070 -0.73256  0.45424 -0.15702
[119,] -0.63760  1.58339 -0.42954  0.06498
[120,] -0.28406 -0.45878 -0.68299 -0.69292
[121,]  0.55095  1.26001 -0.53250 -1.34079
[122,] -2.22592  0.75082 -0.08055  0.21007
[123,] -0.29022  1.09103  1.03979  1.52349
[124,] -0.13918  0.61485 -1.57756 -0.60546
[125,]  1.07386 -0.28215  1.09770  1.82494
[126,]  0.28330  0.09985 -0.20240 -0.89504
[127,]  0.41400  0.73037 -0.58993  1.27830
[128,]  1.20122 -0.53284  1.61638 -0.37800
[129,]  1.41266 -0.53168  0.38424 -0.10771
[130,]  0.50508  1.41198 -0.33226  0.14520
[131,] -0.20058 -0.44943  0.49288  0.24197
[132,] -0.65730 -0.15191  0.18069 -0.68248
[133,] -0.06827 -0.28351 -0.34206  0.23775
[134,] -0.26535  0.40112  0.68536 -0.23705
[135,]  0.01520  1.76213  0.22238  1.05952
[136,] -0.26324  1.01215 -0.28726 -0.94274
[137,]  0.38736 -0.58723 -1.39939 -0.23704
[138,] -1.27543  1.83942  1.05853  1.66572
[139,] -2.26611  0.59856 -0.23892  0.00298
[140,] -0.41499  0.89391  0.08792 -2.15468
[141,]  0.78617 -1.07719  0.63324  1.02955
[142,]  0.05121 -0.62718  0.20146 -0.23294
[143,] -1.14991  1.53270  1.36457 -0.46528
[144,] -1.20377 -0.81626  0.42961 -0.05853
[145,] -0.34816  0.76137 -0.75441  0.50590
[146,]  0.08286  0.52324  0.38145 -0.19706
[147,] -0.88817 -0.96217  1.39174  0.10669
[148,] -0.57689  0.13579  0.66200  0.12236
[149,]  0.92088 -0.89417  0.81715 -0.34132
[150,] -0.50479  0.51435  0.67748 -0.47910
[151,] -0.81351  0.21725  0.03105  0.00547
[152,]  0.27334  1.07761  1.19892  0.26076
[153,] -0.03641 -0.84678 -0.41755 -0.51481
[154,]  0.96942  1.93729 -1.81663  0.91414
[155,]  0.04000 -1.16331 -0.03287 -1.08612
[156,]  1.28829 -0.16411 -0.72992  0.80201
[157,] -0.58456  0.10615  0.01152  2.19466
[158,] -0.68154 -0.24604  1.04692 -0.11315
[159,]  0.47292  1.71563 -0.03066 -1.82814
[160,] -1.57457 -2.21957  0.32506  0.80417
[161,]  1.62554 -1.00464  0.09262 -1.74897
[162,] -0.59115 -0.86192 -0.06726 -0.46495
[163,]  0.41362 -2.30129  0.24169 -0.61936
[164,]  0.51189  0.20781  0.22834  0.45238
[165,] -1.09021  0.69872  0.58474  0.63828
[166,]  1.65705  0.24166  0.00321 -0.33197
[167,]  0.35858 -0.79917  1.14615 -0.93722
[168,] -1.09286  0.34855  0.55089 -0.04616
[169,] -1.62929  0.30781  0.17108 -1.57174
[170,]  0.98155  0.69961 -1.24559  1.51038

attr(,"class")
[1] "psych"     "principal"

Análisis de Representatividad (Respuesta a la Cuestión 2): Revisamos la columna h2 (comunalidad) para asegurar que todas las variables están bien representadas. En esta solución final, todas las variables presentan una comunalidad superior a 0.5, lo que indica que el modelo de 4 componentes captura adecuadamente la información de cada una de ellas. La solución explica un 67% de la varianza total.

3.4.2 3.2. Caracterización y nominación de los componentes

Ahora, el paso más importante: dar sentido a estos grupos de variables.

  • Componente 1: EFICIENCIA Y USABILIDAD
    • Agrupa las variables V1 a V6.
    • Concepto: Mide la facilidad, rapidez y claridad de la navegación. Es el pilar de una buena experiencia de usuario. Responde a la pregunta: ¿Es fácil y rápido para el usuario conseguir lo que quiere?
  • Componente 2: FIABILIDAD Y CUMPLIMIENTO
    • Agrupa las variables V7 a V12.
    • Concepto: Mide la robustez técnica y la consistencia del servicio. El sitio debe estar siempre disponible, no fallar y cumplir lo que promete. Responde a la pregunta: ¿Puedo confiar en que el sitio web funcionará siempre y hará lo que dice que hace?
  • Componente 3: SOPORTE Y RECUPERACIÓN DEL SERVICIO
    • Agrupa las variables V15 a V18.
    • Concepto: Mide la capacidad del sitio para gestionar problemas. ¿Hay información de contacto? ¿Responden rápido? ¿Compensan los fallos? Responde a la pregunta: ¿Qué pasa si algo sale mal? ¿Me ayudarán a solucionarlo?
  • Componente 4: SEGURIDAD Y CONFIANZA
    • Agrupa las variables V13 y V14.
    • Concepto: Mide la percepción de seguridad y confianza en un nivel más profundo. ¿Están mis datos protegidos? ¿Hay garantías que respalden el servicio? Responde a la pregunta: ¿Me siento seguro utilizando este servicio?

3.5 Fase 4: La explicación de marketing

(Respuesta a la Cuestión 4)

Nuestro análisis ha reducido las 18 percepciones iniciales de los usuarios en cuatro pilares fundamentales que definen la calidad de un servicio web. Esto no es solo un resultado estadístico; es un mapa estratégico para la gestión del negocio.

“Los clientes no evalúan nuestro sitio web en 18 aspectos diferentes. En su mente, simplifican su experiencia en cuatro grandes áreas. Para tener éxito, debemos ser excelentes en todas ellas, pero entendiendo que cada una juega un rol diferente:

  1. La ‘puerta de entrada’ (Eficiencia y usabilidad): Esta es la dimensión más básica e higiénica. Si nuestro sitio es lento, confuso o difícil de usar, los clientes ni siquiera llegarán a valorar el resto. Es la primera impresión y debe ser impecable. Las inversiones en diseño UX/UI, arquitectura de la información y optimización de la velocidad impactan directamente aquí.

  2. La ‘promesa’ (Fiabilidad y cumplimiento): Una vez dentro, los usuarios esperan que todo funcione como un reloj. Esta dimensión construye la confianza a través de la consistencia. No se trata de características llamativas, sino de la sólida garantía de que el servicio estará ahí y cumplirá su función sin fallos. La inversión en infraestructura tecnológica, servidores y control de calidad es clave.

  3. La ‘red de seguridad’ (Soporte y recuperación): Nadie es perfecto, y los servicios online pueden fallar. Esta dimensión nos dice que los clientes son comprensivos, siempre y cuando tengamos una excelente capacidad de respuesta. Un buen soporte no solo resuelve un problema, sino que puede convertir una experiencia negativa en una demostración de compromiso y fidelidad. Tener un chat, un teléfono visible y políticas de compensación claras no es un coste, es una inversión en retención.

  4. El ‘compromiso profundo’ (Seguridad y confianza): Esta es la dimensión de la confianza a largo plazo. En un mundo digital lleno de riesgos, los usuarios necesitan saber que sus datos están a salvo y que la empresa ofrece garantías serias. Comunicar activamente nuestras políticas de privacidad y las garantías del servicio construye una barrera de entrada para la competencia y fomenta la lealtad más allá de la simple transacción.”

En resumen, nuestro análisis nos proporciona un cuadro de mando estratégico con cuatro indicadores clave. Para mejorar la calidad percibida, debemos medir nuestro desempeño en cada una de estas cuatro dimensiones y asignar recursos para asegurar la excelencia en todas ellas.

3.5.1 Visualización final

Un diagrama de la estructura factorial es la mejor forma de comunicar visualmente estos resultados.

Code
# Diagrama de la estructura factorial final
fa.diagram(output_final, main = "Estructura de la calidad percibida del servicio web")

3.5.2 Visualización avanzada con factoextra

Para una exploración más profunda y una presentación más profesional, podemos utilizar el paquete factoextra. Este nos permite crear un mapa perceptual que cuenta la historia de forma visual.

Code
library(factoextra)
pca_final <- prcomp(data, scale. = TRUE)
fviz_pca_var(pca_final,
             col.var = "contrib", # Colorear por contribución al mapa
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
             repel = TRUE, # Evitar solapamiento de etiquetas
             ggtheme = theme_minimal()) +
  labs(title = "Mapa perceptual de variables",
       subtitle = "Basado en los dos primeros componentes principales") +
  ggthemes::theme_economist()

Interpretación del mapa perceptual: Este gráfico confirma visualmente la estructura que encontramos en la tabla. Los cuatro “bautizos” que dimos a nuestros componentes se ven reflejados en cuatro clústeres de flechas (variables) que apuntan en direcciones distintas:

  • Eficiencia y usabilidad (V1-V6): Forman un grupo compacto, indicando que están fuertemente correlacionadas.
  • Fiabilidad y cumplimiento (V7-V12): Constituyen otro clúster claro.
  • Soporte y recuperación (V15-V18): Se agrupan en otra dirección.
  • Seguridad y confianza (V13-V14): Forman el último par, demostrando su relación única.

El mapa nos permite ver no solo los grupos, sino también las relaciones entre ellos. Por ejemplo, los componentes de “Eficiencia” y “Fiabilidad” pueden estar más correlacionados entre sí que con el de “Soporte”, dependiendo de los ángulos entre los clústeres. Es una herramienta poderosa para entender la estructura del mercado perceptual de un solo vistazo.

Finalmente, podemos visualizar qué variables contribuyen más a la creación de cada una de las dimensiones. Esto nos ayuda a confirmar el nombre que le dimos a cada componente.

Code
# Gráfico de contribución de las variables a la Dimensión 1
p1 <- fviz_contrib(pca_final, choice = "var", axes = 1, top = 10)+
    ggthemes::theme_economist()

# Gráfico de contribución de las variables a la Dimensión 2
p2 <- fviz_contrib(pca_final, choice = "var", axes = 2, top = 10)+
    ggthemes::theme_economist()

# Gráfico de contribución de las variables a la Dimensión 3
p3 <- fviz_contrib(pca_final, choice = "var", axes = 3, top = 10)+
    ggthemes::theme_economist()

# Gráfico de contribución de las variables a la Dimensión 4
p4 <- fviz_contrib(pca_final, choice = "var", axes = 4, top = 10)+
    ggthemes::theme_economist()

# Unir los dos gráficos
gridExtra::grid.arrange(p1, p2, p3, p4, ncol = 2)