product  <- c("Laptop", "Smartphone", "Tablet", "Headphones",
                   "Smartwatch", "Printer", "Keyboard", "Monitor")

unit_price <- c(185000, 95000, 68000, 12500, 28000, 42000, 8500, 56000)

units_sold  <- c(35, 80, 45, 160, 90, 38, 210, 52)

unit_cost   <- c(150000, 76000, 52000, 6500, 19000, 33000, 4200, 43000)

advertising_cost <- c(180000, 220000, 90000, 60000, 85000, 45000, 50000, 75000)

orders        <- c(35, 78, 44, 150, 88, 36, 200, 50)

returned_oders     <- c(2, 5, 2, 12, 6, 3, 8, 2)

product_data <- data.frame(product, unit_price, units_sold, unit_cost,
                           advertising_cost, orders, returned_oders)

head(product_data, 5)
dim(product_data)
names(product_data)  
str(product_data)

product_data$revenue   <- product_data$unit_price * product_data$units_sold

product_data$cogs      <- product_data$unit_cost  * product_data$units_sold

product_data$gross_profit   <- product_data$revenue - product_data$cogs

product_data$net_contribution <- product_data$gross_profit - 
                                   product_data$advertising_cost

product_data$profit_margin <- product_data$net_contribution / 
                                   product_data$revenue * 100

product_data$return_rate <- product_data$returned_oders / 
                                   product_data$orders * 100

print(product_data)

sum(product_data$revenue)
sum(product_data$cogs)
sum(product_data$gross_profit)
sum(product_data$net_contribution)

# mean and median
mean(product_data$net_contribution)
median(product_data$net_contribution)

# Highest and lowest net contribution
max(product_data$net_contribution)
min(product_data$net_contribution)

# Maximum and minimum return rates
max(product_data$return_rate)
min(product_data$return_rate)

# Ascending order
sort(product_data$net_contribution)

# Range
range_value <- max (product_data$net_contribution) -
               min (product_data$net_contribution)
print (range_value)

product_data$profitability  <-  NA

for (i in 1:nrow(product_data)) {

if(product_data$net_contribution[i] >= 750000) {
    product_data$profitability[i] <- "High Performer"
  } else if (product_data$net_contribution[i] >= 400000) {
    product_data$profitability[i] <- "Moderate Performer"
  } else {
    product_data$profitability[i] <- "Low Performer"
  }
}

product_data$return_risk   <- NA
 for (i in 1:nrow(product_data))  {
     if (product_data$return_rate[i] > 5) {
    product_data$return_risk[i] <- "High Return Risk"
  } else {
    product_data$return_risk[i] <- "Acceptable Return Rate"
  }
}
report <- product_data[, c("product", "net_contribution", "profit_margin",
                           "return_rate", "profitability", "return_risk")]
print (report)

for (i in 1:nrow (product_data)) {
  cat ("product:",product_data$product[i],
      "|Revenue:", product_data$revenue[i],
      "|Net contribution:", product_data$net_contribution[i], "\n")
}
high <- 0 
moderate <- 0
low <- 0
for (i in 1:nrow(product_data)) {
  if (product_data$profitability[i] == "High Performer") {
      high <- high + 1
  } else if (product_data$profitability[i] == "Moderate Performer") {
      moderate <- moderate + 1
  } else {
      low <- low + 1
  }
}
cat("High Performers:", high, "\n")
cat("Moderate Performers:", moderate, "\n")
cat("Low Performers:", low, "\n")
i <- 1
attention_count <- 0
while (i <= nrow(product_data)) {
  if (product_data$net_contribution[i] < 400000 || product_data$return_rate[i] > 5) {
    cat("Needs attention:", product_data$product[i], "\n")
    attention_count <- attention_count + 1
  }
  i <- i + 1            
}
cat("Total products requiring Needing attention:", attention_count, "\n")

calculate_contribution <- function(unit_price, units_sold, unit_cost, advertising_cost) {
  revenue  <-  unit_price * units_sold 
  cogs  <-  unit_price * units_sold 
  gross_profit <-  revenue - cogs
  net_contribution <-  gross_profit - advertising_cost
  return(net_contribution)
}
classify_product <- function(net_contribution) {
  if (net_contribution >= 750000) {
    return ("High Performer") 
   } else if (net_contribution >= 400000) {
    return ("Moderate Performer")
        } else {
    return ("Low Performer")
  }
}
#Laptop 
laptop_profit   <- calculate_contribution(185000, 35, 150000, 180000)
laptop_category <- classify_product (laptop_profit)
cat("Laptop contribution:",   laptop_profit,   "\n")
cat("laptop classification:", laptop_category,   "\n")
#printer
printer_profit   <- calculate_contribution(42000, 38, 33000, 45000)
printer_category <- classify_product (printer_profit)
cat("printer contribution:",   printer_profit,   "\n")
cat("printer classification:", printer_category,   "\n")

barplot(product_data$net_contribution, 
        names.arg = product_data$product,
        main = "Net Contribution by Product", 
        xlab = "Products",
        ylab = "Net Contribution (Rs.)",
        col = "steelblue")

hist(product_data$net_contribution,
     main = "Distribution of Net Contribution",
     xlab = "Net Contribution (Rs.)",
     ylab = "frequecycy",
     col = "lightgreen",
     border = "black")

plot(product_data$advertising_cost, product_data$net_contribution,
     main = "Advertising Cost vs Net Contribution",
     xlab = "Advertising Cost (Rs.)", 
     ylab = "Net Contribution (Rs.)",
     pch = 19, 
     col = "darkblue")
text(product_data$advertising_cost, product_data$net_contribution,
     labels = product_data$product, 
     pos = 3)

write.csv(product_data, "product_performance.csv", 
          row.names = FALSE)
cat ( "csv file exported succsusfuly.  \n"   )































Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: