# 1. IMPORT LIBRARY

library(plspm)
## Warning: package 'plspm' was built under R version 4.5.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.5.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(psych)
## Warning: package 'psych' was built under R version 4.5.3
## 
## Attaching package: 'psych'
## The following objects are masked from 'package:plspm':
## 
##     alpha, rescale, unidim
library(corrplot)
## corrplot 0.95 loaded
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.3
## 
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
## 
##     %+%, alpha
## The following object is masked from 'package:plspm':
## 
##     alpha
# 2. IMPORT DATASET

data <- read.csv(
  "marketing_campaign.csv",
  sep = ";"
)
# 3. EKSPLORASI DATASET

# Menampilkan data
head(data)
##     ID Year_Birth  Education Marital_Status Income Kidhome Teenhome Dt_Customer
## 1 5524       1957 Graduation         Single  58138       0        0  04/09/2012
## 2 2174       1954 Graduation         Single  46344       1        1  08/03/2014
## 3 4141       1965 Graduation       Together  71613       0        0  21/08/2013
## 4 6182       1984 Graduation       Together  26646       1        0  10/02/2014
## 5 5324       1981        PhD        Married  58293       1        0  19/01/2014
## 6 7446       1967     Master       Together  62513       0        1  09/09/2013
##   Recency MntWines MntFruits MntMeatProducts MntFishProducts MntSweetProducts
## 1      58      635        88             546             172               88
## 2      38       11         1               6               2                1
## 3      26      426        49             127             111               21
## 4      26       11         4              20              10                3
## 5      94      173        43             118              46               27
## 6      16      520        42              98               0               42
##   MntGoldProds NumDealsPurchases NumWebPurchases NumCatalogPurchases
## 1           88                 3               8                  10
## 2            6                 2               1                   1
## 3           42                 1               8                   2
## 4            5                 2               2                   0
## 5           15                 5               5                   3
## 6           14                 2               6                   4
##   NumStorePurchases NumWebVisitsMonth AcceptedCmp3 AcceptedCmp4 AcceptedCmp5
## 1                 4                 7            0            0            0
## 2                 2                 5            0            0            0
## 3                10                 4            0            0            0
## 4                 4                 6            0            0            0
## 5                 6                 5            0            0            0
## 6                10                 6            0            0            0
##   AcceptedCmp1 AcceptedCmp2 Complain Z_CostContact Z_Revenue Response
## 1            0            0        0             3        11        1
## 2            0            0        0             3        11        0
## 3            0            0        0             3        11        0
## 4            0            0        0             3        11        0
## 5            0            0        0             3        11        0
## 6            0            0        0             3        11        0
# Struktur data
str(data)
## 'data.frame':    2240 obs. of  29 variables:
##  $ ID                 : int  5524 2174 4141 6182 5324 7446 965 6177 4855 5899 ...
##  $ Year_Birth         : int  1957 1954 1965 1984 1981 1967 1971 1985 1974 1950 ...
##  $ Education          : chr  "Graduation" "Graduation" "Graduation" "Graduation" ...
##  $ Marital_Status     : chr  "Single" "Single" "Together" "Together" ...
##  $ Income             : int  58138 46344 71613 26646 58293 62513 55635 33454 30351 5648 ...
##  $ Kidhome            : int  0 1 0 1 1 0 0 1 1 1 ...
##  $ Teenhome           : int  0 1 0 0 0 1 1 0 0 1 ...
##  $ Dt_Customer        : chr  "04/09/2012" "08/03/2014" "21/08/2013" "10/02/2014" ...
##  $ Recency            : int  58 38 26 26 94 16 34 32 19 68 ...
##  $ MntWines           : int  635 11 426 11 173 520 235 76 14 28 ...
##  $ MntFruits          : int  88 1 49 4 43 42 65 10 0 0 ...
##  $ MntMeatProducts    : int  546 6 127 20 118 98 164 56 24 6 ...
##  $ MntFishProducts    : int  172 2 111 10 46 0 50 3 3 1 ...
##  $ MntSweetProducts   : int  88 1 21 3 27 42 49 1 3 1 ...
##  $ MntGoldProds       : int  88 6 42 5 15 14 27 23 2 13 ...
##  $ NumDealsPurchases  : int  3 2 1 2 5 2 4 2 1 1 ...
##  $ NumWebPurchases    : int  8 1 8 2 5 6 7 4 3 1 ...
##  $ NumCatalogPurchases: int  10 1 2 0 3 4 3 0 0 0 ...
##  $ NumStorePurchases  : int  4 2 10 4 6 10 7 4 2 0 ...
##  $ NumWebVisitsMonth  : int  7 5 4 6 5 6 6 8 9 20 ...
##  $ AcceptedCmp3       : int  0 0 0 0 0 0 0 0 0 1 ...
##  $ AcceptedCmp4       : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ AcceptedCmp5       : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ AcceptedCmp1       : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ AcceptedCmp2       : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ Complain           : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ Z_CostContact      : int  3 3 3 3 3 3 3 3 3 3 ...
##  $ Z_Revenue          : int  11 11 11 11 11 11 11 11 11 11 ...
##  $ Response           : int  1 0 0 0 0 0 0 0 1 0 ...
# Dimensi data
dim(data)
## [1] 2240   29
# Nama variabel
colnames(data)
##  [1] "ID"                  "Year_Birth"          "Education"          
##  [4] "Marital_Status"      "Income"              "Kidhome"            
##  [7] "Teenhome"            "Dt_Customer"         "Recency"            
## [10] "MntWines"            "MntFruits"           "MntMeatProducts"    
## [13] "MntFishProducts"     "MntSweetProducts"    "MntGoldProds"       
## [16] "NumDealsPurchases"   "NumWebPurchases"     "NumCatalogPurchases"
## [19] "NumStorePurchases"   "NumWebVisitsMonth"   "AcceptedCmp3"       
## [22] "AcceptedCmp4"        "AcceptedCmp5"        "AcceptedCmp1"       
## [25] "AcceptedCmp2"        "Complain"            "Z_CostContact"      
## [28] "Z_Revenue"           "Response"
# Statistik deskriptif
summary(data)
##        ID          Year_Birth    Education         Marital_Status    
##  Min.   :    0   Min.   :1893   Length:2240        Length:2240       
##  1st Qu.: 2828   1st Qu.:1959   Class :character   Class :character  
##  Median : 5458   Median :1970   Mode  :character   Mode  :character  
##  Mean   : 5592   Mean   :1969                                        
##  3rd Qu.: 8428   3rd Qu.:1977                                        
##  Max.   :11191   Max.   :1996                                        
##                                                                      
##      Income          Kidhome          Teenhome      Dt_Customer       
##  Min.   :  1730   Min.   :0.0000   Min.   :0.0000   Length:2240       
##  1st Qu.: 35303   1st Qu.:0.0000   1st Qu.:0.0000   Class :character  
##  Median : 51382   Median :0.0000   Median :0.0000   Mode  :character  
##  Mean   : 52247   Mean   :0.4442   Mean   :0.5062                     
##  3rd Qu.: 68522   3rd Qu.:1.0000   3rd Qu.:1.0000                     
##  Max.   :666666   Max.   :2.0000   Max.   :2.0000                     
##  NA's   :24                                                           
##     Recency         MntWines         MntFruits     MntMeatProducts 
##  Min.   : 0.00   Min.   :   0.00   Min.   :  0.0   Min.   :   0.0  
##  1st Qu.:24.00   1st Qu.:  23.75   1st Qu.:  1.0   1st Qu.:  16.0  
##  Median :49.00   Median : 173.50   Median :  8.0   Median :  67.0  
##  Mean   :49.11   Mean   : 303.94   Mean   : 26.3   Mean   : 166.9  
##  3rd Qu.:74.00   3rd Qu.: 504.25   3rd Qu.: 33.0   3rd Qu.: 232.0  
##  Max.   :99.00   Max.   :1493.00   Max.   :199.0   Max.   :1725.0  
##                                                                    
##  MntFishProducts  MntSweetProducts  MntGoldProds    NumDealsPurchases
##  Min.   :  0.00   Min.   :  0.00   Min.   :  0.00   Min.   : 0.000   
##  1st Qu.:  3.00   1st Qu.:  1.00   1st Qu.:  9.00   1st Qu.: 1.000   
##  Median : 12.00   Median :  8.00   Median : 24.00   Median : 2.000   
##  Mean   : 37.53   Mean   : 27.06   Mean   : 44.02   Mean   : 2.325   
##  3rd Qu.: 50.00   3rd Qu.: 33.00   3rd Qu.: 56.00   3rd Qu.: 3.000   
##  Max.   :259.00   Max.   :263.00   Max.   :362.00   Max.   :15.000   
##                                                                      
##  NumWebPurchases  NumCatalogPurchases NumStorePurchases NumWebVisitsMonth
##  Min.   : 0.000   Min.   : 0.000      Min.   : 0.00     Min.   : 0.000   
##  1st Qu.: 2.000   1st Qu.: 0.000      1st Qu.: 3.00     1st Qu.: 3.000   
##  Median : 4.000   Median : 2.000      Median : 5.00     Median : 6.000   
##  Mean   : 4.085   Mean   : 2.662      Mean   : 5.79     Mean   : 5.317   
##  3rd Qu.: 6.000   3rd Qu.: 4.000      3rd Qu.: 8.00     3rd Qu.: 7.000   
##  Max.   :27.000   Max.   :28.000      Max.   :13.00     Max.   :20.000   
##                                                                          
##   AcceptedCmp3      AcceptedCmp4      AcceptedCmp5      AcceptedCmp1    
##  Min.   :0.00000   Min.   :0.00000   Min.   :0.00000   Min.   :0.00000  
##  1st Qu.:0.00000   1st Qu.:0.00000   1st Qu.:0.00000   1st Qu.:0.00000  
##  Median :0.00000   Median :0.00000   Median :0.00000   Median :0.00000  
##  Mean   :0.07277   Mean   :0.07455   Mean   :0.07277   Mean   :0.06429  
##  3rd Qu.:0.00000   3rd Qu.:0.00000   3rd Qu.:0.00000   3rd Qu.:0.00000  
##  Max.   :1.00000   Max.   :1.00000   Max.   :1.00000   Max.   :1.00000  
##                                                                         
##   AcceptedCmp2        Complain        Z_CostContact   Z_Revenue 
##  Min.   :0.00000   Min.   :0.000000   Min.   :3     Min.   :11  
##  1st Qu.:0.00000   1st Qu.:0.000000   1st Qu.:3     1st Qu.:11  
##  Median :0.00000   Median :0.000000   Median :3     Median :11  
##  Mean   :0.01339   Mean   :0.009375   Mean   :3     Mean   :11  
##  3rd Qu.:0.00000   3rd Qu.:0.000000   3rd Qu.:3     3rd Qu.:11  
##  Max.   :1.00000   Max.   :1.000000   Max.   :3     Max.   :11  
##                                                                 
##     Response     
##  Min.   :0.0000  
##  1st Qu.:0.0000  
##  Median :0.0000  
##  Mean   :0.1491  
##  3rd Qu.:0.0000  
##  Max.   :1.0000  
## 
# 4. PREPROCESSING DATA
# Mengecek missing value
colSums(is.na(data))
##                  ID          Year_Birth           Education      Marital_Status 
##                   0                   0                   0                   0 
##              Income             Kidhome            Teenhome         Dt_Customer 
##                  24                   0                   0                   0 
##             Recency            MntWines           MntFruits     MntMeatProducts 
##                   0                   0                   0                   0 
##     MntFishProducts    MntSweetProducts        MntGoldProds   NumDealsPurchases 
##                   0                   0                   0                   0 
##     NumWebPurchases NumCatalogPurchases   NumStorePurchases   NumWebVisitsMonth 
##                   0                   0                   0                   0 
##        AcceptedCmp3        AcceptedCmp4        AcceptedCmp5        AcceptedCmp1 
##                   0                   0                   0                   0 
##        AcceptedCmp2            Complain       Z_CostContact           Z_Revenue 
##                   0                   0                   0                   0 
##            Response 
##                   0
# Menghapus missing value
data <- na.omit(data)

