PHASE 1 — DATA UNDERSTANDING & PREPROCESSING

Q1. What is the structure of the dataset? What do the variables represent?

Q2. Are there any missing values in the dataset? How can you handle them?

Q3. Are there any duplicate records? Should they be removed?

Q4. Apply Min–Max Normalization to numeric variables. What changes do you observe?

Q5. Provide descriptive statistics (mean, median, mode, SD) for key numeric features like Price & Quantity.


PHASE 2 — EDA & STATISTICAL INSIGHTS

Q6. What is the distribution of Quantity purchased? (Histogram + Boxplot)

Q7. How does Price vary across Gender? (Boxplot + comparison)

Q8. Which Product Categories are most purchased? (Bar chart)

Q9. Is there a relationship between Price and Quantity? (Scatter + correlation)

PHASE 3 — MODELING & MACHINE LEARNING

Q11. Build a Simple Linear Regression model to predict Price using Quantity.

Q12. Perform ANOVA to test whether Price varies significantly by Gender.

Q13. Apply K-Means clustering on numeric features.

Q14. Use KNN Classification to predict Gender based on numeric features (Price, Quantity).


PHASE 4 — ASSOCIATION RULE MINING & FINAL INSIGHTS

Q15. Convert items purchased into transaction format.

Q16. Apply Apriori algorithm to identify association rules.

Q17. What products are most commonly bought together?

What business decisions can be made?


ADDITIONAL IMPORTANT QUESTIONS

Q18. Which customer segment (via clustering) spends the most?

Q19. Which age group buys the highest-priced products?

Q20. What time of the year/month/week shows the highest purchase activity?

  • Data import
  • Missing value handling
  • Normalization
  • Histograms, boxplots, scatterplots
  • Correlation heatmap
  • Linear regression
  • ANOVA
  • K-Means
  • KNN
  • Apriori

##Q1. What is the structure of the dataset? How many rows and columns does it have?

# Load dataset
data <- read.csv("C:\\Users\\VICTUS\\Downloads\\customer_shopping_data.csv\\customer_shopping_data.csv")
head(data)
##   invoice_no customer_id gender age category quantity   price payment_method
## 1    I138884     C241288 Female  28 Clothing        5 1500.40    Credit Card
## 2    I317333     C111565   Male  21    Shoes        3 1800.51     Debit Card
## 3    I127801     C266599   Male  20 Clothing        1  300.08           Cash
## 4    I173702     C988172 Female  66    Shoes        5 3000.85    Credit Card
## 5    I337046     C189076 Female  53    Books        4   60.60           Cash
## 6    I227836     C657758 Female  28 Clothing        5 1500.40    Credit Card
##   invoice_date  shopping_mall
## 1     5/8/2022         Kanyon
## 2   12/12/2021 Forum Istanbul
## 3    9/11/2021      Metrocity
## 4   16/05/2021   Metropol AVM
## 5   24/10/2021         Kanyon
## 6   24/05/2022 Forum Istanbul
# Q1: Structure of dataset
str(data)
## 'data.frame':    99457 obs. of  10 variables:
##  $ invoice_no    : chr  "I138884" "I317333" "I127801" "I173702" ...
##  $ customer_id   : chr  "C241288" "C111565" "C266599" "C988172" ...
##  $ gender        : chr  "Female" "Male" "Male" "Female" ...
##  $ age           : int  28 21 20 66 53 28 49 32 69 60 ...
##  $ category      : chr  "Clothing" "Shoes" "Clothing" "Shoes" ...
##  $ quantity      : int  5 3 1 5 4 5 1 2 3 2 ...
##  $ price         : num  1500.4 1800.5 300.1 3000.8 60.6 ...
##  $ payment_method: chr  "Credit Card" "Debit Card" "Cash" "Credit Card" ...
##  $ invoice_date  : chr  "5/8/2022" "12/12/2021" "9/11/2021" "16/05/2021" ...
##  $ shopping_mall : chr  "Kanyon" "Forum Istanbul" "Metrocity" "Metropol AVM" ...
# Number of rows and columns
cat("Rows:", nrow(data), "\n")
## Rows: 99457
cat("Columns:", ncol(data), "\n")
## Columns: 10
# column names
colnames(data)
##  [1] "invoice_no"     "customer_id"    "gender"         "age"           
##  [5] "category"       "quantity"       "price"          "payment_method"
##  [9] "invoice_date"   "shopping_mall"

Q2. Which columns contain missing values, and how much missing data does each column have?

# Q2: Check missing values per column
colSums(is.na(data))
##     invoice_no    customer_id         gender            age       category 
##              0              0              0              0              0 
##       quantity          price payment_method   invoice_date  shopping_mall 
##              0              0              0              0              0

Q3. Are there any outliers present in the numerical variables (Quantity and Price)? If yes, detect them and apply an appropriate method (such as capping) to handle the outliers.

