Netflix Price Changes Over Time

install.packages("ggplot2")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
# Load required libraries
library(ggplot2)

# Data for graphs
price_data <- data.frame(
  Year = c(2014, 2017, 2019, 2020, 2022, 2024),
  Price = c(8.99, 10.99, 12.99, 13.99, 15.49, 18.00)
)

# Graph: Netflix Price Changes Over Time
ggplot(price_data, aes(x=Year, y=Price)) +
  geom_line(color="red", size=1.2) + 
  geom_point(color="red", size=3) +
  labs(title="Netflix Price Changes Over Time", x="Year", y="Price ($)") +
  theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

Netflix Subscriber Growth Over Time

# Data for subscriber growth
subscriber_data <- data.frame(
  Year = c(2014, 2017, 2019, 2020, 2022, 2024),
  Subscribers = c(50, 110, 167, 195, 221, 300)
)

# Graph: Netflix Subscriber Growth Over Time
ggplot(subscriber_data, aes(x=Year, y=Subscribers)) +
  geom_line(color="blue", size=1.2) + 
  geom_point(color="blue", size=3) +
  labs(title="Netflix Subscriber Growth Over Time", x="Year", y="Subscribers (Millions)") +
  theme_minimal()

Netflix Original Content Growth Over Time

# Data for original content
content_data <- data.frame(
  Year = c(2014, 2017, 2019, 2020, 2022, 2024),
  Original_Content = c(20, 35, 50, 60, 70, 75)
)

# Graph: Netflix Original Content Growth Over Time
ggplot(content_data, aes(x=Year, y=Original_Content)) +
  geom_line(color="green", size=1.2) + 
  geom_point(color="green", size=3) +
  labs(title="Netflix Original Content Growth Over Time", x="Year", y="Original Content (%)") +
  theme_minimal()

Correlation Matrix Between Price, Content Variety, and Subscribers

# Install and load necessary packages
if(!require(corrplot)) {
  install.packages("corrplot")
  library(corrplot)
}
## Loading required package: corrplot
## corrplot 0.95 loaded
# Data for Correlation Matrix
correlation_data <- data.frame(
  Year = c(2014, 2017, 2019, 2020, 2022, 2024),
  Price = c(8.99, 10.99, 12.99, 13.99, 15.49, 18.00),
  Subscribers = c(50, 110, 167, 195, 221, 300),
  Original_Content = c(20, 35, 50, 60, 70, 75)
)

# Calculate the correlation matrix
correlation_matrix <- cor(correlation_data[, c("Price", "Subscribers", "Original_Content")])

install.packages("RColorBrewer")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(RColorBrewer)

# Plotting the correlation matrix
corrplot(correlation_matrix, 
         method="color", 
         type="upper", 
         col=brewer.pal(n=8, name="Reds"),  # Color scheme similar to your paper
         tl.col="black", 
         tl.srt=45, 
         addCoef.col = "black", 
         number.cex = 0.8, 
         diag=FALSE, 
         cl.lim=c(-1, 1), 
         title="Correlation Matrix of Price, Subscribers, and Original Content") 
## Warning in text.default(pos.xlabel[, 1], pos.xlabel[, 2], newcolnames, srt =
## tl.srt, : "cl.lim" is not a graphical parameter
## Warning in text.default(pos.ylabel[, 1], pos.ylabel[, 2], newrownames, col =
## tl.col, : "cl.lim" is not a graphical parameter
## Warning in title(title, ...): "cl.lim" is not a graphical parameter

Predicted vs Actual Netflix Subscribers

# Data for Predicted vs Actual
predicted_data <- data.frame(
  Actual_Subscribers = c(50, 110, 167, 195, 221, 300),
  Predicted_Subscribers = c(55, 115, 160, 200, 220, 310)
)

# Graph: Predicted vs Actual Subscribers
ggplot(predicted_data, aes(x=Actual_Subscribers, y=Predicted_Subscribers)) +
  geom_point(color="blue", size=3) +
  geom_abline(slope=1, intercept=0, linetype="dashed", color="red") +
  labs(title="Predicted vs Actual Netflix Subscribers", x="Actual Subscribers (Millions)", y="Predicted Subscribers (Millions)") +
  theme_minimal() +
  theme(legend.position="top")

Projected Impact of AI-Driven Content Bundling on Netflix Subscribers

# Data for AI-driven bundling
ai_data <- data.frame(
  Year = c(2014, 2017, 2019, 2020, 2022, 2024),
  Current_Subscribers = c(50, 110, 167, 195, 221, 300),
  With_AI_Bundling = c(50, 120, 180, 210, 250, 330),
  With_Lower_Churn = c(50, 115, 175, 205, 245, 325)
)

# Graph: AI-Driven Content Bundling Impact
ggplot(ai_data, aes(x=Year)) +
  geom_line(aes(y=Current_Subscribers), color="blue", size=1.2) +
  geom_line(aes(y=With_AI_Bundling), color="green", linetype="dashed", size=1.2) +
  geom_line(aes(y=With_Lower_Churn), color="orange", linetype="dotted", size=1.2) +
  labs(title="Projected Impact of AI-Driven Content Bundling on Netflix Subscribers", x="Year", y="Subscribers (Millions)") +
  theme_minimal() +
  scale_color_manual(values=c("blue", "green", "orange")) +
  theme(legend.position="top")

Projected Impact of Watch Party & Social Streaming on Netflix Subscribers

# Data for Watch Party & Social Streaming
watch_party_data <- data.frame(
  Year = c(2014, 2017, 2019, 2020, 2022, 2024),
  Current_Subscribers = c(50, 110, 167, 195, 221, 300),
  With_Watch_Party = c(50, 125, 185, 215, 255, 340),
  With_Lower_Churn = c(50, 120, 180, 210, 250, 335)
)

# Graph: Watch Party & Social Streaming Impact
ggplot(watch_party_data, aes(x=Year)) +
  geom_line(aes(y=Current_Subscribers), color="blue", size=1.2) +
  geom_line(aes(y=With_Watch_Party), color="green", linetype="dashed", size=1.2) +
  geom_line(aes(y=With_Lower_Churn), color="orange", linetype="dotted", size=1.2) +
  labs(title="Projected Impact of Watch Party & Social Streaming on Netflix Subscribers", x="Year", y="Subscribers (Millions)") +
  theme_minimal() +
  scale_color_manual(values=c("blue", "green", "orange")) +
  theme(legend.position="top")