# Mengecek kembali missing value
colSums(is.na(data))
##                  ID          Year_Birth           Education      Marital_Status 
##                   0                   0                   0                   0 
##              Income             Kidhome            Teenhome         Dt_Customer 
##                   0                   0                   0                   0 
##             Recency            MntWines           MntFruits     MntMeatProducts 
##                   0                   0                   0                   0 
##     MntFishProducts    MntSweetProducts        MntGoldProds   NumDealsPurchases 
##                   0                   0                   0                   0 
##     NumWebPurchases NumCatalogPurchases   NumStorePurchases   NumWebVisitsMonth 
##                   0                   0                   0                   0 
##        AcceptedCmp3        AcceptedCmp4        AcceptedCmp5        AcceptedCmp1 
##                   0                   0                   0                   0 
##        AcceptedCmp2            Complain       Z_CostContact           Z_Revenue 
##                   0                   0                   0                   0 
##            Response 
##                   0
# 5. PEMILIHAN VARIABEL

pls_data <- data %>%
  select(

    # Spending Behavior
    MntWines,
    MntMeatProducts,
    MntFishProducts,
    MntSweetProducts,

    # Purchase Activity
    NumWebPurchases,
    NumCatalogPurchases,
    NumStorePurchases,

    # Customer Engagement
    NumWebVisitsMonth,
    Response,

    # Customer Loyalty
    Recency,
    Complain
  )