# Detect outliers for Quantity
quantity_outliers <- boxplot.stats(data$quantity)$out
quantity_outliers
## integer(0)
# Detect outliers for Price
price_outliers <- boxplot.stats(data$price)$out
price_outliers
##    [1] 3000.85 3000.85 5250.00 4200.00 5250.00 3000.85 3000.85 3000.85 3150.00
##   [10] 3000.85 3150.00 3150.00 3000.85 3000.85 3150.00 3150.00 5250.00 3000.85
##   [19] 3000.85 5250.00 3150.00 3000.85 4200.00 3150.00 4200.00 3000.85 3000.85
##   [28] 5250.00 4200.00 5250.00 3000.85 4200.00 3150.00 4200.00 3000.85 3000.85
##   [37] 5250.00 3150.00 4200.00 4200.00 3150.00 4200.00 5250.00 4200.00 3000.85
##   [46] 3000.85 5250.00 5250.00 5250.00 3000.85 4200.00 3000.85 5250.00 4200.00
##   [55] 3000.85 3000.85 3150.00 3000.85 4200.00 3150.00 3000.85 4200.00 4200.00
##   [64] 5250.00 3000.85 3150.00 3150.00 3000.85 5250.00 5250.00 3000.85 3000.85
##   [73] 3000.85 3000.85 3000.85 3000.85 3150.00 5250.00 3000.85 3150.00 5250.00
##   [82] 4200.00 4200.00 4200.00 5250.00 3000.85 4200.00 4200.00 5250.00 3000.85
##   [91] 5250.00 5250.00 5250.00 3150.00 4200.00 3150.00 3150.00 3000.85 3000.85
##  [100] 3000.85 3000.85 3000.85 3000.85 3150.00 4200.00 5250.00 3000.85 4200.00
##  [109] 3000.85 3000.85 3000.85 3000.85 5250.00 5250.00 5250.00 3000.85 3150.00
##  [118] 3150.00 5250.00 4200.00 3000.85 3000.85 3150.00 4200.00 4200.00 4200.00
##  [127] 5250.00 4200.00 4200.00 3000.85 5250.00 3150.00 3000.85 3000.85 3000.85
##  [136] 3000.85 5250.00 4200.00 3000.85 4200.00 3150.00 4200.00 5250.00 5250.00
##  [145] 3150.00 3000.85 5250.00 3000.85 3150.00 3150.00 3150.00 3000.85 4200.00
##  [154] 3000.85 3000.85 3000.85 5250.00 3150.00 5250.00 5250.00 3000.85 3150.00
##  [163] 3000.85 3150.00 3000.85 5250.00 5250.00 5250.00 3000.85 4200.00 3000.85
##  [172] 3150.00 4200.00 5250.00 3000.85 3000.85 3000.85 3000.85 4200.00 5250.00
##  [181] 3150.00 3000.85 5250.00 3000.85 3000.85 3000.85 4200.00 5250.00 3000.85
##  [190] 4200.00 3000.85 4200.00 3000.85 3000.85 3000.85 3000.85 4200.00 3150.00
##  [199] 5250.00 3000.85 4200.00 3000.85 5250.00 3000.85 3000.85 3000.85 5250.00
##  [208] 3000.85 5250.00 3150.00 3000.85 4200.00 4200.00 3150.00 3150.00 5250.00
##  [217] 4200.00 5250.00 5250.00 4200.00 5250.00 5250.00 3150.00 5250.00 3000.85
##  [226] 3000.85 3000.85 3000.85 3150.00 5250.00 3000.85 3000.85 3150.00 5250.00
##  [235] 4200.00 3150.00 3150.00 4200.00 4200.00 3000.85 4200.00 3150.00 4200.00
##  [244] 3000.85 5250.00 3000.85 3150.00 4200.00 3000.85 5250.00 3150.00 3150.00
##  [253] 3000.85 3000.85 3150.00 3150.00 3000.85 5250.00 3150.00 5250.00 3150.00
##  [262] 4200.00 4200.00 4200.00 3000.85 5250.00 3150.00 3000.85 3150.00 3000.85
##  [271] 5250.00 3000.85 3150.00 3150.00 3000.85 3000.85 5250.00 3000.85 3000.85
##  [280] 5250.00 4200.00 5250.00 5250.00 3000.85 3000.85 4200.00 3150.00 3000.85
##  [289] 5250.00 3150.00 3000.85 4200.00 5250.00 3000.85 3150.00 3000.85 5250.00
##  [298] 3000.85 5250.00 3000.85 3000.85 3000.85 4200.00 5250.00 3000.85 3150.00
##  [307] 3000.85 3000.85 3000.85 3000.85 3150.00 5250.00 3000.85 4200.00 4200.00
##  [316] 3000.85 5250.00 5250.00 3150.00 3150.00 3000.85 5250.00 3000.85 3150.00
##  [325] 3150.00 3150.00 3000.85 5250.00 3000.85 4200.00 5250.00 4200.00 3000.85
##  [334] 3150.00 5250.00 3150.00 3150.00 3150.00 3000.85 3000.85 3000.85 3000.85
##  [343] 5250.00 4200.00 3000.85 4200.00 3150.00 3000.85 4200.00 5250.00 4200.00
##  [352] 3000.85 3000.85 5250.00 4200.00 3000.85 3000.85 3150.00 4200.00 3150.00
##  [361] 3150.00 3150.00 3000.85 3150.00 3000.85 3000.85 4200.00 4200.00 3000.85
##  [370] 5250.00 3000.85 3000.85 3150.00 4200.00 3000.85 5250.00 3000.85 3000.85
##  [379] 3150.00 3000.85 3000.85 3000.85 4200.00 3000.85 5250.00 3000.85 5250.00
##  [388] 5250.00 3000.85 5250.00 3150.00 3150.00 4200.00 5250.00 3150.00 3150.00
##  [397] 4200.00 4200.00 3000.85 4200.00 5250.00 5250.00 4200.00 5250.00 3150.00
##  [406] 5250.00 3000.85 3150.00 3000.85 3150.00 3000.85 3000.85 3150.00 3000.85
##  [415] 5250.00 4200.00 3000.85 5250.00 5250.00 4200.00 3000.85 3000.85 3000.85
##  [424] 3000.85 4200.00 3150.00 5250.00 3150.00 3000.85 5250.00 3150.00 3000.85
##  [433] 3000.85 3000.85 3000.85 3000.85 5250.00 4200.00 3000.85 5250.00 5250.00
##  [442] 3000.85 3000.85 3000.85 3000.85 3000.85 3000.85 5250.00 5250.00 4200.00
##  [451] 3150.00 3000.85 3000.85 5250.00 3000.85 5250.00 3000.85 4200.00 3150.00
##  [460] 4200.00 5250.00 3000.85 5250.00 3000.85 3150.00 3150.00 3000.85 3000.85
##  [469] 4200.00 3000.85 5250.00 5250.00 3150.00 3000.85 5250.00 3000.85 3000.85
##  [478] 5250.00 5250.00 4200.00 3150.00 4200.00 3000.85 3000.85 3000.85 3000.85
##  [487] 3150.00 3000.85 4200.00 3150.00 3000.85 4200.00 4200.00 5250.00 4200.00
##  [496] 3000.85 3000.85 5250.00 4200.00 3150.00 3000.85 5250.00 4200.00 3000.85
##  [505] 5250.00 3150.00 5250.00 3000.85 5250.00 3000.85 3150.00 3150.00 3150.00
##  [514] 4200.00 3150.00 3000.85 5250.00 3150.00 3150.00 3150.00 3000.85 3000.85
##  [523] 5250.00 4200.00 4200.00 3150.00 3150.00 3000.85 3000.85 3000.85 4200.00
##  [532] 5250.00 4200.00 3150.00 4200.00 5250.00 3150.00 3150.00 4200.00 3000.85
##  [541] 5250.00 4200.00 4200.00 3000.85 5250.00 3000.85 4200.00 3000.85 4200.00
##  [550] 4200.00 3000.85 3000.85 4200.00 3000.85 3150.00 3150.00 3000.85 3000.85
##  [559] 3000.85 3000.85 3000.85 5250.00 4200.00 4200.00 5250.00 4200.00 3000.85
##  [568] 3150.00 3000.85 5250.00 5250.00 3000.85 3000.85 4200.00 3000.85 3000.85
##  [577] 3000.85 4200.00 5250.00 3000.85 3000.85 3150.00 3150.00 5250.00 3000.85
##  [586] 5250.00 5250.00 5250.00 3000.85 3150.00 4200.00 3000.85 3000.85 3000.85
##  [595] 5250.00 4200.00 3000.85 3150.00 3000.85 3000.85 3150.00 3000.85 4200.00
##  [604] 5250.00 3000.85 5250.00 3150.00 3000.85 4200.00 3150.00 3150.00 5250.00
##  [613] 3000.85 4200.00 3150.00 5250.00 5250.00 4200.00 3150.00 3150.00 3000.85
##  [622] 3000.85 3000.85 3150.00 3000.85 3000.85 4200.00 3150.00 3000.85 5250.00
##  [631] 3000.85 3000.85 3000.85 3150.00 4200.00 3150.00 3150.00 3000.85 3000.85
##  [640] 3150.00 5250.00 3150.00 3000.85 3000.85 4200.00 4200.00 3000.85 3000.85
##  [649] 3150.00 4200.00 5250.00 3150.00 3000.85 3000.85 4200.00 3000.85 4200.00
##  [658] 5250.00 5250.00 3000.85 3000.85 4200.00 3000.85 5250.00 4200.00 4200.00
##  [667] 5250.00 5250.00 3000.85 3000.85 3000.85 3000.85 3000.85 3000.85 3000.85
##  [676] 3000.85 3150.00 5250.00 4200.00 5250.00 4200.00 5250.00 5250.00 4200.00
##  [685] 3000.85 3000.85 3150.00 3000.85 4200.00 5250.00 3000.85 3000.85 3000.85
##  [694] 3000.85 4200.00 3000.85 3000.85 5250.00 3000.85 3000.85 3000.85 5250.00
##  [703] 4200.00 4200.00 4200.00 3150.00 3000.85 4200.00 3000.85 3000.85 3000.85
##  [712] 3000.85 4200.00 3150.00 4200.00 5250.00 5250.00 3000.85 3000.85 5250.00
##  [721] 4200.00 4200.00 5250.00 3000.85 3150.00 3000.85 5250.00 3150.00 3150.00
##  [730] 3000.85 5250.00 3000.85 3150.00 3150.00 3000.85 4200.00 3000.85 3150.00
##  [739] 3150.00 4200.00 3000.85 5250.00 3000.85 5250.00 4200.00 5250.00 3150.00
##  [748] 3000.85 3000.85 3150.00 3150.00 3000.85 3150.00 4200.00 3150.00 5250.00
##  [757] 3000.85 5250.00 5250.00 3150.00 4200.00 3000.85 3150.00 3150.00 3150.00
##  [766] 3000.85 3000.85 3150.00 3000.85 3000.85 3000.85 4200.00 3150.00 5250.00
##  [775] 3000.85 3000.85 4200.00 5250.00 3000.85 4200.00 4200.00 5250.00 3150.00
##  [784] 3150.00 3000.85 3000.85 3000.85 4200.00 4200.00 4200.00 4200.00 4200.00
##  [793] 3000.85 3000.85 4200.00 3000.85 5250.00 4200.00 3000.85 3000.85 3150.00
##  [802] 4200.00 3150.00 3000.85 4200.00 3000.85 4200.00 3150.00 5250.00 3150.00
##  [811] 3150.00 3000.85 3000.85 4200.00 3000.85 4200.00 3000.85 4200.00 3000.85
##  [820] 4200.00 5250.00 3000.85 4200.00 4200.00 4200.00 3000.85 4200.00 3150.00
##  [829] 3150.00 5250.00 5250.00 4200.00 3150.00 4200.00 4200.00 3000.85 3000.85
##  [838] 3000.85 3150.00 3000.85 3000.85 4200.00 3000.85 3000.85 3000.85 5250.00
##  [847] 3000.85 3150.00 3000.85 3000.85 4200.00 3150.00 5250.00 3150.00 3150.00
##  [856] 3150.00 4200.00 5250.00 4200.00 5250.00 5250.00 3000.85 3000.85 3000.85
##  [865] 5250.00 3150.00 3150.00 3150.00 5250.00 3000.85 3000.85 3000.85 3150.00
##  [874] 5250.00 4200.00 4200.00 3000.85 3000.85 5250.00 4200.00 3150.00 4200.00
##  [883] 3000.85 3150.00 3000.85 5250.00 4200.00 3000.85 3000.85 4200.00 5250.00
##  [892] 5250.00 5250.00 3000.85 4200.00 3000.85 3000.85 4200.00 3000.85 3150.00
##  [901] 3150.00 3000.85 3000.85 4200.00 3150.00 5250.00 5250.00 3000.85 3150.00
##  [910] 5250.00 3000.85 5250.00 3000.85 3000.85 3000.85 4200.00 5250.00 3000.85
##  [919] 4200.00 4200.00 3150.00 3150.00 5250.00 5250.00 4200.00 4200.00 3150.00
##  [928] 3150.00 4200.00 3000.85 4200.00 3150.00 3150.00 4200.00 4200.00 4200.00
##  [937] 3150.00 3150.00 5250.00 3150.00 3000.85 5250.00 3000.85 5250.00 3150.00
##  [946] 4200.00 3150.00 3000.85 4200.00 5250.00 5250.00 3000.85 4200.00 3150.00
##  [955] 4200.00 3000.85 4200.00 3000.85 3000.85 3150.00 3000.85 3000.85 4200.00
##  [964] 5250.00 3000.85 3150.00 3000.85 5250.00 3000.85 4200.00 5250.00 3000.85
##  [973] 4200.00 3000.85 5250.00 3000.85 3150.00 5250.00 5250.00 5250.00 3150.00
##  [982] 3000.85 3000.85 3000.85 4200.00 3000.85 4200.00 5250.00 3000.85 3000.85
##  [991] 4200.00 3000.85 3000.85 3150.00 3000.85 3150.00 4200.00 4200.00 3000.85
## [1000] 3150.00 3000.85 4200.00 5250.00 3150.00 5250.00 3000.85 3000.85 3000.85
## [1009] 3000.85 3000.85 5250.00 3000.85 3150.00 3150.00 3000.85 5250.00 3000.85
## [1018] 3000.85 4200.00 4200.00 3150.00 3150.00 4200.00 5250.00 3000.85 4200.00
## [1027] 3150.00 3150.00 5250.00 3000.85 3000.85 3150.00 4200.00 4200.00 3150.00
## [1036] 3000.85 5250.00 5250.00 5250.00 3000.85 4200.00 3150.00 3000.85 3000.85
## [1045] 3000.85 5250.00 3000.85 4200.00 3000.85 3150.00 3000.85 3000.85 3150.00
## [1054] 4200.00 5250.00 3150.00 3150.00 4200.00 3150.00 5250.00 4200.00 4200.00
## [1063] 5250.00 3000.85 5250.00 4200.00 5250.00 5250.00 3150.00 3000.85 3150.00
## [1072] 4200.00 3150.00 4200.00 3000.85 4200.00 3000.85 3000.85 3150.00 3000.85
## [1081] 4200.00 5250.00 5250.00 5250.00 3000.85 3000.85 3150.00 3150.00 3000.85
## [1090] 4200.00 3000.85 3150.00 4200.00 3150.00 5250.00 5250.00 4200.00 3150.00
## [1099] 3000.85 5250.00 5250.00 4200.00 5250.00 3000.85 3000.85 3000.85 5250.00
## [1108] 3000.85 4200.00 4200.00 3000.85 4200.00 3150.00 3000.85 4200.00 3000.85
## [1117] 3000.85 3150.00 4200.00 5250.00 3000.85 3000.85 3000.85 4200.00 3150.00
## [1126] 3000.85 4200.00 3000.85 4200.00 4200.00 4200.00 3150.00 4200.00 3000.85
## [1135] 4200.00 4200.00 3000.85 4200.00 5250.00 5250.00 5250.00 3150.00 4200.00
## [1144] 3000.85 3000.85 3000.85 5250.00 3000.85 3000.85 3000.85 4200.00 3000.85
## [1153] 3150.00 3000.85 3150.00 3000.85 3150.00 3000.85 3150.00 5250.00 3000.85
## [1162] 3000.85 4200.00 3000.85 3000.85 3000.85 3150.00 4200.00 3000.85 3150.00
## [1171] 5250.00 3000.85 4200.00 3000.85 3150.00 3150.00 3000.85 3000.85 4200.00
## [1180] 3150.00 3000.85 3150.00 3150.00 3000.85 3000.85 5250.00 3150.00 3150.00
## [1189] 4200.00 3000.85 5250.00 5250.00 4200.00 3000.85 4200.00 3000.85 3150.00
## [1198] 4200.00 4200.00 5250.00 4200.00 3150.00 3000.85 4200.00 5250.00 3000.85
## [1207] 3150.00 5250.00 5250.00 4200.00 3000.85 4200.00 4200.00 3150.00 3150.00
## [1216] 4200.00 3000.85 3000.85 3000.85 3000.85 4200.00 3000.85 3000.85 3150.00
## [1225] 3000.85 5250.00 3000.85 5250.00 3150.00 4200.00 3150.00 3000.85 3000.85
## [1234] 5250.00 3000.85 3000.85 3000.85 3150.00 3150.00 3000.85 3150.00 3000.85
## [1243] 4200.00 3000.85 3150.00 5250.00 5250.00 3000.85 3000.85 4200.00 3150.00
## [1252] 3000.85 3150.00 3150.00 5250.00 3150.00 3150.00 3150.00 3000.85 5250.00
## [1261] 3000.85 3000.85 4200.00 5250.00 4200.00 3000.85 3150.00 3150.00 5250.00
## [1270] 3150.00 3150.00 3000.85 3000.85 3000.85 3150.00 3000.85 4200.00 3000.85
## [1279] 3150.00 3000.85 3150.00 4200.00 3000.85 5250.00 4200.00 4200.00 3150.00
## [1288] 3150.00 3000.85 3000.85 3000.85 4200.00 4200.00 4200.00 3000.85 3000.85
## [1297] 3000.85 4200.00 3000.85 5250.00 4200.00 4200.00 5250.00 3000.85 3150.00
## [1306] 5250.00 4200.00 5250.00 3150.00 3000.85 3000.85 3000.85 3000.85 3000.85
## [1315] 4200.00 3000.85 4200.00 4200.00 5250.00 3150.00 4200.00 3000.85 3150.00
## [1324] 5250.00 3000.85 3150.00 4200.00 3000.85 5250.00 3000.85 3000.85 4200.00
## [1333] 4200.00 5250.00 3000.85 3000.85 3150.00 4200.00 3000.85 3150.00 3000.85
## [1342] 4200.00 3150.00 4200.00 5250.00 3000.85 3000.85 3000.85 3150.00 3000.85
## [1351] 5250.00 3150.00 3000.85 3150.00 4200.00 3000.85 3000.85 5250.00 4200.00
## [1360] 4200.00 4200.00 3150.00 4200.00 5250.00 3150.00 3000.85 4200.00 4200.00
## [1369] 3000.85 4200.00 3000.85 5250.00 3000.85 5250.00 5250.00 4200.00 4200.00
## [1378] 3150.00 4200.00 5250.00 5250.00 3000.85 3000.85 3000.85 3000.85 5250.00
## [1387] 5250.00 4200.00 3000.85 3000.85 4200.00 3150.00 3150.00 4200.00 5250.00
## [1396] 3150.00 3150.00 5250.00 5250.00 3150.00 3000.85 3150.00 3000.85 3000.85
## [1405] 3000.85 5250.00 3150.00 3000.85 5250.00 3000.85 3150.00 3000.85 3000.85
## [1414] 4200.00 3150.00 5250.00 3000.85 5250.00 5250.00 3000.85 3000.85 4200.00
## [1423] 3000.85 3000.85 3000.85 5250.00 3000.85 3000.85 3150.00 4200.00 3000.85
## [1432] 3000.85 3000.85 3000.85 4200.00 3000.85 3000.85 5250.00 5250.00 3150.00
## [1441] 3000.85 3000.85 3000.85 3150.00 3000.85 3000.85 5250.00 3000.85 3000.85
## [1450] 3000.85 3150.00 3150.00 3150.00 3150.00 3000.85 5250.00 3000.85 3150.00
## [1459] 4200.00 3000.85 4200.00 3000.85 4200.00 3150.00 3150.00 3000.85 3000.85
## [1468] 5250.00 3000.85 3000.85 3000.85 4200.00 3000.85 3000.85 3150.00 5250.00
## [1477] 3000.85 3000.85 4200.00 4200.00 4200.00 4200.00 5250.00 4200.00 4200.00
## [1486] 3000.85 3000.85 5250.00 3150.00 5250.00 5250.00 3150.00 3150.00 3150.00
## [1495] 5250.00 3150.00 5250.00 4200.00 3000.85 5250.00 3150.00 3000.85 3150.00
## [1504] 5250.00 3000.85 5250.00 3150.00 5250.00 3000.85 3000.85 3000.85 5250.00
## [1513] 4200.00 4200.00 3000.85 3000.85 4200.00 4200.00 3000.85 3000.85 4200.00
## [1522] 5250.00 4200.00 3000.85 3150.00 3000.85 3150.00 3150.00 3000.85 3000.85
## [1531] 4200.00 3000.85 3000.85 3150.00 3000.85 4200.00 4200.00 5250.00 3000.85
## [1540] 3150.00 3150.00 3150.00 3000.85 3000.85 5250.00 4200.00 4200.00 3000.85
## [1549] 3000.85 4200.00 4200.00 5250.00 3150.00 3150.00 4200.00 3150.00 5250.00
## [1558] 4200.00 3000.85 3000.85 5250.00 3150.00 3000.85 3150.00 3000.85 5250.00
## [1567] 3000.85 5250.00 3000.85 3000.85 5250.00 3000.85 3150.00 3150.00 3000.85
## [1576] 4200.00 3150.00 4200.00 4200.00 5250.00 4200.00 3150.00 3000.85 5250.00
## [1585] 5250.00 3000.85 3150.00 3000.85 3000.85 3150.00 4200.00 5250.00 4200.00
## [1594] 5250.00 3000.85 4200.00 3000.85 3000.85 3000.85 3000.85 4200.00 5250.00
## [1603] 3000.85 3150.00 3150.00 5250.00 4200.00 3000.85 5250.00 3150.00 4200.00
## [1612] 4200.00 3000.85 5250.00 4200.00 3000.85 3000.85 3000.85 3000.85 3000.85
## [1621] 4200.00 3150.00 3150.00 3000.85 5250.00 3150.00 5250.00 4200.00 3150.00
## [1630] 5250.00 3000.85 3000.85 3150.00 3000.85 3000.85 3150.00 4200.00 3000.85
## [1639] 3000.85 3000.85 5250.00 3000.85 5250.00 3000.85 4200.00 3000.85 3000.85
## [1648] 3000.85 3000.85 3000.85 3150.00 3000.85 3000.85 3000.85 4200.00 4200.00
## [1657] 5250.00 3150.00 3000.85 3000.85 3150.00 3150.00 5250.00 3000.85 4200.00
## [1666] 3000.85 3150.00 3000.85 4200.00 3150.00 3000.85 4200.00 3000.85 4200.00
## [1675] 5250.00 3000.85 3000.85 3150.00 3150.00 5250.00 3000.85 3000.85 3000.85
## [1684] 3000.85 3000.85 3000.85 5250.00 3000.85 4200.00 3000.85 3150.00 4200.00
## [1693] 3150.00 3000.85 4200.00 4200.00 5250.00 3150.00 4200.00 4200.00 3150.00
## [1702] 4200.00 3000.85 3000.85 5250.00 3000.85 3000.85 3000.85 3150.00 3000.85
## [1711] 4200.00 3000.85 4200.00 3000.85 5250.00 3000.85 3000.85 3150.00 3000.85
## [1720] 3000.85 3000.85 4200.00 3000.85 5250.00 3150.00 5250.00 4200.00 3000.85
## [1729] 3000.85 3000.85 3150.00 3000.85 4200.00 5250.00 4200.00 4200.00 3000.85
## [1738] 5250.00 3000.85 3150.00 5250.00 4200.00 5250.00 5250.00 5250.00 4200.00
## [1747] 5250.00 3150.00 3150.00 3000.85 4200.00 4200.00 3000.85 3000.85 3150.00
## [1756] 3000.85 3000.85 3000.85 3000.85 5250.00 4200.00 3000.85 3000.85 4200.00
## [1765] 3000.85 3000.85 4200.00 5250.00 3150.00 5250.00 3150.00 3150.00 3150.00
## [1774] 3000.85 5250.00 3000.85 4200.00 3150.00 3150.00 3150.00 3000.85 3150.00
## [1783] 3000.85 4200.00 5250.00 3000.85 3000.85 5250.00 3000.85 5250.00 3150.00
## [1792] 5250.00 5250.00 5250.00 5250.00 3000.85 3150.00 3150.00 3000.85 4200.00
## [1801] 3000.85 3000.85 3150.00 3000.85 3000.85 4200.00 3000.85 3150.00 4200.00
## [1810] 3000.85 3000.85 5250.00 4200.00 3150.00 4200.00 3000.85 4200.00 3000.85
## [1819] 3000.85 3000.85 5250.00 3000.85 3000.85 5250.00 4200.00 3000.85 3000.85
## [1828] 3150.00 3000.85 3000.85 4200.00 3000.85 3150.00 5250.00 3000.85 5250.00
## [1837] 3150.00 4200.00 3000.85 3000.85 5250.00 5250.00 5250.00 3000.85 5250.00
## [1846] 3000.85 3150.00 3000.85 3000.85 3000.85 5250.00 5250.00 3150.00 3000.85
## [1855] 4200.00 4200.00 3000.85 5250.00 3150.00 3000.85 3150.00 4200.00 3150.00
## [1864] 4200.00 3000.85 3000.85 3000.85 5250.00 5250.00 3000.85 4200.00 3000.85
## [1873] 5250.00 5250.00 3000.85 3000.85 3150.00 5250.00 4200.00 3000.85 3000.85
## [1882] 3000.85 3000.85 3000.85 5250.00 3000.85 5250.00 3000.85 5250.00 3000.85
## [1891] 3000.85 5250.00 4200.00 3000.85 5250.00 3000.85 3150.00 3000.85 3150.00
## [1900] 5250.00 3150.00 5250.00 5250.00 3150.00 3150.00 5250.00 3000.85 3150.00
## [1909] 3150.00 3000.85 3150.00 3000.85 4200.00 4200.00 4200.00 3000.85 3150.00
## [1918] 5250.00 5250.00 3000.85 3000.85 5250.00 4200.00 3000.85 3150.00 3000.85
## [1927] 4200.00 3000.85 3000.85 3150.00 3150.00 3000.85 3000.85 3000.85 3150.00
## [1936] 3000.85 5250.00 4200.00 3000.85 3000.85 3000.85 5250.00 3150.00 4200.00
## [1945] 3000.85 4200.00 3000.85 3150.00 4200.00 3000.85 3000.85 4200.00 3000.85
## [1954] 3000.85 3000.85 3000.85 3000.85 5250.00 3000.85 3150.00 3000.85 3000.85
## [1963] 3000.85 4200.00 4200.00 3150.00 3150.00 5250.00 3000.85 3000.85 3150.00
## [1972] 3000.85 4200.00 3000.85 3150.00 5250.00 3000.85 3000.85 4200.00 4200.00
## [1981] 4200.00 3150.00 3000.85 3000.85 3000.85 3000.85 5250.00 3000.85 3150.00
## [1990] 5250.00 3000.85 3000.85 3000.85 5250.00 3000.85 3150.00 5250.00 4200.00
## [1999] 3150.00 4200.00 3000.85 3150.00 4200.00 3000.85 4200.00 3150.00 4200.00
## [2008] 4200.00 5250.00 3150.00 3150.00 4200.00 3000.85 5250.00 3000.85 4200.00
## [2017] 4200.00 4200.00 3000.85 3150.00 4200.00 5250.00 5250.00 4200.00 3150.00
## [2026] 3000.85 3000.85 4200.00 5250.00 3150.00 3000.85 3000.85 3000.85 3000.85
## [2035] 3150.00 5250.00 5250.00 3000.85 3000.85 3000.85 3150.00 4200.00 3000.85
## [2044] 3150.00 4200.00 3150.00 3000.85 4200.00 3000.85 3000.85 3000.85 4200.00
## [2053] 3000.85 3000.85 5250.00 3000.85 3150.00 3000.85 3150.00 3000.85 3000.85
## [2062] 3150.00 3000.85 4200.00 3000.85 3000.85 5250.00 3150.00 4200.00 5250.00
## [2071] 3000.85 5250.00 4200.00 3000.85 5250.00 4200.00 5250.00 5250.00 3000.85
## [2080] 3000.85 3000.85 3000.85 4200.00 3000.85 3000.85 3000.85 3150.00 5250.00
## [2089] 4200.00 4200.00 3000.85 3000.85 3000.85 3150.00 3150.00 3000.85 3000.85
## [2098] 3000.85 3150.00 3000.85 5250.00 3150.00 4200.00 3000.85 5250.00 3000.85
## [2107] 3000.85 3150.00 5250.00 5250.00 5250.00 5250.00 3000.85 5250.00 3150.00
## [2116] 5250.00 3000.85 3000.85 4200.00 3000.85 5250.00 4200.00 5250.00 4200.00
## [2125] 5250.00 5250.00 4200.00 3000.85 3000.85 3000.85 3000.85 5250.00 3000.85
## [2134] 4200.00 4200.00 3150.00 3150.00 4200.00 3150.00 3000.85 3000.85 5250.00
## [2143] 4200.00 4200.00 3000.85 3000.85 3000.85 3150.00 4200.00 3000.85 3000.85
## [2152] 4200.00 3150.00 3000.85 3000.85 3150.00 3000.85 3150.00 3150.00 4200.00
## [2161] 3150.00 3000.85 5250.00 3150.00 3150.00 3000.85 3000.85 4200.00 5250.00
## [2170] 3150.00 5250.00 3000.85 4200.00 3000.85 5250.00 5250.00 4200.00 3150.00
## [2179] 3000.85 5250.00 3000.85 3150.00 3000.85 3000.85 3150.00 3000.85 3000.85
## [2188] 5250.00 3000.85 5250.00 3000.85 3000.85 5250.00 3000.85 3000.85 5250.00
## [2197] 3000.85 5250.00 3150.00 3150.00 3000.85 5250.00 3000.85 5250.00 3000.85
## [2206] 5250.00 4200.00 4200.00 4200.00 5250.00 3150.00 5250.00 3000.85 5250.00
## [2215] 5250.00 3000.85 5250.00 4200.00 3150.00 4200.00 3000.85 3000.85 5250.00
## [2224] 3000.85 4200.00 3150.00 4200.00 3000.85 3000.85 3150.00 4200.00 3000.85
## [2233] 3000.85 4200.00 5250.00 4200.00 3000.85 3000.85 3000.85 3150.00 5250.00
## [2242] 5250.00 4200.00 3150.00 5250.00 3000.85 3000.85 5250.00 5250.00 5250.00
## [2251] 5250.00 3150.00 3000.85 3000.85 5250.00 5250.00 5250.00 4200.00 3150.00
## [2260] 5250.00 3000.85 4200.00 4200.00 3000.85 3000.85 3000.85 4200.00 3150.00
## [2269] 3000.85 3000.85 4200.00 5250.00 5250.00 3150.00 3150.00 3150.00 3000.85
## [2278] 4200.00 4200.00 3000.85 5250.00 3150.00 3000.85 3000.85 3150.00 3150.00
## [2287] 3150.00 5250.00 3000.85 5250.00 4200.00 5250.00 5250.00 4200.00 3000.85
## [2296] 5250.00 3000.85 3000.85 4200.00 3150.00 5250.00 3000.85 3150.00 3000.85
## [2305] 5250.00 3150.00 3000.85 5250.00 3150.00 3150.00 3000.85 5250.00 5250.00
## [2314] 3000.85 3000.85 3150.00 3150.00 5250.00 3000.85 3150.00 3000.85 4200.00
## [2323] 3150.00 3150.00 4200.00 3000.85 3000.85 3150.00 3000.85 3000.85 4200.00
## [2332] 5250.00 4200.00 5250.00 4200.00 3150.00 5250.00 5250.00 3150.00 3000.85
## [2341] 5250.00 3000.85 3000.85 3000.85 3000.85 5250.00 5250.00 5250.00 4200.00
## [2350] 3000.85 4200.00 5250.00 5250.00 3150.00 3000.85 3000.85 4200.00 4200.00
## [2359] 5250.00 5250.00 5250.00 3150.00 4200.00 4200.00 3000.85 5250.00 3000.85
## [2368] 5250.00 3000.85 3000.85 5250.00 3000.85 3000.85 5250.00 5250.00 5250.00
## [2377] 3000.85 3150.00 3000.85 3150.00 5250.00 3000.85 3000.85 3000.85 3000.85
## [2386] 3150.00 4200.00 3000.85 3000.85 3000.85 5250.00 5250.00 5250.00 3150.00
## [2395] 3000.85 5250.00 5250.00 3150.00 3000.85 3150.00 4200.00 3150.00 3000.85
## [2404] 3150.00 5250.00 3000.85 3000.85 5250.00 5250.00 5250.00 3000.85 3000.85
## [2413] 4200.00 5250.00 3000.85 3000.85 3000.85 3000.85 3150.00 4200.00 5250.00
## [2422] 3150.00 3150.00 3000.85 3000.85 3000.85 3000.85 5250.00 3000.85 3000.85
## [2431] 3000.85 3000.85 3000.85 3000.85 3000.85 3000.85 3000.85 3000.85 3000.85
## [2440] 5250.00 3000.85 5250.00 5250.00 5250.00 3000.85 3000.85 3150.00 3000.85
## [2449] 3000.85 3000.85 3000.85 4200.00 3000.85 3000.85 3150.00 3000.85 3000.85
## [2458] 4200.00 3000.85 3000.85 3000.85 3000.85 3150.00 3150.00 4200.00 5250.00
## [2467] 3000.85 3150.00 3000.85 3000.85 4200.00 3150.00 3000.85 3150.00 4200.00
## [2476] 3000.85 3000.85 3000.85 3150.00 3000.85 3000.85 3000.85 3000.85 3150.00
## [2485] 4200.00 3150.00 5250.00 3000.85 5250.00 4200.00 5250.00 3000.85 4200.00
## [2494] 3000.85 3000.85 4200.00 4200.00 3000.85 3000.85 3000.85 4200.00 3000.85
## [2503] 3150.00 3000.85 4200.00 4200.00 3000.85 5250.00 5250.00 3000.85 4200.00
## [2512] 3150.00 3000.85 4200.00 4200.00 4200.00 3000.85 3000.85 3150.00 5250.00
## [2521] 3150.00 3000.85 4200.00 3150.00 3000.85 3000.85 5250.00 5250.00 3150.00
## [2530] 3000.85 3000.85 3150.00 3150.00 4200.00 5250.00 3150.00 3000.85 3000.85
## [2539] 3150.00 3150.00 5250.00 3000.85 3000.85 4200.00 4200.00 5250.00 3000.85
## [2548] 5250.00 4200.00 3000.85 3000.85 3000.85 3000.85 4200.00 3150.00 3000.85
## [2557] 3000.85 3150.00 4200.00 4200.00 3150.00 3000.85 3000.85 3150.00 5250.00
## [2566] 3150.00 3150.00 3000.85 3000.85 3000.85 3150.00 3150.00 5250.00 3150.00
## [2575] 5250.00 3150.00 5250.00 4200.00 3150.00 3000.85 3000.85 5250.00 5250.00
## [2584] 3000.85 3000.85 3150.00 3000.85 3000.85 3150.00 3150.00 4200.00 5250.00
## [2593] 3150.00 5250.00 5250.00 3000.85 3000.85 4200.00 3000.85 5250.00 3150.00
## [2602] 3000.85 4200.00 3000.85 3000.85 3150.00 4200.00 3000.85 3150.00 3150.00
## [2611] 3000.85 5250.00 4200.00 3000.85 3000.85 5250.00 3150.00 3000.85 3150.00
## [2620] 3000.85 5250.00 5250.00 3000.85 4200.00 4200.00 5250.00 3150.00 4200.00
## [2629] 5250.00 4200.00 4200.00 3000.85 3000.85 3150.00 3000.85 3150.00 3000.85
## [2638] 3000.85 3000.85 5250.00 4200.00 3000.85 3000.85 3000.85 3150.00 3000.85
## [2647] 3150.00 3150.00 3150.00 3150.00 4200.00 3000.85 3150.00 4200.00 3000.85
## [2656] 4200.00 5250.00 3000.85 3000.85 5250.00 3150.00 5250.00 5250.00 3000.85
## [2665] 3150.00 3000.85 3000.85 3000.85 3000.85 3000.85 3000.85 4200.00 3000.85
## [2674] 4200.00 3000.85 5250.00 3000.85 3150.00 4200.00 4200.00 3000.85 3000.85
## [2683] 4200.00 3000.85 3000.85 3000.85 3150.00 3000.85 3000.85 3150.00 3000.85
## [2692] 3000.85 4200.00 5250.00 3000.85 3000.85 5250.00 3000.85 3000.85 5250.00
## [2701] 3000.85 5250.00 3000.85 3150.00 3150.00 4200.00 5250.00 3000.85 3150.00
## [2710] 3000.85 4200.00 4200.00 5250.00 3000.85 5250.00 3000.85 3000.85 4200.00
## [2719] 4200.00 3000.85 5250.00 3000.85 5250.00 3000.85 4200.00 5250.00 3150.00
## [2728] 3150.00 5250.00 3000.85 3150.00 4200.00 3000.85 3000.85 3150.00 3000.85
## [2737] 3000.85 5250.00 3000.85 5250.00 3150.00 3000.85 4200.00 3150.00 3000.85
## [2746] 3000.85 3150.00 4200.00 3150.00 3000.85 3000.85 3000.85 3000.85 5250.00
## [2755] 3150.00 3000.85 3000.85 5250.00 5250.00 3150.00 5250.00 3000.85 4200.00
## [2764] 4200.00 3000.85 3000.85 3000.85 3150.00 3000.85 5250.00 4200.00 4200.00
## [2773] 3150.00 5250.00 5250.00 4200.00 3000.85 4200.00 3000.85 5250.00 3000.85
## [2782] 5250.00 5250.00 4200.00 3000.85 5250.00 4200.00 3000.85 3000.85 4200.00
## [2791] 3000.85 4200.00 3150.00 3000.85 3150.00 3000.85 5250.00 4200.00 3000.85
## [2800] 5250.00 3000.85 3000.85 3000.85 3150.00 4200.00 3000.85 3000.85 3000.85
## [2809] 3000.85 4200.00 5250.00 4200.00 3000.85 3000.85 4200.00 5250.00 3000.85
## [2818] 3000.85 5250.00 4200.00 3000.85 3150.00 4200.00 5250.00 5250.00 4200.00
## [2827] 4200.00 3000.85 3000.85 5250.00 4200.00 5250.00 4200.00 4200.00 3000.85
## [2836] 4200.00 4200.00 3000.85 3150.00 4200.00 3000.85 3150.00 3000.85 3000.85
## [2845] 5250.00 3000.85 4200.00 3000.85 3000.85 3000.85 3150.00 3000.85 3000.85
## [2854] 5250.00 4200.00 3000.85 3000.85 3000.85 3000.85 3150.00 3000.85 3000.85
## [2863] 4200.00 3150.00 3150.00 3000.85 5250.00 4200.00 4200.00 3150.00 5250.00
## [2872] 4200.00 3000.85 3000.85 3000.85 3150.00 3000.85 3000.85 3000.85 5250.00
## [2881] 5250.00 3000.85 3150.00 5250.00 3000.85 4200.00 5250.00 3150.00 3000.85
## [2890] 3000.85 5250.00 5250.00 3000.85 3000.85 3150.00 3000.85 3150.00 4200.00
## [2899] 3000.85 3000.85 3150.00 5250.00 4200.00 3000.85 3000.85 3000.85 3000.85
## [2908] 5250.00 5250.00 5250.00 4200.00 5250.00 3150.00 3000.85 3000.85 5250.00
## [2917] 3000.85 3000.85 3150.00 4200.00 4200.00 3000.85 3000.85 3150.00 4200.00
## [2926] 3150.00 3150.00 3150.00 3150.00 3000.85 3150.00 5250.00 4200.00 4200.00
## [2935] 3000.85 3150.00 3150.00 3000.85 3150.00 4200.00 3150.00 3000.85 3000.85
## [2944] 3000.85 3000.85 4200.00 3000.85 3000.85 3000.85 3000.85 3150.00 5250.00
## [2953] 3000.85 4200.00 3000.85 3150.00 5250.00 5250.00 3000.85 3000.85 5250.00
## [2962] 3150.00 3150.00 3000.85 3000.85 3000.85 4200.00 3000.85 3150.00 4200.00
## [2971] 3000.85 3150.00 3150.00 3150.00 3000.85 3000.85 3000.85 3150.00 5250.00
## [2980] 3000.85 4200.00 4200.00 4200.00 3000.85 3150.00 4200.00 3000.85 4200.00
## [2989] 5250.00 3000.85 3000.85 3150.00 3150.00 3000.85 4200.00 3000.85 5250.00
## [2998] 3150.00 3150.00 3150.00 3000.85 3150.00 5250.00 5250.00 3000.85 5250.00
## [3007] 3000.85 5250.00 4200.00 3000.85 3000.85 3000.85 3150.00 3150.00 3000.85
## [3016] 5250.00 3150.00 3150.00 4200.00 5250.00 3000.85 5250.00 5250.00 3150.00
## [3025] 3000.85 5250.00 5250.00 4200.00 3000.85 5250.00 3000.85 4200.00 5250.00
## [3034] 4200.00 3000.85 3000.85 3150.00 3000.85 3150.00 5250.00 3150.00 3150.00
## [3043] 3000.85 3150.00 3000.85 4200.00 4200.00 4200.00 3000.85 3000.85 3000.85
## [3052] 3150.00 5250.00 5250.00 3000.85 3000.85 5250.00 3000.85 3000.85 3000.85
## [3061] 5250.00 3000.85 4200.00 3000.85 3000.85 4200.00 4200.00 3000.85 3000.85
## [3070] 4200.00 4200.00 4200.00 3000.85 3000.85 5250.00 3150.00 5250.00 3150.00
## [3079] 5250.00 4200.00 5250.00 3150.00 3000.85 3150.00 4200.00 3000.85 3000.85
## [3088] 3000.85 5250.00 5250.00 5250.00 3000.85 4200.00 5250.00 4200.00 3000.85
## [3097] 3000.85 4200.00 3000.85 5250.00 3000.85 3000.85 5250.00 3000.85 5250.00
## [3106] 3000.85 4200.00 3150.00 3000.85 3150.00 4200.00 4200.00 3000.85 3150.00
## [3115] 3150.00 5250.00 3000.85 5250.00 5250.00 3000.85 5250.00 4200.00 3150.00
## [3124] 3000.85 5250.00 5250.00 5250.00 3150.00 3000.85 5250.00 3150.00 5250.00
## [3133] 3150.00 4200.00 3000.85 4200.00 4200.00 3000.85 3150.00 4200.00 3000.85
## [3142] 3150.00 3000.85 3000.85 5250.00 3000.85 3000.85 3150.00 3000.85 3000.85
## [3151] 4200.00 3000.85 3000.85 4200.00 3000.85 3150.00 3000.85 4200.00 3000.85
## [3160] 5250.00 3000.85 3000.85 3150.00 4200.00 5250.00 5250.00 3000.85 3000.85
## [3169] 3150.00 5250.00 3150.00 4200.00 3000.85 3000.85 4200.00 4200.00 5250.00
## [3178] 4200.00 3150.00 3150.00 3000.85 3000.85 4200.00 3000.85 3150.00 4200.00
## [3187] 5250.00 4200.00 3000.85 3000.85 4200.00 5250.00 3000.85 3150.00 3150.00
## [3196] 3000.85 4200.00 3000.85 4200.00 5250.00 4200.00 5250.00 3000.85 5250.00
## [3205] 4200.00 3150.00 3000.85 3000.85 3150.00 4200.00 4200.00 4200.00 5250.00
## [3214] 4200.00 3150.00 3150.00 4200.00 3000.85 3000.85 3150.00 3000.85 3000.85
## [3223] 5250.00 3000.85 3000.85 3000.85 3000.85 3150.00 3000.85 3150.00 4200.00
## [3232] 3150.00 3000.85 4200.00 5250.00 4200.00 5250.00 3000.85 4200.00 4200.00
## [3241] 3000.85 4200.00 3150.00 4200.00 3150.00 3150.00 3150.00 5250.00 4200.00
## [3250] 3000.85 5250.00 3000.85 5250.00 4200.00 3000.85 3000.85 4200.00 3150.00
## [3259] 4200.00 4200.00 3000.85 3150.00 5250.00 4200.00 5250.00 3000.85 5250.00
## [3268] 5250.00 3000.85 4200.00 4200.00 3150.00 5250.00 5250.00 5250.00 3000.85
## [3277] 4200.00 3150.00 4200.00 4200.00 4200.00 3150.00 5250.00 4200.00 3000.85
## [3286] 3000.85 3000.85 3000.85 3150.00 4200.00 4200.00 5250.00 3000.85 3150.00
## [3295] 3150.00 3150.00 3000.85 3150.00 3000.85 3150.00 3000.85 5250.00 3000.85
## [3304] 3000.85 4200.00 4200.00 3150.00 3000.85 5250.00 3000.85 3150.00 3000.85
## [3313] 5250.00 5250.00 4200.00 3000.85 4200.00 3000.85 5250.00 3150.00 4200.00
## [3322] 3000.85 3150.00 5250.00 3000.85 3000.85 5250.00 5250.00 3150.00 5250.00
## [3331] 3000.85 3150.00 3000.85 4200.00 3150.00 3150.00 3150.00 3000.85 4200.00
## [3340] 3000.85 3150.00 4200.00 3000.85 3000.85 3000.85 3150.00 5250.00 3000.85
## [3349] 5250.00 3000.85 4200.00 5250.00 4200.00 5250.00 3000.85 3150.00 3000.85
## [3358] 5250.00 3150.00 3000.85 3000.85 3150.00 3000.85 5250.00 3000.85 3000.85
## [3367] 3000.85 4200.00 3000.85 3150.00 3150.00 3150.00 3150.00 5250.00 4200.00
## [3376] 3150.00 5250.00 3000.85 3000.85 3150.00 4200.00 5250.00 3150.00 3000.85
## [3385] 3000.85 3150.00 4200.00 3000.85 4200.00 3150.00 4200.00 3000.85 3000.85
## [3394] 3150.00 3000.85 4200.00 3150.00 3000.85 4200.00 3000.85 3000.85 3000.85
## [3403] 5250.00 3000.85 3150.00 3150.00 3000.85 3150.00 5250.00 3000.85 5250.00
## [3412] 3000.85 5250.00 3000.85 3000.85 3000.85 5250.00 5250.00 3000.85 3000.85
## [3421] 5250.00 5250.00 3000.85 5250.00 5250.00 4200.00 5250.00 3000.85 3150.00
## [3430] 5250.00 5250.00 3150.00 3000.85 3150.00 5250.00 3000.85 3000.85 5250.00
## [3439] 3150.00 3150.00 4200.00 3000.85 5250.00 3000.85 4200.00 3000.85 3000.85
## [3448] 3000.85 5250.00 4200.00 5250.00 5250.00 5250.00 3000.85 4200.00 3000.85
## [3457] 3150.00 3000.85 3150.00 3000.85 3000.85 3000.85 4200.00 3000.85 3150.00
## [3466] 4200.00 3000.85 3000.85 3000.85 3000.85 4200.00 3000.85 3150.00 3000.85
## [3475] 5250.00 3000.85 5250.00 3150.00 3150.00 3150.00 3150.00 3000.85 3000.85
## [3484] 3000.85 3000.85 3000.85 3150.00 3000.85 3150.00 3150.00 3150.00 3000.85
## [3493] 3000.85 3000.85 3000.85 3000.85 3000.85 4200.00 5250.00 4200.00 3150.00
## [3502] 3000.85 3150.00 3000.85 5250.00 5250.00 5250.00 5250.00 5250.00 5250.00
## [3511] 3000.85 4200.00 4200.00 3000.85 4200.00 3000.85 4200.00 3150.00 3150.00
## [3520] 3150.00 3000.85 5250.00 3150.00 3000.85 5250.00 3150.00 5250.00 4200.00
## [3529] 4200.00 4200.00 3150.00 3000.85 5250.00 4200.00 4200.00 5250.00 3150.00
## [3538] 3150.00 4200.00 3150.00 3000.85 3150.00 3000.85 5250.00 4200.00 3000.85
## [3547] 3000.85 3150.00 3000.85 3000.85 3000.85 3000.85 3000.85 3000.85 3000.85
## [3556] 3000.85 3150.00 3150.00 3150.00 4200.00 3000.85 3000.85 3150.00 3150.00
## [3565] 3000.85 3150.00 3000.85 3000.85 3000.85 3150.00 3150.00 3150.00 5250.00
## [3574] 3150.00 3150.00 5250.00 5250.00 3000.85 5250.00 3000.85 5250.00 3000.85
## [3583] 3000.85 3000.85 5250.00 3150.00 3150.00 3000.85 5250.00 4200.00 3000.85
## [3592] 3000.85 3000.85 4200.00 3000.85 4200.00 3000.85 3150.00 3150.00 3000.85
## [3601] 5250.00 3000.85 4200.00 4200.00 4200.00 5250.00 3000.85 3150.00 5250.00
## [3610] 3000.85 3000.85 4200.00 4200.00 3000.85 3000.85 3000.85 3150.00 3150.00
## [3619] 3000.85 4200.00 3000.85 4200.00 5250.00 3150.00 5250.00 4200.00 5250.00
## [3628] 5250.00 3000.85 4200.00 3000.85 4200.00 3000.85 3000.85 5250.00 3000.85
## [3637] 5250.00 3000.85 3150.00 3150.00 3000.85 3000.85 3000.85 5250.00 3000.85
## [3646] 4200.00 3150.00 3000.85 3000.85 5250.00 5250.00 4200.00 3000.85 5250.00
## [3655] 3000.85 5250.00 3000.85 4200.00 3000.85 5250.00 5250.00 5250.00 4200.00
## [3664] 4200.00 4200.00 5250.00 4200.00 3000.85 3150.00 5250.00 3000.85 3150.00
## [3673] 4200.00 3000.85 4200.00 3000.85 3000.85 3000.85 5250.00 4200.00 4200.00
## [3682] 5250.00 3000.85 3000.85 4200.00 4200.00 3000.85 3000.85 3000.85 3150.00
## [3691] 3000.85 3000.85 3150.00 3150.00 5250.00 3000.85 4200.00 3000.85 3000.85
## [3700] 3150.00 4200.00 5250.00 3150.00 4200.00 3000.85 3000.85 4200.00 5250.00
## [3709] 5250.00 5250.00 4200.00 3000.85 4200.00 3150.00 4200.00 5250.00 3000.85
## [3718] 3150.00 5250.00 3000.85 5250.00 3150.00 3000.85 5250.00 4200.00 4200.00
## [3727] 3150.00 5250.00 3000.85 3150.00 5250.00 3000.85 3150.00 3000.85 3000.85
## [3736] 3150.00 4200.00 4200.00 3000.85 3000.85 3150.00 5250.00 3000.85 3000.85
## [3745] 4200.00 4200.00 4200.00 3150.00 4200.00 5250.00 3000.85 3150.00 4200.00
## [3754] 3000.85 3150.00 5250.00 4200.00 5250.00 3000.85 3000.85 3000.85 3000.85
## [3763] 3000.85 5250.00 3150.00 4200.00 3150.00 4200.00 3150.00 3000.85 3150.00
## [3772] 3000.85 5250.00 3150.00 3150.00 3000.85 3150.00 4200.00 3000.85 3150.00
## [3781] 5250.00 4200.00 3150.00 5250.00 5250.00 5250.00 5250.00 4200.00 5250.00
## [3790] 5250.00 3000.85 3150.00 4200.00 5250.00 3000.85 4200.00 4200.00 5250.00
## [3799] 4200.00 3150.00 5250.00 3000.85 4200.00 5250.00 3150.00 3000.85 3150.00
## [3808] 3000.85 3150.00 3150.00 4200.00 3000.85 3150.00 3150.00 5250.00 5250.00
## [3817] 3150.00 4200.00 3150.00 4200.00 5250.00 3000.85 5250.00 3150.00 3000.85
## [3826] 3000.85 4200.00 4200.00 5250.00 3000.85 3150.00 3000.85 4200.00 3000.85
## [3835] 3000.85 3000.85 5250.00 5250.00 3150.00 3150.00 3000.85 3150.00 4200.00
## [3844] 5250.00 5250.00 3150.00 3150.00 3000.85 5250.00 4200.00 3150.00 3000.85
## [3853] 5250.00 5250.00 3000.85 3000.85 3000.85 4200.00 3000.85 5250.00 4200.00
## [3862] 3150.00 3150.00 3000.85 3000.85 3000.85 3150.00 3000.85 4200.00 3000.85
## [3871] 4200.00 3000.85 3000.85 3000.85 5250.00 3000.85 3000.85 5250.00 5250.00
## [3880] 3150.00 4200.00 5250.00 4200.00 5250.00 3000.85 3000.85 3000.85 3000.85
## [3889] 5250.00 4200.00 3000.85 5250.00 3000.85 4200.00 4200.00 3000.85 3000.85
## [3898] 4200.00 3150.00 3000.85 3000.85 3150.00 3000.85 3150.00 3000.85 4200.00
## [3907] 3000.85 3000.85 5250.00 3000.85 3150.00 3000.85 5250.00 4200.00 4200.00
## [3916] 4200.00 4200.00 5250.00 3000.85 3150.00 3150.00 3000.85 4200.00 5250.00
## [3925] 4200.00 5250.00 3150.00 3000.85 4200.00 3000.85 3000.85 4200.00 3000.85
## [3934] 3150.00 3150.00 3000.85 3150.00 3000.85 3150.00 3150.00 3000.85 3000.85
## [3943] 3000.85 3000.85 5250.00 5250.00 3000.85 4200.00 3000.85 5250.00 5250.00
## [3952] 4200.00 3150.00 3150.00 3000.85 3000.85 4200.00 3000.85 5250.00 3150.00
## [3961] 5250.00 4200.00 4200.00 5250.00 3000.85 3000.85 3000.85 3150.00 3000.85
## [3970] 3150.00 3000.85 5250.00 4200.00 5250.00 3000.85 3150.00 4200.00 3000.85
## [3979] 3000.85 3000.85 5250.00 5250.00 5250.00 4200.00 3150.00 3000.85 3150.00
## [3988] 3000.85 3000.85 3000.85 4200.00 4200.00 3150.00 3000.85 3000.85 3150.00
## [3997] 3000.85 3000.85 3150.00 3000.85 3000.85 3150.00 3000.85 5250.00 5250.00
## [4006] 3150.00 3000.85 5250.00 4200.00 5250.00 4200.00 3000.85 5250.00 3000.85
## [4015] 3000.85 3000.85 4200.00 4200.00 4200.00 5250.00 5250.00 5250.00 3000.85
## [4024] 5250.00 3000.85 5250.00 4200.00 5250.00 4200.00 3000.85 3000.85 4200.00
## [4033] 3000.85 4200.00 4200.00 4200.00 4200.00 3000.85 3000.85 3150.00 3000.85
## [4042] 3000.85 3000.85 3000.85 3150.00 4200.00 5250.00 3000.85 5250.00 3150.00
## [4051] 3000.85 3000.85 3000.85 5250.00 3000.85 3000.85 3150.00 3000.85 4200.00
## [4060] 4200.00 3150.00 4200.00 3000.85 3000.85 3000.85 5250.00 3000.85 3000.85
## [4069] 4200.00 3150.00 3000.85 3000.85 5250.00 5250.00 5250.00 3150.00 5250.00
## [4078] 5250.00 5250.00 5250.00 3000.85 3000.85 3150.00 3150.00 3000.85 3150.00
## [4087] 5250.00 3000.85 3150.00 5250.00 3150.00 4200.00 3000.85 3000.85 3000.85
## [4096] 3000.85 3000.85 4200.00 3000.85 3150.00 3150.00 3000.85 3000.85 5250.00
## [4105] 5250.00 5250.00 3000.85 3000.85 3000.85 3150.00 5250.00 3150.00 3000.85
## [4114] 3150.00 3000.85 3150.00 4200.00 4200.00 5250.00 3150.00 3000.85 5250.00
## [4123] 4200.00 3150.00 3000.85 3000.85 4200.00 4200.00 4200.00 3000.85 3150.00
## [4132] 5250.00 3150.00 3000.85 4200.00 3000.85 3000.85 5250.00 5250.00 3000.85
## [4141] 4200.00 3000.85 3150.00 3000.85 5250.00 3000.85 3000.85 5250.00 3000.85
## [4150] 4200.00 5250.00 3000.85 3000.85 3000.85 3000.85 3000.85 3000.85 3000.85
## [4159] 3150.00 3000.85 5250.00 4200.00 3000.85 5250.00 3150.00 3150.00 3000.85
## [4168] 5250.00 4200.00 3000.85 4200.00 3150.00 3150.00 3000.85 5250.00 3150.00
## [4177] 5250.00 3000.85 3000.85 3000.85 5250.00 3000.85 3000.85 3150.00 3150.00
## [4186] 3000.85 4200.00 5250.00 3150.00 5250.00 3150.00 3150.00 3000.85 3150.00
## [4195] 3000.85 4200.00 3000.85 3000.85 3150.00 4200.00 3000.85 3000.85 3000.85
## [4204] 5250.00 5250.00 4200.00 3000.85 4200.00 3000.85 3000.85 3000.85 4200.00
## [4213] 3000.85 3150.00 4200.00 4200.00 4200.00 3000.85 3000.85 3000.85 3000.85
## [4222] 3000.85 5250.00 3000.85 3150.00 5250.00 3150.00 3000.85 3150.00 4200.00
## [4231] 3000.85 3000.85 4200.00 3000.85 5250.00 3000.85 5250.00 4200.00 4200.00
## [4240] 3000.85 5250.00 3000.85 5250.00 4200.00 3000.85 4200.00 5250.00 4200.00
## [4249] 3000.85 3000.85 3150.00 3000.85 3000.85 3000.85 4200.00 5250.00 5250.00
## [4258] 3000.85 3000.85 5250.00 3000.85 3000.85 4200.00 3000.85 3000.85 4200.00
## [4267] 5250.00 3150.00 5250.00 4200.00 5250.00 3150.00 3000.85 3000.85 3000.85
## [4276] 3150.00 4200.00 3150.00 5250.00 4200.00 3000.85 3150.00 3000.85 3000.85
## [4285] 3000.85 4200.00 3000.85 3000.85 3000.85 3150.00 3150.00 3000.85 3150.00
## [4294] 3150.00 3150.00 3000.85 3150.00 3000.85 3000.85 5250.00 5250.00 5250.00
## [4303] 5250.00 3000.85 5250.00 4200.00 5250.00 5250.00 3000.85 4200.00 5250.00
## [4312] 4200.00 3000.85 4200.00 3000.85 3150.00 3000.85 4200.00 3150.00 3000.85
## [4321] 4200.00 5250.00 3150.00 4200.00 4200.00 4200.00 3150.00 3000.85 3150.00
## [4330] 4200.00 3150.00 5250.00 5250.00 4200.00 3000.85 4200.00 4200.00 3000.85
## [4339] 3000.85 4200.00 5250.00 3000.85 3000.85 5250.00 4200.00 3150.00 3000.85
## [4348] 3000.85 5250.00 4200.00 3000.85 3000.85 4200.00 3150.00 4200.00 3000.85
## [4357] 5250.00 3000.85 3000.85 3000.85 3000.85 5250.00 3000.85 3000.85 5250.00
## [4366] 5250.00 3150.00 4200.00 5250.00 3150.00 3150.00 4200.00 3000.85 3000.85
## [4375] 4200.00 3000.85 3000.85 3150.00 3150.00 3000.85 5250.00 3000.85 3000.85
## [4384] 3000.85 5250.00 4200.00 3000.85 3000.85 5250.00 3000.85 3150.00 4200.00
## [4393] 3000.85 5250.00 4200.00 3150.00 4200.00 4200.00 5250.00 3000.85 3000.85
## [4402] 3000.85 5250.00 4200.00 3150.00 5250.00 3000.85 3000.85 5250.00 3000.85
## [4411] 3150.00 3150.00 5250.00 4200.00 3150.00 3000.85 4200.00 4200.00 3000.85
## [4420] 3000.85 3000.85 5250.00 5250.00 3150.00 4200.00 3000.85 4200.00 3000.85
## [4429] 3150.00 3000.85 3000.85 4200.00 3000.85 3000.85 3000.85 3150.00 3000.85
## [4438] 3150.00 5250.00 4200.00 3150.00 3000.85 3000.85 3000.85 5250.00 5250.00
## [4447] 4200.00 5250.00 3000.85 4200.00 3000.85 4200.00 3000.85 3000.85 3150.00
## [4456] 4200.00 4200.00 5250.00 3000.85 3150.00 3000.85 5250.00 5250.00 4200.00
## [4465] 3000.85 3150.00 3150.00 3000.85 5250.00 3150.00 3000.85 4200.00 3000.85
## [4474] 3000.85 4200.00 3000.85 3000.85 3150.00 5250.00 4200.00 4200.00 3150.00
## [4483] 5250.00 5250.00 3000.85 5250.00 3150.00 3000.85 3000.85 3150.00 3000.85
## [4492] 3000.85 4200.00 3000.85 3000.85 4200.00 3150.00 4200.00 3000.85 5250.00
## [4501] 3000.85 3000.85 3150.00 5250.00 4200.00 3150.00 3150.00 5250.00 3150.00
## [4510] 4200.00 3000.85 3150.00 3150.00 4200.00 3150.00 4200.00 3150.00 3000.85
## [4519] 4200.00 5250.00 5250.00 3000.85 3000.85 3000.85 3000.85 3000.85 4200.00
## [4528] 4200.00 4200.00 5250.00 3000.85 3000.85 3000.85 5250.00 3000.85 4200.00
## [4537] 3000.85 4200.00 5250.00 3000.85 3000.85 5250.00 3150.00 3150.00 3000.85
## [4546] 5250.00 3000.85 3150.00 5250.00 3000.85 4200.00 5250.00 3000.85 5250.00
## [4555] 3000.85 3000.85 5250.00 4200.00 3000.85 5250.00 4200.00 3150.00 3000.85
## [4564] 3150.00 3000.85 3000.85 3000.85 3000.85 3150.00 5250.00 4200.00 3150.00
## [4573] 4200.00 4200.00 3150.00 3150.00 3000.85 3000.85 5250.00 3150.00 3000.85
## [4582] 3000.85 3000.85 3000.85 3000.85 3150.00 3000.85 5250.00 3000.85 3150.00
## [4591] 3000.85 5250.00 3000.85 3150.00 4200.00 4200.00 4200.00 5250.00 3000.85
## [4600] 3000.85 3000.85 3000.85 3150.00 3150.00 5250.00 5250.00 3000.85 5250.00
## [4609] 4200.00 3000.85 3150.00 5250.00 4200.00 3000.85 3000.85 3150.00 4200.00
## [4618] 3000.85 3000.85 5250.00 3150.00 3150.00 4200.00 3000.85 3150.00 5250.00
## [4627] 3000.85 3000.85 3000.85 3000.85 4200.00 3000.85 4200.00 3150.00 4200.00
## [4636] 5250.00 4200.00 3000.85 3000.85 4200.00 4200.00 4200.00 3000.85 5250.00
## [4645] 5250.00 4200.00 5250.00 3000.85 3000.85 4200.00 3150.00 4200.00 4200.00
## [4654] 4200.00 4200.00 3000.85 5250.00 4200.00 5250.00 4200.00 5250.00 3000.85
## [4663] 3000.85 3150.00 3150.00 3000.85 3150.00 4200.00 4200.00 4200.00 4200.00
## [4672] 3000.85 3000.85 3000.85 4200.00 3000.85 3150.00 3150.00 4200.00 3000.85
## [4681] 3150.00 4200.00 5250.00 4200.00 3000.85 3150.00 4200.00 5250.00 4200.00
## [4690] 3000.85 3000.85 5250.00 3150.00 3150.00 3150.00 3000.85 3000.85 3000.85
## [4699] 3150.00 3000.85 3000.85 5250.00 4200.00 3000.85 5250.00 5250.00 3150.00
## [4708] 3000.85 3000.85 5250.00 3000.85 4200.00 3000.85 4200.00 4200.00 5250.00
## [4717] 5250.00 5250.00 3000.85 4200.00 5250.00 4200.00 4200.00 5250.00 5250.00
## [4726] 5250.00 3000.85 3000.85 3000.85 5250.00 3150.00 3000.85 4200.00 3000.85
## [4735] 3000.85 5250.00 3150.00 3150.00 5250.00 3000.85 3000.85 3150.00 3000.85
## [4744] 4200.00 3150.00 4200.00 3150.00 3150.00 3150.00 3150.00 4200.00 5250.00
## [4753] 4200.00 3000.85 5250.00 3000.85 3000.85 5250.00 5250.00 3150.00 4200.00
## [4762] 3000.85 5250.00 3150.00 4200.00 3000.85 5250.00 5250.00 3150.00 5250.00
## [4771] 3000.85 3150.00 3000.85 3000.85 3000.85 3150.00 3000.85 5250.00 4200.00
## [4780] 3000.85 4200.00 4200.00 3000.85 4200.00 3000.85 3000.85 5250.00 3000.85
## [4789] 4200.00 3000.85 3150.00 3000.85 5250.00 5250.00 3000.85 3150.00 4200.00
## [4798] 5250.00 3000.85 3000.85 3150.00 3000.85 3000.85 3000.85 4200.00 5250.00
## [4807] 3150.00 4200.00 3000.85 3000.85 5250.00 5250.00 3000.85 5250.00 5250.00
## [4816] 3150.00 3000.85 3150.00 3000.85 5250.00 3150.00 3000.85 3000.85 5250.00
## [4825] 3150.00 3150.00 4200.00 3000.85 3000.85 3000.85 3000.85 5250.00 4200.00
## [4834] 5250.00 3000.85 3150.00 3000.85 3150.00 3150.00 3150.00 3000.85 4200.00
## [4843] 4200.00 3000.85 3000.85 3000.85 3150.00 5250.00 3150.00 3000.85 3150.00
## [4852] 3000.85 3000.85 4200.00 4200.00 5250.00 3150.00 4200.00 3000.85 4200.00
## [4861] 4200.00 3000.85 5250.00 5250.00 3000.85 3000.85 5250.00 3000.85 3000.85
## [4870] 4200.00 3000.85 3150.00 3150.00 3000.85 3000.85 3000.85 3150.00 4200.00
## [4879] 3150.00 4200.00 3000.85 5250.00 4200.00 5250.00 3150.00 4200.00 3150.00
## [4888] 5250.00 4200.00 3000.85 3000.85 4200.00 3000.85 3000.85 3000.85 3000.85
## [4897] 4200.00 4200.00 5250.00 3000.85 4200.00 3000.85 3000.85 3000.85 3150.00
## [4906] 3150.00 3000.85 3000.85 3000.85 5250.00 5250.00 3000.85 3150.00 4200.00
## [4915] 5250.00 3000.85 3000.85 3000.85 3000.85 3150.00 4200.00 3150.00 3000.85
## [4924] 3150.00 3000.85 3000.85 4200.00 4200.00 3150.00 3000.85 3000.85 3000.85
## [4933] 5250.00 3000.85 3150.00 3150.00 4200.00 3150.00 3000.85 5250.00 3150.00
## [4942] 5250.00 3000.85 3150.00 5250.00 3000.85 3150.00 5250.00 3000.85 3150.00
## [4951] 3150.00 3000.85 4200.00 3000.85 3150.00 3000.85 3150.00 5250.00 4200.00
## [4960] 3000.85 3000.85 5250.00 3000.85 3000.85 3150.00 5250.00 3150.00 3000.85
## [4969] 3000.85 3000.85 3000.85 4200.00 3000.85 3000.85 3150.00 5250.00 3000.85
## [4978] 4200.00 4200.00 3000.85 3000.85 5250.00 4200.00 4200.00 3150.00 3000.85
## [4987] 3000.85 5250.00 3150.00 3000.85 5250.00 3150.00 3000.85 4200.00 4200.00
## [4996] 3000.85 3000.85 5250.00 3150.00 3000.85 3000.85 4200.00 3000.85 4200.00
## [5005] 3000.85 4200.00 4200.00 3000.85 3150.00 4200.00 5250.00 4200.00 4200.00
## [5014] 3150.00 3150.00 3000.85 3000.85 3000.85 3000.85 3000.85 3150.00 3150.00
## [5023] 3150.00 4200.00
#Handling Outliers using Capping
cap_outliers <- function(x) {
  Q1 <- quantile(x, 0.25, na.rm = TRUE)
  Q3 <- quantile(x, 0.75, na.rm = TRUE)
  IQR <- Q3 - Q1
  lower <- Q1 - 1.5 * IQR
  upper <- Q3 + 1.5 * IQR
  
  x <- ifelse(x < lower, lower, x)
  x <- ifelse(x > upper, upper, x)
  
  return(x)
}

