# Load necessary library
if(!require(ggplot2)) install.packages("ggplot2")
library(ggplot2)
# Data extracted from Figure 1 (1991-2009)
tourism_data <- data.frame(
Year = 1991:2009,
Arrivals_Millions = c(20, 22, 25, 27, 30, 32, 32, 31, 37, 39, 41, 43, 39, 46, 51, 55, 62, 65, 66)
)
# Create the Bar Chart
ggplot(tourism_data, aes(x = Year, y = Arrivals_Millions)) +
geom_bar(stat = "identity", fill = "#4e79a7") +
scale_x_continuous(breaks = 1991:2009) +
labs(
title = "International Tourist Arrivals in Southeast Asia",
subtitle = "Data Source: ASEAN Tourism Marketing Strategy, 2010",
x = "Year",
y = "Number of Tourists (millions)"
) +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) The Jia Wu Expansion: Australian Market Analysis
Executive Summary
Jia Wu International is evaluating an expansion into Australia. This report analyzes monthly retail sales of household goods from 1995 to 2009 to determine market potential.
Jia Wu International Co. is a Taiwan-based distributor of household goods that has transitioned from a small family shop into a major regional player with annual sales exceeding 3.7 billion TWD. The company is currently leveraging its success in the Southeast Asian “Deluxe” market to plan an expansion into Australia.
Content Analysis Business Model: The company sources over 50,000 different household items (e.g., linens, furniture, appliances) from Chinese manufacturers and distributes them across Southeast Asia.
Market Segmentation:
Standard Category: Sold primarily to local retailers.
Deluxe Category: Launched six years ago, targeting five-star hotels and resorts. This category has been the primary growth engine due to the steady increase in international tourism in the region.
Strategic Expansion: Driven by their experience with Western hotel managers in the Deluxe segment, the company plans to enter the Australian market as a stepping stone to Europe or the United States.
Analytical Focus: The company is using historical monthly retail sales data from Australia (1995–2009) to identify trends, seasonal patterns, and generate a 2010 forecast to inform their entry strategy.
# Load forecasting library
if(!require(forecast)) install.packages("forecast")
library(forecast)
# NOTE: Replace 'aus_sales_vector' with the actual data from the Australian Bureau of Statistics
# Example: aus_sales_ts <- ts(aus_sales_vector, start = c(1995, 1), frequency = 12)
# 1. Trend and Seasonal Decomposition
# This fulfills the goal of identifying 'current trend' and 'seasonal patterns'
# plot(decompose(aus_sales_ts))
# 2. Monthly Forecast for 2010
# This creates the forecast mentioned in the analyst's plan
# fit <- auto.arima(aus_sales_ts)
# forecast_2010 <- forecast(fit, h = 12)
# 3. Visualize the Forecast
# plot(forecast_2010, main="Household Goods Sales Forecast: Australia 2010")Summary of Key Findings from DataTourism Growth: The data in Figure 1 shows that arrivals tripled between 1991 and 2009, despite a notable dip in 2003 (likely due to the SARS outbreak), justifying the company’s focus on the Deluxe hotel sector.
Market Entry Rationale: The shift toward the Australian market represents a transition from a B2B model (hotels) back toward a broader retail base, necessitating the deep-dive into monthly sales trends.
# Load necessary libraries
library(tidyverse)
library(forecast)
library(lubridate)
# 1. Data Loading and Preparation
# Read the long format data
df <- read.csv("Jia_Wu_Long_Data.csv")
# Convert the 'Date' column from 'Jan-1995' format to R Date objects
df$Date <- as.Date(paste0("01-", df$Date), format="%d-%b-%Y")
# Create a monthly Time Series (TS) object starting in January 1995
sales_ts <- ts(df$Sales, start = c(1995, 1), frequency = 12)
# 2. Historical Trend Visualization
ggplot(df, aes(x = Date, y = Sales)) +
geom_line(color = "steelblue", size = 1) +
geom_smooth(method = "loess", color = "red", linetype = "dashed", se = FALSE) +
labs(title = "Monthly Retail Sales of Household Goods (1995-2009)",
subtitle = "The red line indicates the long-term upward trend",
x = "Year", y = "Sales (Millions AUD)") +
theme_minimal()# 3. Seasonal Decomposition
# Using multiplicative decomposition because seasonal swings increase as sales grow
decomp <- decompose(sales_ts, type = "multiplicative")
plot(decomp)# 4. Monthly Seasonality Analysis
df$Month <- factor(format(df$Date, "%b"), levels = month.abb)
ggplot(df, aes(x = Month, y = Sales)) +
geom_boxplot(fill = "lightblue", color = "darkblue") +
labs(title = "Seasonal Sales Variation by Month",
subtitle = "Significant peak observed in December",
x = "Month", y = "Sales (Millions AUD)") +
theme_light()# 5. Forecasting for 2010
# Applying Holt-Winters Triple Exponential Smoothing
hw_model <- hw(sales_ts, seasonal = "multiplicative", h = 12)
# Visualize the forecast
autoplot(hw_model) +
labs(title = "Monthly Sales Forecast for 2010",
subtitle = "Projection with 80% and 95% confidence intervals",
x = "Year", y = "Sales (Millions AUD)") +
theme_minimal()# Output the predicted numerical values for 2010
forecast_values <- as.data.frame(hw_model)
print(forecast_values) Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
Jan 2010 3552.888 3415.096 3690.680 3342.153 3763.623
Feb 2010 3149.490 3022.247 3276.734 2954.888 3344.092
Mar 2010 3405.197 3262.181 3548.212 3186.474 3623.920
Apr 2010 3295.576 3151.957 3439.195 3075.930 3515.222
May 2010 3499.427 3341.450 3657.405 3257.821 3741.034
Jun 2010 3635.361 3465.608 3805.114 3375.747 3894.975
Jul 2010 3569.468 3397.299 3741.636 3306.158 3832.777
Aug 2010 3584.951 3406.556 3763.345 3312.120 3857.781
Sep 2010 3570.574 3387.472 3753.676 3290.544 3850.605
Oct 2010 3781.178 3581.564 3980.791 3475.895 4086.460
Nov 2010 3894.769 3683.305 4106.233 3571.363 4218.175
Dec 2010 4900.602 4627.194 5174.010 4482.460 5318.744
Validating Data from The Excel File
Market Growth Trend
The historical data shows a clear and consistent growth trend in the Australian market.
ggplot(df, aes(x = Date, y = Sales)) +
geom_line(color = "darkblue") +
theme_minimal() +
labs(title = "Historical Sales Trend (1995-2009)", y = "Sales (Millions AUD)")Seasonal Patterns
The market exhibits strong seasonality, with a major spike every December.
df$Month <- factor(format(df$Date, "%b"), levels = month.abb)
ggplot(df, aes(x = Month, y = Sales)) +
geom_boxplot(fill = "steelblue", alpha = 0.7) +
theme_light() +
labs(title = "Distribution of Sales by Month", x = "Month", y = "Sales")2010 Forecast
Based on the analysis, we project that sales will continue to grow in 2010, peaking at approximately 4,887 million AUD in December.
fit <- hw(sales_ts, seasonal = "multiplicative", h = 12)
autoplot(fit) + theme_minimal() + labs(title = "2010 Sales Projection")The table below shows the exact forecasted values for the first year of entry:
knitr::kable(as.data.frame(fit)[,1:3], col.names = c("Forecast", "Lower 95%", "Upper 95%"))| Forecast | Lower 95% | Upper 95% | |
|---|---|---|---|
| Jan 2010 | 3552.888 | 3415.096 | 3690.680 |
| Feb 2010 | 3149.490 | 3022.247 | 3276.734 |
| Mar 2010 | 3405.197 | 3262.181 | 3548.212 |
| Apr 2010 | 3295.576 | 3151.957 | 3439.195 |
| May 2010 | 3499.427 | 3341.450 | 3657.405 |
| Jun 2010 | 3635.361 | 3465.608 | 3805.114 |
| Jul 2010 | 3569.468 | 3397.299 | 3741.636 |
| Aug 2010 | 3584.951 | 3406.556 | 3763.345 |
| Sep 2010 | 3570.574 | 3387.472 | 3753.676 |
| Oct 2010 | 3781.178 | 3581.564 | 3980.791 |
| Nov 2010 | 3894.769 | 3683.305 | 4106.233 |
| Dec 2010 | 4900.602 | 4627.194 | 5174.010 |
Key Analytical Features included:
- Date Parsing: Handles the month-year string conversion to ensure the timeline is chronologically accurate.
- Decomposition: Separates the data into trend and seasonal components to clarify the market’s underlying behavior.
- Holt-Winters Method: Chosen specifically for this data because it handles the increasing seasonal variation seen over the 15-year period.