# Menampilkan data
head(pls_data)
##   MntWines MntMeatProducts MntFishProducts MntSweetProducts NumWebPurchases
## 1      635             546             172               88               8
## 2       11               6               2                1               1
## 3      426             127             111               21               8
## 4       11              20              10                3               2
## 5      173             118              46               27               5
## 6      520              98               0               42               6
##   NumCatalogPurchases NumStorePurchases NumWebVisitsMonth Response Recency
## 1                  10                 4                 7        1      58
## 2                   1                 2                 5        0      38
## 3                   2                10                 4        0      26
## 4                   0                 4                 6        0      26
## 5                   3                 6                 5        0      94
## 6                   4                10                 6        0      16
##   Complain
## 1        0
## 2        0
## 3        0
## 4        0
## 5        0
## 6        0
# 6. ANALISIS DESKRIPTIF

describe(pls_data)
##                     vars    n   mean     sd median trimmed    mad min  max
## MntWines               1 2216 305.09 337.33  174.5  250.28 245.37   0 1493
## MntMeatProducts        2 2216 167.00 224.28   68.0  119.82  88.96   0 1725
## MntFishProducts        3 2216  37.64  54.75   12.0   25.20  17.79   0  259
## MntSweetProducts       4 2216  27.03  41.07    8.0   17.39  11.86   0  262
## NumWebPurchases        5 2216   4.09   2.74    4.0    3.82   2.97   0   27
## NumCatalogPurchases    6 2216   2.67   2.93    2.0    2.22   2.97   0   28
## NumStorePurchases      7 2216   5.80   3.25    5.0    5.49   2.97   0   13
## NumWebVisitsMonth      8 2216   5.32   2.43    6.0    5.40   2.97   0   20
## Response               9 2216   0.15   0.36    0.0    0.06   0.00   0    1
## Recency               10 2216  49.01  28.95   49.0   48.99  37.06   0   99
## Complain              11 2216   0.01   0.10    0.0    0.00   0.00   0    1
##                     range  skew kurtosis   se
## MntWines             1493  1.17     0.58 7.17
## MntMeatProducts      1725  2.02     5.03 4.76
## MntFishProducts       259  1.91     3.06 1.16
## MntSweetProducts      262  2.10     4.09 0.87
## NumWebPurchases        27  1.20     4.05 0.06
## NumCatalogPurchases    28  1.88     8.04 0.06
## NumStorePurchases      13  0.70    -0.63 0.07
## NumWebVisitsMonth      20  0.22     1.84 0.05
## Response                1  1.96     1.83 0.01
## Recency                99  0.00    -1.20 0.61
## Complain                1 10.12   100.44 0.00
# 7. VISUALISASI KORELASI