data$Price_capped <- NULL

# Apply capping
data$Price_capped <- cap_outliers(data$price)

price_capped_outliers <- boxplot.stats(data$Price_capped)$out
price_capped_outliers
## numeric(0)
colnames(data)
##  [1] "invoice_no"     "customer_id"    "gender"         "age"           
##  [5] "category"       "quantity"       "price"          "payment_method"
##  [9] "invoice_date"   "shopping_mall"  "Price_capped"
head(data)
##   invoice_no customer_id gender age category quantity   price payment_method
## 1    I138884     C241288 Female  28 Clothing        5 1500.40    Credit Card
## 2    I317333     C111565   Male  21    Shoes        3 1800.51     Debit Card
## 3    I127801     C266599   Male  20 Clothing        1  300.08           Cash
## 4    I173702     C988172 Female  66    Shoes        5 3000.85    Credit Card
## 5    I337046     C189076 Female  53    Books        4   60.60           Cash
## 6    I227836     C657758 Female  28 Clothing        5 1500.40    Credit Card
##   invoice_date  shopping_mall Price_capped
## 1     5/8/2022         Kanyon     1500.400
## 2   12/12/2021 Forum Istanbul     1800.510
## 3    9/11/2021      Metrocity      300.080
## 4   16/05/2021   Metropol AVM     2932.625
## 5   24/10/2021         Kanyon       60.600
## 6   24/05/2022 Forum Istanbul     1500.400