# Matriks korelasi
cor_matrix <- cor(pls_data)

# Menampilkan korelasi
cor_matrix
##                        MntWines MntMeatProducts MntFishProducts
## MntWines             1.00000000      0.56886000    0.3977210502
## MntMeatProducts      0.56886000      1.00000000    0.5735740153
## MntFishProducts      0.39772105      0.57357402    1.0000000000
## MntSweetProducts     0.39032580      0.53513611    0.5838669550
## NumWebPurchases      0.55378594      0.30709037    0.2996875104
## NumCatalogPurchases  0.63475274      0.73412660    0.5327567837
## NumStorePurchases    0.64001191      0.48600555    0.4577450432
## NumWebVisitsMonth   -0.32197790     -0.53948442   -0.4464232918
## Response             0.24629896      0.23774642    0.1081451099
## Recency              0.01572102      0.02251764    0.0005509232
## Complain            -0.03947021     -0.02378194   -0.0212202304
##                     MntSweetProducts NumWebPurchases NumCatalogPurchases
## MntWines                  0.39032580     0.553785939          0.63475274
## MntMeatProducts           0.53513611     0.307090366          0.73412660
## MntFishProducts           0.58386696     0.299687510          0.53275678
## MntSweetProducts          1.00000000     0.333937217          0.49513582
## NumWebPurchases           0.33393722     1.000000000          0.38686764
## NumCatalogPurchases       0.49513582     0.386867640          1.00000000
## NumStorePurchases         0.45522516     0.516240183          0.51784045
## NumWebVisitsMonth        -0.42237080    -0.051226263         -0.52200377
## Response                  0.11617037     0.151431233          0.21991361
## Recency                   0.02510977    -0.005640854          0.02408141
## Complain                 -0.02264120    -0.016641779         -0.02083919
##                     NumStorePurchases NumWebVisitsMonth     Response
## MntWines                 0.6400119079      -0.321977901  0.246298957
## MntMeatProducts          0.4860055453      -0.539484417  0.237746418
## MntFishProducts          0.4577450432      -0.446423292  0.108145110
## MntSweetProducts         0.4552251636      -0.422370804  0.116170373
## NumWebPurchases          0.5162401827      -0.051226263  0.151431233
## NumCatalogPurchases      0.5178404511      -0.522003774  0.219913612
## NumStorePurchases        1.0000000000      -0.432398257  0.036241129
## NumWebVisitsMonth       -0.4323982573       1.000000000 -0.002208954
## Response                 0.0362411292      -0.002208954  1.000000000
## Recency                 -0.0004338266      -0.018563643 -0.199766369
## Complain                -0.0169407070       0.019785006 -0.002029294
##                           Recency     Complain
## MntWines             0.0157210194 -0.039470211
## MntMeatProducts      0.0225176351 -0.023781944
## MntFishProducts      0.0005509232 -0.021220230
## MntSweetProducts     0.0251097703 -0.022641200
## NumWebPurchases     -0.0056408538 -0.016641779
## NumCatalogPurchases  0.0240814076 -0.020839191
## NumStorePurchases   -0.0004338266 -0.016940707
## NumWebVisitsMonth   -0.0185636434  0.019785006
## Response            -0.1997663693 -0.002029294
## Recency              1.0000000000  0.013636670
## Complain             0.0136366703  1.000000000
# Visualisasi korelasi
corrplot(
  cor_matrix,
  method = "color",
  type = "upper",
  tl.col = "black",
  tl.srt = 45
)

# 8. VISUALISASI DATA

# Histogram Spending Behavior
ggplot(pls_data, aes(x = MntWines)) +
  geom_histogram(
    bins = 20,
    fill = "skyblue",
    color = "black"
  ) +
  labs(
    title = "Distribusi Pembelian Wine",
    x = "MntWines",
    y = "Frekuensi"
  )

# 9. PEMBENTUKAN INNER MODEL

inner_model <- matrix(c(

  0, 0, 0, 0,
  1, 0, 0, 0,
  0, 1, 0, 0,
  0, 0, 1, 0

), nrow = 4, byrow = TRUE)

# Nama konstruk
colnames(inner_model) <- rownames(inner_model) <- c(
  "Spending_Behavior",
  "Purchase_Activity",
  "Customer_Engagement",
  "Customer_Loyalty"
)

# Menampilkan inner model
inner_model
##                     Spending_Behavior Purchase_Activity Customer_Engagement
## Spending_Behavior                   0                 0                   0
## Purchase_Activity                   1                 0                   0
## Customer_Engagement                 0                 1                   0
## Customer_Loyalty                    0                 0                   1
##                     Customer_Loyalty
## Spending_Behavior                  0
## Purchase_Activity                  0
## Customer_Engagement                0
## Customer_Loyalty                   0
# 10. PEMBENTUKAN OUTER MODEL