Q4 — Are there any duplicate records in the dataset? Remove them.

# Q4: Detect duplicate records
num_duplicates <- sum(duplicated(data))
num_duplicates
## [1] 0

##Q5 — Apply Min–Max Normalization to All Numeric Variables

# Function for Min–Max
minmax <- function(x) {
  return((x - min(x)) / (max(x) - min(x)))
}

# Identify numeric columns
num_cols <- sapply(data, is.numeric)

# Create a new normalized dataset
normalized_data <- data
normalized_data[num_cols] <- lapply(data[num_cols], minmax)
# Show before and after for comparison
head(data[num_cols])
##   age quantity   price Price_capped
## 1  28        5 1500.40     1500.400
## 2  21        3 1800.51     1800.510
## 3  20        1  300.08      300.080
## 4  66        5 3000.85     2932.625
## 5  53        4   60.60       60.600
## 6  28        5 1500.40     1500.400
head(normalized_data[num_cols])
##          age quantity      price Price_capped
## 1 0.19607843     1.00 0.28507828   0.51075103
## 2 0.05882353     0.50 0.34229909   0.61326879
## 3 0.03921569     0.00 0.05621791   0.10072095
## 4 0.94117647     1.00 0.57116327   1.00000000
## 5 0.68627451     0.75 0.01055718   0.01891443
## 6 0.19607843     1.00 0.28507828   0.51075103