outer_model <- list(

  c(
    "MntWines",
    "MntMeatProducts",
    "MntFishProducts",
    "MntSweetProducts"
  ),

  c(
    "NumWebPurchases",
    "NumCatalogPurchases",
    "NumStorePurchases"
  ),

  c(
    "NumWebVisitsMonth",
    "Response"
  ),

  c(
    "Recency",
    "Complain"
  )
)

# Tipe indikator
modes <- c("A", "A", "A", "A")
# 11. ANALISIS SEM-PLS
set.seed(123)

pls_model <- plspm(
  pls_data,
  inner_model,
  outer_model,
  modes = modes
)
# 12. RINGKASAN HASIL MODEL

summary(pls_model)
## PARTIAL LEAST SQUARES PATH MODELING (PLS-PM) 
## 
## ---------------------------------------------------------- 
## MODEL SPECIFICATION 
## 1   Number of Cases      2216 
## 2   Latent Variables     4 
## 3   Manifest Variables   11 
## 4   Scale of Data        Standardized Data 
## 5   Non-Metric PLS       FALSE 
## 6   Weighting Scheme     centroid 
## 7   Tolerance Crit       1e-06 
## 8   Max Num Iters        100 
## 9   Convergence Iters    10 
## 10  Bootstrapping        FALSE 
## 11  Bootstrap samples    NULL 
## 
## ---------------------------------------------------------- 
## BLOCKS DEFINITION 
##                   Block         Type   Size   Mode
## 1     Spending_Behavior    Exogenous      4      A
## 2     Purchase_Activity   Endogenous      3      A
## 3   Customer_Engagement   Endogenous      2      A
## 4      Customer_Loyalty   Endogenous      2      A
## 
## ---------------------------------------------------------- 
## BLOCKS UNIDIMENSIONALITY 
##                      Mode  MVs  C.alpha    DG.rho  eig.1st  eig.2nd
## Spending_Behavior       A    4   0.8052  8.73e-01     2.53    0.678
## Purchase_Activity       A    3   0.7297  8.48e-01     1.95    0.613
## Customer_Engagement     A    2   0.0000  2.72e-23     1.00    0.998
## Customer_Loyalty        A    2   0.0269  6.73e-01     1.01    0.986
## 
## ---------------------------------------------------------- 
## OUTER MODEL 
##                          weight  loading  communality  redundancy
## Spending_Behavior                                                
##   1 MntWines              0.374    0.781       0.6107    0.000000
##   1 MntMeatProducts       0.337    0.853       0.7284    0.000000
##   1 MntFishProducts       0.277    0.777       0.6031    0.000000
##   1 MntSweetProducts      0.270    0.758       0.5750    0.000000
## Purchase_Activity                                                
##   2 NumWebPurchases       0.257    0.686       0.4704    0.314553
##   2 NumCatalogPurchases   0.545    0.863       0.7452    0.498247
##   2 NumStorePurchases     0.422    0.837       0.7002    0.468177
## Customer_Engagement                                              
##   3 NumWebVisitsMonth     0.780   -0.782       0.6109    0.142684
##   3 Response             -0.624    0.625       0.3912    0.091379
## Customer_Loyalty                                                 
##   4 Recency               0.987    0.989       0.9776    0.012080
##   4 Complain              0.150    0.163       0.0266    0.000329
## 
## ---------------------------------------------------------- 
## CROSSLOADINGS 
##                          Spending_Behavior  Purchase_Activity
## Spending_Behavior                                            
##   1 MntWines                        0.7815             0.7585
##   1 MntMeatProducts                 0.8535             0.6843
##   1 MntFishProducts                 0.7766             0.5606
##   1 MntSweetProducts                0.7583             0.5479
## Purchase_Activity                                            
##   2 NumWebPurchases                 0.4839             0.6859
##   2 NumCatalogPurchases             0.7663             0.8632
##   2 NumStorePurchases               0.6530             0.8368
## Customer_Engagement                                          
##   3 NumWebVisitsMonth              -0.5401            -0.4802
##   3 Response                        0.2337             0.1742
## Customer_Loyalty                                             
##   4 Recency                         0.0204             0.0115
##   4 Complain                       -0.0348            -0.0228
##                          Customer_Engagement  Customer_Loyalty
## Spending_Behavior                                             
##   1 MntWines                          0.4049           0.00960
##   1 MntMeatProducts                   0.5692           0.01866
##   1 MntFishProducts                   0.4158          -0.00263
##   1 MntSweetProducts                  0.4020           0.02139
## Purchase_Activity                                             
##   2 NumWebPurchases                   0.1344          -0.00806
##   2 NumCatalogPurchases               0.5445           0.02064
##   2 NumStorePurchases                 0.3600          -0.00296
## Customer_Engagement                                           
##   3 NumWebVisitsMonth                -0.7816          -0.01535
##   3 Response                          0.6255          -0.19741
## Customer_Loyalty                                              
##   4 Recency                          -0.1101           0.98873
##   4 Complain                         -0.0167           0.16317
## 
## ---------------------------------------------------------- 
## INNER MODEL 
## $Purchase_Activity
##                      Estimate   Std. Error     t value   Pr(>|t|)
## Intercept           -1.98e-16       0.0122   -1.62e-14          1
## Spending_Behavior    8.18e-01       0.0122    6.68e+01          0
## 
## $Customer_Engagement
##                      Estimate   Std. Error     t value    Pr(>|t|)
## Intercept           -6.63e-16       0.0186   -3.56e-14    1.00e+00
## Purchase_Activity    4.83e-01       0.0186    2.60e+01   4.59e-130
## 
## $Customer_Loyalty
##                        Estimate   Std. Error     t value   Pr(>|t|)
## Intercept             -1.39e-17       0.0211   -6.59e-16   1.00e+00
## Customer_Engagement   -1.11e-01       0.0211   -5.26e+00   1.55e-07
## 
## ---------------------------------------------------------- 
## CORRELATIONS BETWEEN LVs 
##                      Spending_Behavior  Purchase_Activity  Customer_Engagement
## Spending_Behavior               1.0000             0.8177                0.567
## Purchase_Activity               0.8177             1.0000                0.483
## Customer_Engagement             0.5671             0.4833                1.000
## Customer_Loyalty                0.0149             0.0079               -0.111
##                      Customer_Loyalty
## Spending_Behavior              0.0149
## Purchase_Activity              0.0079
## Customer_Engagement           -0.1112
## Customer_Loyalty               1.0000
## 
## ---------------------------------------------------------- 
## SUMMARY INNER MODEL 
##                            Type      R2  Block_Communality  Mean_Redundancy
## Spending_Behavior     Exogenous  0.0000              0.629           0.0000
## Purchase_Activity    Endogenous  0.6686              0.639           0.4270
## Customer_Engagement  Endogenous  0.2336              0.501           0.1170
## Customer_Loyalty     Endogenous  0.0124              0.502           0.0062
##                        AVE
## Spending_Behavior    0.629
## Purchase_Activity    0.639
## Customer_Engagement  0.501
## Customer_Loyalty     0.502
## 
## ---------------------------------------------------------- 
## GOODNESS-OF-FIT 
## [1]  0.4224
## 
## ---------------------------------------------------------- 
## TOTAL EFFECTS 
##                               relationships  direct  indirect    total
## 1    Spending_Behavior -> Purchase_Activity   0.818    0.0000   0.8177
## 2  Spending_Behavior -> Customer_Engagement   0.000    0.3952   0.3952
## 3     Spending_Behavior -> Customer_Loyalty   0.000   -0.0439  -0.0439
## 4  Purchase_Activity -> Customer_Engagement   0.483    0.0000   0.4833
## 5     Purchase_Activity -> Customer_Loyalty   0.000   -0.0537  -0.0537
## 6   Customer_Engagement -> Customer_Loyalty  -0.111    0.0000  -0.1112
# 13. EVALUASI OUTER MODEL