Q6. Compute mean, median, mode, range, variance, and standard deviation for:

Quantity Price

# Function to compute mode
get_mode <- function(x) {
  ux <- unique(x)
  ux[which.max(tabulate(match(x, ux)))]
}

# Quantity stats
cat("Mean:", mean(data$quantity), "\n")
## Mean: 3.003429
cat("Median:", median(data$quantity), "\n")
## Median: 3
cat("Mode:", get_mode(data$quantity), "\n")
## Mode: 3
cat("Variance:", var(data$quantity), "\n")
## Variance: 1.99664
cat("Standard Deviation:", sd(data$quantity), "\n\n")
## Standard Deviation: 1.413025
# Price stats
cat("Mean:", mean(data$price), "\n")
## Mean: 689.2563
cat("Median:", median(data$price), "\n")
## Median: 203.3
cat("Mode:", get_mode(data$price), "\n")
## Mode: 600.16
cat("Variance:", var(data$price), "\n")
## Variance: 885828.4
cat("Standard Deviation:", sd(data$price), "\n")
## Standard Deviation: 941.1846

Q7 — What is the distribution of Quantity purchased?

library(ggplot2)
ggplot(data, aes(x = quantity)) +
  geom_histogram(bins = 5, fill = "skyblue", color = "black") +
  theme_minimal() +
  labs(
    title = "Distribution of Quantity Purchased",
    x = "Quantity",
    y = "Frequency"
  )

Q8 — Are there outliers in Quantity or Price?

ggplot(data, aes(y = quantity)) +
  geom_boxplot(fill = "orange", alpha = 0.7, color = "black") +
  labs(title = "Boxplot of Quantity",
       y = "Quantity") +
  theme_minimal()

ggplot(data, aes(y = Price_capped)) +
  geom_boxplot(fill = "skyblue", alpha = 0.7, color = "black") +
  labs(title = "Boxplot of Price",
       y = "Price") +
  theme_minimal()

Q9. Does Quantity increase with Price? (Scatter plot + interpretation)

ggplot(data, aes(x = quantity, y = Price_capped)) +
  geom_point(alpha = 0.7) +
  geom_smooth(method = "lm", se = FALSE, color = "red") +
  labs(title = "Scatter Plot of Quantity vs Price",
       x = "Quantity Purchased",
       y = "Price") +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

The scatter plot shows the relationship between Quantity purchased and Price. The plotted points do not form a strong upward linear pattern, and based on correlation analysis, the relationship between Quantity and Price is likely weak or close to zero. This suggests that products with higher quantities are not necessarily priced higher, meaning customers may be purchasing both cheap and expensive products in varying quantities that do not show a direct linear relationship.

cor(data$quantity, data$Price_capped, use = "complete.obs")
## [1] 0.3521133