# Outer loading
pls_model$outer_model
##                   name               block     weight    loading communality
## 1             MntWines   Spending_Behavior  0.3740758  0.7814980  0.61073911
## 2      MntMeatProducts   Spending_Behavior  0.3374870  0.8534756  0.72842060
## 3      MntFishProducts   Spending_Behavior  0.2765034  0.7766190  0.60313706
## 4     MntSweetProducts   Spending_Behavior  0.2702054  0.7582595  0.57495747
## 5      NumWebPurchases   Purchase_Activity  0.2572733  0.6858841  0.47043705
## 6  NumCatalogPurchases   Purchase_Activity  0.5454190  0.8632302  0.74516636
## 7    NumStorePurchases   Purchase_Activity  0.4215207  0.8367755  0.70019325
## 8    NumWebVisitsMonth Customer_Engagement  0.7802291 -0.7816070  0.61090953
## 9             Response Customer_Engagement -0.6237727  0.6254962  0.39124548
## 10             Recency    Customer_Loyalty  0.9866889  0.9887306  0.97758821
## 11            Complain    Customer_Loyalty  0.1497196  0.1631747  0.02662599
##      redundancy
## 1  0.0000000000
## 2  0.0000000000
## 3  0.0000000000
## 4  0.0000000000
## 5  0.3145525919
## 6  0.4982473352
## 7  0.4681765629
## 8  0.1426836772
## 9  0.0913790679
## 10 0.0120795580
## 11 0.0003290038
# Cross loading
pls_model$crossloadings
##                   name               block Spending_Behavior Purchase_Activity
## 1             MntWines   Spending_Behavior        0.78149799        0.75845879
## 2      MntMeatProducts   Spending_Behavior        0.85347560        0.68427414
## 3      MntFishProducts   Spending_Behavior        0.77661899        0.56062627
## 4     MntSweetProducts   Spending_Behavior        0.75825950        0.54785643
## 5      NumWebPurchases   Purchase_Activity        0.48389316        0.68588414
## 6  NumCatalogPurchases   Purchase_Activity        0.76630125        0.86323019
## 7    NumStorePurchases   Purchase_Activity        0.65300586        0.83677551
## 8    NumWebVisitsMonth Customer_Engagement       -0.54007755       -0.48015475
## 9             Response Customer_Engagement        0.23366316        0.17418066
## 10             Recency    Customer_Loyalty        0.02041739        0.01150035
## 11            Complain    Customer_Loyalty       -0.03477619       -0.02278843
##    Customer_Engagement Customer_Loyalty
## 1           0.40485110      0.009602292
## 2           0.56922118      0.018657279
## 3           0.41577042     -0.002633494
## 4           0.40200991      0.021385701
## 5           0.13442689     -0.008057368
## 6           0.54445866      0.020640823
## 7           0.35997594     -0.002964407
## 8          -0.78160702     -0.015354339
## 9           0.62549618     -0.197411090
## 10         -0.11012491      0.988730608
## 11         -0.01670266      0.163174735
# 14. EVALUASI INNER MODEL