Correlation Value Interpretation 0 to ±0.2 Very weak / no relationship ±0.21 to ±0.4 Weak ±0.41 to ±0.6 Moderate > ±0.6 Strong

Quantity does not significantly increase with Price, meaning pricing does not drive quantity purchased in a linear manner.

10. Create a correlation heatmap of numerical variables and interpret any strong relationships

library(dplyr)
## 
## 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(reshape2)
# Select only numerical columns (Price & Quantity)
numeric_df <- data %>% select(quantity, Price_capped)

# Convert to numeric (if needed)
numeric_df$quantity <- as.numeric(numeric_df$quantity)
numeric_df$Price_capped<- as.numeric(numeric_df$Price_capped)

# Create correlation matrix
corr_matrix <- cor(numeric_df, use = "complete.obs")

# Melt matrix for heatmap
corr_melt <- melt(corr_matrix)

# Plot heatmap
ggplot(corr_melt, aes(x = Var1, y = Var2, fill = value)) +
  geom_tile(color = "black") +
  geom_text(aes(label = round(value, 2)), size = 4) +
  scale_fill_gradient2(low = "red", mid = "white", high = "green",
                       midpoint = 0, limit = c(-1,1)) +
  labs(title = "Correlation Heatmap of Quantity and Price",
       x = "Variables", y = "Variables", fill = "Correlation") +
  theme_minimal()

A value close to +1 = strong positive correlation A value close to -1 = strong negative correlation A value near 0 = no strong relationship

Expected result: near 0, meaning Quantity does not depend on Price.

PHASE 3 — STATISTICAL MODELING & MACHINE LEARNING

Q11. Build a simple linear regression model to predict Price from Quantity.

# Build linear regression model
model <- lm(Price_capped ~ quantity, data = data)

# Display model summary
summary(model)
## 
## Call:
## lm(formula = Price_capped ~ quantity, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1020.1  -603.5  -210.9   352.8  2283.7 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   52.960      5.558   9.529   <2e-16 ***
## quantity     198.650      1.674 118.642   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 746.1 on 99455 degrees of freedom
## Multiple R-squared:  0.124,  Adjusted R-squared:  0.124 
## F-statistic: 1.408e+04 on 1 and 99455 DF,  p-value: < 2.2e-16
# Scatter plot with regression line
ggplot(data, aes(x = quantity, y = Price_capped)) +
  geom_point(alpha = 0.7) +
  geom_smooth(method = "lm", se = FALSE, color = "red") +
  labs(title = "Linear Regression: Quantity vs Price (Capped)",
       x = "Quantity",
       y = "Price (Capped)") +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

The linear regression model shows a positive but weak relationship between Quantity and Price. This means customers buying more items tend to spend slightly more, but the increase is not very strong. The R-squared value is low, indicating that Quantity alone is not a good predictor of price, and other factors (e.g., product type, discount, brand, store section) may influence pricing decisions. Therefore, the model is not strong and is not suitable for accurate price prediction.

ANOVA

Q12. Use ANOVA to test whether average spending (Price) differs between genders.

# Ensure correct data types
data$gender <- as.factor(data$gender)
data$Price_capped <- as.numeric(data$Price_capped)

# Perform ANOVA
anova_model <- aov(Price_capped ~ gender, data = data)

# Show results
summary(anova_model)
##                Df    Sum Sq Mean Sq F value Pr(>F)
## gender          1 2.926e+05  292561    0.46  0.497
## Residuals   99455 6.320e+10  635498
# Group means (for interpretation)
aggregate(Price_capped ~ gender, data = data, mean)
##   gender Price_capped
## 1 Female     648.1849
## 2   Male     651.6830
# Calculate group mean
gender_mean <- aggregate(Price_capped ~ gender, data, mean)

# Plot means
ggplot(gender_mean, aes(x = gender, y = Price_capped, fill = gender)) +
  geom_bar(stat = "identity", alpha = 0.7, color = "black") +
  labs(title = "Average Spending by Gender (Mean Comparison)",
       x = "Gender",
       y = "Average Price (Capped)") +
  theme_minimal()

The ANOVA test compares mean Price_capped between Male and Female customers. The resulting p-value is 0.497, which is greater than 0.05, indicating that the difference in spending is not statistically significant. Therefore, gender does not play a significant role in predicting purchase spending.

Male and female customers spend nearly similar amounts on average. Marketing decisions should not be based purely on gender for pricing or promotions.

K-Means Clustering

Q13. Using Quantity and Price (normalized), perform K-Means clustering.

# Select required columns
df_cluster <- data[, c("quantity", "Price_capped")]

# Normalize using scale()
df_scaled <- scale(df_cluster)
set.seed(123)
wss <- vector()

for (k in 1:10) {
  kmeans_model <- kmeans(df_scaled, centers = k, nstart = 20)
  wss[k] <- kmeans_model$tot.withinss
}

# Plot Elbow Curve
plot(1:10, wss, type = "b", pch = 19,
     xlab = "Number of Clusters (k)",
     ylab = "Within-Cluster Sum of Squares",
     main = "Elbow Method for Optimal K")

set.seed(123)
k <- 3    
# Replace if elbow suggests 2 or 4
final_model <- kmeans(df_scaled, centers = k, nstart = 25)

# Add cluster labels to original data
data$Cluster <- as.factor(final_model$cluster)
library(ggplot2)

ggplot(data, aes(x = quantity, y = Price_capped, color = Cluster)) +
  geom_point(alpha = 0.7, size = 3) +
  labs(title = "K-Means Clustering Result (Quantity vs Price)",
       x = "Quantity",
       y = "Price (Capped)") +
  theme_minimal()

aggregate(df_cluster, by = list(Cluster = data$Cluster), mean)
##   Cluster quantity Price_capped
## 1       1 1.487835     300.0806
## 2       2 4.206962    1842.7543
## 3       3 3.808358     245.4082

Cluster 1 represents customers who purchase fewer items and spend less, possibly budget-conscious shoppers. Cluster 2 represents average basket shoppers. Cluster 3 represents high-value customers (target for loyalty & premium offers).

KNN Classification

Q14. Use KNN to predict customer Gender based on numeric variables.

## Load libraries
library(class)
library(caret)
## Loading required package: lattice
library(e1071)
## 
## Attaching package: 'e1071'
## The following object is masked from 'package:ggplot2':
## 
##     element
# STEP 1: Prepare dataset (only needed columns)
df_knn <- data[, c("gender", "quantity", "Price_capped")]

# STEP 2: Remove rows with missing values
df_knn <- na.omit(df_knn)

# STEP 3: Convert target variable to factor
df_knn$gender <- as.factor(df_knn$gender)

# STEP 4: Train-Test Split (80%-20%)
set.seed(123)
index <- createDataPartition(df_knn$gender, p = 0.8, list = FALSE)

train <- df_knn[index, ]
test  <- df_knn[-index, ]

# STEP 5: Scale only numeric columns inside train/test separately
#train_scaled <- scale(train[, c("quantity", "Price_capped")])
#test_scaled  <- scale(test[, c("quantity", "Price_capped")])
train_scaled <- scale(train[, c("quantity", "Price_capped")]) + jitter(rep(0, nrow(train)), amount = 0.0001)
test_scaled  <- scale(test[, c("quantity", "Price_capped")]) + jitter(rep(0, nrow(test)), amount = 0.0001)


# STEP 6: Extract labels
train_labels <- train$gender
test_labels  <- test$gender

# STEP 7: Select k (sqrt rule)
k <- 5

# STEP 8: Run KNN
pred <- knn(train = train_scaled,
            test = test_scaled,
            cl = train_labels,
            k = k)

# STEP 9: Model evaluation
confusionMatrix(pred, test_labels)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction Female  Male
##     Female  10304  6983
##     Male     1592  1012
##                                          
##                Accuracy : 0.5689         
##                  95% CI : (0.562, 0.5758)
##     No Information Rate : 0.5981         
##     P-Value [Acc > NIR] : 1              
##                                          
##                   Kappa : -0.0081        
##                                          
##  Mcnemar's Test P-Value : <2e-16         
##                                          
##             Sensitivity : 0.8662         
##             Specificity : 0.1266         
##          Pos Pred Value : 0.5961         
##          Neg Pred Value : 0.3886         
##              Prevalence : 0.5981         
##          Detection Rate : 0.5180         
##    Detection Prevalence : 0.8691         
##       Balanced Accuracy : 0.4964         
##                                          
##        'Positive' Class : Female         
## 
install.packages("kknn")
## The following package(s) will be installed:
## - kknn [1.4.1]
## These packages will be installed into "C:/Users/VICTUS/OneDrive/Desktop/Data science/R33/renv/library/windows/R-4.4/x86_64-w64-mingw32".
## 
## # Installing packages --------------------------------------------------------
## - Installing kknn ...                           OK [linked from cache]
## Successfully installed 1 package in 87 milliseconds.
library(kknn)
## 
## Attaching package: 'kknn'
## The following object is masked from 'package:caret':
## 
##     contr.dummy
model <- kknn(gender ~ quantity + Price_capped, train, test, k = 5)
pred <- fitted(model)

confusionMatrix(pred, test_labels)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction Female Male
##     Female   7305 4852
##     Male     4591 3143
##                                           
##                Accuracy : 0.5253          
##                  95% CI : (0.5183, 0.5322)
##     No Information Rate : 0.5981          
##     P-Value [Acc > NIR] : 1.00000         
##                                           
##                   Kappa : 0.0072          
##                                           
##  Mcnemar's Test P-Value : 0.00746         
##                                           
##             Sensitivity : 0.6141          
##             Specificity : 0.3931          
##          Pos Pred Value : 0.6009          
##          Neg Pred Value : 0.4064          
##              Prevalence : 0.5981          
##          Detection Rate : 0.3673          
##    Detection Prevalence : 0.6112          
##       Balanced Accuracy : 0.5036          
##                                           
##        'Positive' Class : Female          
## 