# Path coefficient
pls_model$path_coefs
##                     Spending_Behavior Purchase_Activity Customer_Engagement
## Spending_Behavior           0.0000000         0.0000000           0.0000000
## Purchase_Activity           0.8177035         0.0000000           0.0000000
## Customer_Engagement         0.0000000         0.4832799           0.0000000
## Customer_Loyalty            0.0000000         0.0000000          -0.1111597
##                     Customer_Loyalty
## Spending_Behavior                  0
## Purchase_Activity                  0
## Customer_Engagement                0
## Customer_Loyalty                   0
# Nilai R-Square
pls_model$inner_model
## $Purchase_Activity
##                        Estimate Std. Error       t value Pr(>|t|)
## Intercept         -1.980099e-16 0.01223381 -1.618546e-14        1
## Spending_Behavior  8.177035e-01 0.01223381  6.683963e+01        0
## 
## $Customer_Engagement
##                        Estimate Std. Error       t value      Pr(>|t|)
## Intercept         -6.631956e-16 0.01860589 -3.564439e-14  1.000000e+00
## Purchase_Activity  4.832799e-01 0.01860589  2.597456e+01 4.593561e-130
## 
## $Customer_Loyalty
##                          Estimate Std. Error       t value     Pr(>|t|)
## Intercept           -1.392153e-17 0.02112085 -6.591368e-16 1.000000e+00
## Customer_Engagement -1.111597e-01 0.02112085 -5.263035e+00 1.553593e-07
# 15. GOODNESS OF FIT

pls_model$gof
## [1] 0.4224461
# 16. VISUALISASI MODEL

plot(pls_model)

# 17. KESIMPULAN

# Interpretasi dilakukan berdasarkan:
# 1. Outer Loading
# 2. Cross Loading
# 3. Path Coefficient
# 4. R-Square
# 5. Goodness of Fit