A K-Nearest Neighbors (KNN) classification model was built using Quantity and Price_capped as independent variables to predict customer Gender. The dataset was split into 80% training and 20% testing, and feature scaling was applied before model training. The model performance was evaluated using confusion matrix and accuracy score.

Accuracy = 52.53% This means the model correctly predicts gender only a little better than random guessing (50%).

PHASE 4 — ASSOCIATION RULE MINING & INSIGHTS

Q15. Convert transaction data into a transaction format (CustomerID → items).

library(arules)
## Loading required package: Matrix
## 
## Attaching package: 'arules'
## The following object is masked from 'package:dplyr':
## 
##     recode
## The following objects are masked from 'package:base':
## 
##     abbreviate, write
# Convert to list: Each CustomerID → vector of items purchased
transaction_list <- split(data$category, data$customer_id)

# Convert list to transactions object
transactions <- as(transaction_list, "transactions")

# Summary of transactions
summary(transactions)
## transactions as itemMatrix in sparse format with
##  99457 rows (elements/itemsets/transactions) and
##  8 columns (items) and a density of 0.125 
## 
## most frequent items:
##        Clothing       Cosmetics Food & Beverage            Toys           Shoes 
##           34487           15097           14776           10087           10034 
##         (Other) 
##           14976 
## 
## element (itemset/transaction) length distribution:
## sizes
##     1 
## 99457 
## 
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##       1       1       1       1       1       1 
## 
## includes extended item information - examples:
##      labels
## 1     Books
## 2  Clothing
## 3 Cosmetics
## 
## includes extended transaction information - examples:
##   transactionID
## 1       C100004
## 2       C100005
## 3       C100006
# View first few transactions
inspect(head(transactions, 5))
##     items             transactionID
## [1] {Clothing}        C100004      
## [2] {Shoes}           C100005      
## [3] {Toys}            C100006      
## [4] {Food & Beverage} C100012      
## [5] {Toys}            C100019

The dataset was transformed into a transaction format by grouping items purchased by each customer. This structure is essential for performing market basket analysis using the Apriori algorithm.

Q16 — Generate Association Rules Using the Apriori Algorithm

library(arules)

# Run Apriori Algorithm
rules <- apriori(
  transactions,
  parameter = list(
    supp = 0.05,     # minimum support = 1%
    conf = 0.3       # minimum confidence = 50%
  )
)
## Apriori
## 
## Parameter specification:
##  confidence minval smax arem  aval originalSupport maxtime support minlen
##         0.3    0.1    1 none FALSE            TRUE       5    0.05      1
##  maxlen target  ext
##      10  rules TRUE
## 
## Algorithmic control:
##  filter tree heap memopt load sort verbose
##     0.1 TRUE TRUE  FALSE TRUE    2    TRUE
## 
## Absolute minimum support count: 4972 
## 
## set item appearances ...[0 item(s)] done [0.00s].
## set transactions ...[8 item(s), 99457 transaction(s)] done [0.02s].
## sorting and recoding items ... [8 item(s)] done [0.00s].
## creating transaction tree ... done [0.05s].
## checking subsets of size 1 done [0.00s].
## writing ... [1 rule(s)] done [0.00s].
## creating S4 object  ... done [0.00s].
# View summary of rules
summary(rules)
## set of 1 rules
## 
## rule length distribution (lhs + rhs):sizes
## 1 
## 1 
## 
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##       1       1       1       1       1       1 
## 
## summary of quality measures:
##     support         confidence        coverage      lift       count      
##  Min.   :0.3468   Min.   :0.3468   Min.   :1   Min.   :1   Min.   :34487  
##  1st Qu.:0.3468   1st Qu.:0.3468   1st Qu.:1   1st Qu.:1   1st Qu.:34487  
##  Median :0.3468   Median :0.3468   Median :1   Median :1   Median :34487  
##  Mean   :0.3468   Mean   :0.3468   Mean   :1   Mean   :1   Mean   :34487  
##  3rd Qu.:0.3468   3rd Qu.:0.3468   3rd Qu.:1   3rd Qu.:1   3rd Qu.:34487  
##  Max.   :0.3468   Max.   :0.3468   Max.   :1   Max.   :1   Max.   :34487  
## 
## mining info:
##          data ntransactions support confidence
##  transactions         99457    0.05        0.3
##                                                                     call
##  apriori(data = transactions, parameter = list(supp = 0.05, conf = 0.3))
# Inspect first few rules
inspect(head(rules, 10))
##     lhs    rhs        support   confidence coverage lift count
## [1] {}  => {Clothing} 0.3467529 0.3467529  1        1    34487
length(rules)
## [1] 1

“Association Rule Mining was performed using the Apriori algorithm. After converting the dataset into transaction format, the algorithm produced only one rule:

{} → {Clothing}

This rule is not a meaningful association; it simply indicates that Clothing appears in 34.67% of all transactions. The main reason for the lack of valid rules is that the dataset contains single-item transactions, meaning that customers usually purchase only one product category at a time. Since Apriori requires multiple items within a single basket to form associations, the algorithm could not generate any useful product–product relationships.

Therefore, association rule mining is not suitable for this dataset without restructuring or combining transactions.”

Q17. What are the strongest rules?

Only one rule was generated by the Apriori algorithm, but it is not a true association rule. It simply indicates that the “Clothing” category is the most frequent product category in the dataset.

Because the dataset contains single-item purchases, the algorithm cannot detect any meaningful relationships between products. As a result, there are no strong or actionable association rules in this dataset.

# Select numeric features for clustering
X <- data %>% select(quantity,Price_capped )

# Scale the data (important for k-means)
X_scaled <- scale(X)

# Run K-means with 3 clusters
set.seed(123)
kmeans_model <- kmeans(X_scaled, centers = 3, nstart = 25)

# Add cluster labels to dataframe
data$cluster <- kmeans_model$cluster

# Compute average spending per cluster
cluster_summary <- data %>%
  group_by(cluster) %>%
  summarise(
    avg_total_sales = mean(Price_capped),
    count = n()
  ) %>%
  arrange(desc(avg_total_sales))

print(cluster_summary)
## # A tibble: 3 × 3
##   cluster avg_total_sales count
##     <int>           <dbl> <int>
## 1       2           1843. 23845
## 2       1            300. 38595
## 3       3            245. 37017

Q18. Which customer segment (via clustering) spends the most?

library(dplyr)
library(ggplot2)
library(ggrepel)


data$Cluster <- as.factor(data$Cluster)

hulls <- data %>%
  group_by(Cluster) %>%
  slice(chull(quantity, Price_capped))

center <- data %>%
  group_by(Cluster) %>%
  summarise(
    quantity = mean(quantity),
    Price_capped = mean(Price_capped)
  )

ggplot(data, aes(x = quantity, y = Price_capped, color = Cluster)) +
  geom_point(size = 3) +
  
  # convex hull boundaries
  geom_polygon(
    data = hulls,
    aes(x = quantity, y = Price_capped, fill = Cluster, group = Cluster),
    alpha = 0.2,
    color = "black"
  ) +
  
  # centroids
  geom_point(
    data = center,
    aes(x = quantity, y = Price_capped),
    color = "black",
    size = 7,
    shape = 8
  ) +
  
  # centroid labels
  geom_text_repel(
    data = center,
    aes(x = quantity, y = Price_capped,
        label = paste0("cluster ", Cluster, "\n(",
                       round(quantity,1), ", ", round(Price_capped,1), ")")),
    color = "black",
    fontface = "bold",
    size = 4
  ) +
  
  labs(
    title = "K-Means Clustering with Boundaries and Centroids",
    x = "Quantity",
    y = "Price (Capped)"
  ) +
  
  theme_minimal()

Q19. Which age group buys the highest-priced products?

library(dplyr)
library(ggplot2)

# ---- Step 1: Create age groups ----
data <- data %>%
  mutate(age_group = case_when(
    age < 20 ~ "Under 20",
    age >= 20 & age < 30 ~ "20-29",
    age >= 30 & age < 40 ~ "30-39",
    age >= 40 & age < 50 ~ "40-49",
    age >= 50 & age < 60 ~ "50-59",
    age >= 60 ~ "60+",
    TRUE ~ "Unknown"
  ))

# ---- Step 2: Calculate average price per age group ----
age_price_summary <- data %>%
  group_by(age_group) %>%
  summarise(
    avg_price = mean(Price_capped, na.rm = TRUE),
    count = n()
  ) %>%
  arrange(desc(avg_price))

print(age_price_summary)
## # A tibble: 6 × 3
##   age_group avg_price count
##   <chr>         <dbl> <int>
## 1 40-49          658. 19153
## 2 20-29          653. 19263
## 3 60+            650. 19043
## 4 30-39          646. 19287
## 5 50-59          645. 18931
## 6 Under 20       633.  3780
ggplot(age_price_summary, aes(x = reorder(age_group, avg_price), y = avg_price)) +
  geom_col(fill = "steelblue") +
  coord_flip() +
  labs(
    title = "Average Product Price by Age Group",
    x = "Age Group",
    y = "Average Price (Capped)"
  ) +
  theme_minimal()

## Q20. What time of the year/month/week shows the highest purchase activity?

library(dplyr)
library(lubridate)
## 
## Attaching package: 'lubridate'
## The following objects are masked from 'package:arules':
## 
##     intersect, setdiff, union
## The following objects are masked from 'package:base':
## 
##     date, intersect, setdiff, union
library(ggplot2)

# Convert invoice_date to date format
data$invoice_date <- as.Date(data$invoice_date)

# Extract components
data <- data %>%
  mutate(
    year = year(invoice_date),
    month = month(invoice_date, label = TRUE, abbr = TRUE),
    week = week(invoice_date),
    weekday = weekdays(invoice_date)
  )

# ---- Monthly purchase activity ----
monthly_activity <- data %>%
  group_by(year,month) %>%
  summarise(transactions = n()) %>%
  arrange(desc(transactions))
## `summarise()` has grouped output by 'year'. You can override using the
## `.groups` argument.
print(monthly_activity)
## # A tibble: 365 × 3
## # Groups:   year [31]
##     year month transactions
##    <dbl> <ord>        <int>
##  1     7 Jan            426
##  2     6 Jan            419
##  3    18 Feb            409
##  4     5 Feb            408
##  5    13 Feb            405
##  6     4 Mar            401
##  7     6 Mar            401
##  8    24 Feb            400
##  9    28 Jan            400
## 10    26 Feb            399
## # ℹ 355 more rows
# ---- Weekly purchase activity ----
weekly_activity <- data %>%
  group_by(year, week) %>%
  summarise(transactions = n()) %>%
  arrange(desc(transactions))
## `summarise()` has grouped output by 'year'. You can override using the
## `.groups` argument.
print(weekly_activity)
## # A tibble: 365 × 3
## # Groups:   year [31]
##     year  week transactions
##    <dbl> <dbl>        <int>
##  1     7     3          426
##  2     6     3          419
##  3    18     8          409
##  4     5     8          408
##  5    13     8          405
##  6     4    12          401
##  7     6    12          401
##  8    24     8          400
##  9    28     3          400
## 10    26     8          399
## # ℹ 355 more rows
# ---- Day of week activity ----

weekday_activity <- data %>%
  group_by(weekday) %>%
  summarise(transactions = n()) %>%
  arrange(desc(transactions))

print(weekday_activity)
## # A tibble: 7 × 2
##   weekday   transactions
##   <chr>            <int>
## 1 Saturday         14616
## 2 Sunday           14246
## 3 Tuesday          14232
## 4 Monday           14184
## 5 Thursday         14130
## 6 Wednesday        14046
## 7 Friday           14003
#purchase by month
ggplot(monthly_activity, aes(x = month, y = transactions, group = year, fill = month)) +
  geom_col() +
  labs(title = "Monthly Purchase Activity",
       x = "Month", y = "Number of Transactions") +
  theme_minimal()

#perchage by day
ggplot(weekday_activity, aes(x = reorder(weekday, transactions), y = transactions)) +
  geom_col(fill = "steelblue") +
  coord_flip() +
  labs(title = "Purchase Activity by Day of Week",
       x = "Weekday", y = "Transactions") +
  theme_minimal()

Conclusion

The analysis shows that middle-aged customers (40–59), especially those in Cluster 3, are the highest spenders and represent the most valuable customer segment. Gender has no major effect on spending, and quantity is not strongly related to price. Clear monthly and weekly purchase patterns exist, providing opportunities for better forecasting, inventory planning, and targeted promotions. Although limited by single-item transactions, the insights offer strong guidance for improving marketing and operational decisions