Đề: Chạy mô hình với các phân phối khác nhau với các biến đầu vào.
library('psych')
## Warning: package 'psych' was built under R version 4.3.1
setwd("C:/Users/Ngoc Loi/Downloads")
cfdemit <- read.csv("C:/Users/Ngoc Loi/Downloads/datademit.csv")
library(DT)
## Warning: package 'DT' was built under R version 4.3.1
cfdemit %>% DT::datatable(cfdemit)
DOANHTHU <- 18000 * cfdemit$Cfs + 15000 * cfdemit$cfd +25000 * cfdemit$cam + 22000 * cfdemit$bx + 20000 * cfdemit$sting + 20000 * cfdemit$nutifood
summary(DOANHTHU)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1155000 1390000 1477000 1470950 1546000 1784000
Biến doanh thu (DT) trong khoảng [1.155.000;1.784.000]
*ĐVT: Đồng
Dựa vào bảng thống kê mô tả, tôi ước lượng doanh thu của cfdemit như sau:
Doanh thu thấp sẽ dưới 1.300.000đ trên 1 ngày
Doanh thu vừa sẽ từ 1.300.000đ đến 1.500.000đ trên 1 ngày
Doanh thu cao sẽ từ 1.5000.000 đồng trở lên trên 1 ngày
DTthap <- DOANHTHU[DOANHTHU < 1300000]
DTvua <- DOANHTHU[DOANHTHU > 13000000 & DOANHTHU <= 1500000]
DTcao <- DOANHTHU[DOANHTHU> 1500000]
table(cut(DOANHTHU,breaks = 3))
##
## (1.15e+06,1.36e+06] (1.36e+06,1.57e+06] (1.57e+06,1.78e+06]
## 32 113 36
doanhthu1 <-table(cut(DOANHTHU,3, labels = c('thap','vua','cao')))
doanhthu1
##
## thap vua cao
## 32 113 36
Từ kết quả trên, Doanh thu của 181 ngày trong 6 tháng đầu năm 2023 của quán cfdemit gồm có 32 ngày thu dược doanh thu thấp, 113 ngày thu được doanh thu vừa và 36 ngày thu được doanh thu cao.
library(pastecs)
## Warning: package 'pastecs' was built under R version 4.3.1
stat.desc(DOANHTHU)
## nbr.val nbr.null nbr.na min max range
## 1.810000e+02 0.000000e+00 0.000000e+00 1.155000e+06 1.784000e+06 6.290000e+05
## sum median mean SE.mean CI.mean.0.95 var
## 2.662420e+08 1.477000e+06 1.470950e+06 8.724806e+03 1.721606e+04 1.377813e+10
## std.dev coef.var
## 1.173803e+05 7.979893e-02
Dựa vào bảng thống kê mô tả, tôi có thể hiểu rõ hơn về doanh thu của như sau:
Tôi có 181 giá trị doanh thu, không có giá trị bằng 0 hay bị thiếu.
Doanh thu nhỏ nhất của tôi là 1.155.000 đồng, lớn nhất là 1.784.000 đồng.
Phạm vi biến thiên của doanh thu của bạn là 629.000 đồng, tức là sự chênh lệch giữa doanh thu cao nhất và thấp nhất.
Tổng doanh thu của tôi là 266.242.000 đồng.
Trung vị doanh thu của tôi là 1.477.000 đồng, tức là nếu sắp xếp các giá trị doanh thu theo thứ tự tăng dần, thì giá trị ở vị trí thứ 91 sẽ là trung vị .
Trung bình cộng doanh thu của tôi là 1.470.950 đồng, tức là nếu chia tổng doanh thu cho số lượng giá trị, thì sẽ được kết quả này.
Sai số chuẩn của trung bình cộng doanh thu của tôi là 8.724 đồng, tức là độ lệch chuẩn của doanh thu chia cho căn bậc hai của số lượng giá trị .
Khoảng tin cậy 95% cho trung bình cộng doanh thu của tôi là 17.216 đồng, tức là khoảng chứa giá trị thực sự của trung bình cộng doanh thu với xác suất 95% .
Phương sai của doanh thu của tôi là 13.778.130.000 đồng, tức là trung bình cộng của bình phương các độ lệch so với trung bình cộng.
Độ lệch chuẩn của doanh thu của tôi là 117.380 đồng, tức là căn bậc hai của phương sai .
Hệ số biến động của doanh thu của tôi là 7.98%, tức là độ lệch chuẩn chia cho trung bình cộng .
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.1
##
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
##
## %+%, alpha
doanhthu1 <- c(Doanhthuthap = 32, Doanhthuvua = 113, Doanhthucao = 36)
labels1 <- c("Doanh thu thấp", "Doanh thu vừa", "Doanh thu cao")
colors1 <- c("blue", "red", "green")
barplot(doanhthu1, names.arg = labels1, col = colors1)
# Kiểm định phân phối chuẩn
hist(DOANHTHU, col="blue")
Đặt giả thuyết:
\(H_0\): biến DOANHTHU có phân phối chuẩn
\(H_1\): biến DOANHTHU không có phân phối chuẩn
shapiro.test(DOANHTHU)
##
## Shapiro-Wilk normality test
##
## data: DOANHTHU
## W = 0.99675, p-value = 0.9683
Vì p-value = 0.9683 > 0,05 nên biến DOANHTHU có phân phối chuẩn.
library(ggpubr)
## Warning: package 'ggpubr' was built under R version 4.3.1
ggqqplot(DOANHTHU,col="blue")
Vì biến DOANHTHU có phân phối chuẩn nên ta thu được kết quả từ biểu đồ trên có các giá trị đều nằm trên đường thẳng.
#Kiểm định phân phối mũ
ks.test(DOANHTHU, y=pexp)
## Warning in ks.test.default(DOANHTHU, y = pexp): ties should not be present for
## the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: DOANHTHU
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
\(H_0\): biến DOANHTHU có phân phối mũ
\(H_1\): biến DOANHTHU không có phân phối mũ
Vì p_value < 0,05 nên ta đủ cơ sở bác bỏ \(H_0\), vì vậy biến DOANHTHU không có phân phối mũ.
# Kiểm định phân phối đều
ks.test(DOANHTHU, y = 'punif')
## Warning in ks.test.default(DOANHTHU, y = "punif"): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: DOANHTHU
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
\(H_0\): biến DOANHTHU có phân phối đều
\(H_1\): biến DOANHTHU không có phân phối đều
Vì p_value < 0,05 nên ta đủ cơ sở bác bỏ \(H_0\), vì vậy biến DOANHTHU không có phân phối đều.
## Kiểm định phân phối loga chuẩn
ks.test(DOANHTHU, y = "plnorm")
## Warning in ks.test.default(DOANHTHU, y = "plnorm"): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: DOANHTHU
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
Đặt giả thiết:
\(H_0\): biến DOANHTHU có phân phối loga chuẩn
\(H_1\): biến DOANHTHU không có phân phối loga chuẩn
Vì p_value < 0,05 nên ta đủ cơ sở bác bỏ H0, vì vậy biến DOANHTHU không có phân phối loga chuẩn.
Vì DOANHTHU theo phân phối chuẩn, nên tôi tiến hành mô phỏng doanh thu trong 184 ngày tới.
sd(DOANHTHU)
## [1] 117380.3
set.seed(123)
L1 <- rnorm(n= 184, mean= 1470950.3 ,sd= 117380)
hist(L1, main = "Mô phỏng doanh thu theo phân phối chuẩn", xlab = "L1", col = "lightpink")
library(ggpubr)
ggqqplot(L1,col="blue")
summary(L1)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1199900 1397499 1465047 1470913 1537669 1851384
Doanh thu mô phỏng trong 184 ngày tới có giá trị trung bình là 1.470.913, có giá trị thấp nhất là 1.199.900 và có giá trị lớn nhất là 1.851.384
set.seed(123)
DTthap1 <- L1[L1 < 1300000]
DTvua1 <- L1[L1 > 13000000 & L1 <= 1500000]
DTcao1 <- L1[L1> 1500000]
table(cut(L1,breaks = 3))
##
## (1.2e+06,1.42e+06] (1.42e+06,1.63e+06] (1.63e+06,1.85e+06]
## 58 112 14
table(cut(L1,3, labels = c('thap','vua','cao')))
##
## thap vua cao
## 58 112 14
Doanh thu mô phỏng thu được có 58 ngày có doanh thu thấp, 113 ngày có doanh thu vừa và 14 ngày có doanh thu cao.
Nếu các yếu tố khác không thay đổi, thì tôi dự đoán quán cfdemit vẫn hoạt động bình thường.
par(mfrow=c(1,3))
hist(L1, col="blue")
boxplot(L1, col="blue")
plot(density(L1), col="blue")
Giải thích ý nghĩa:
Đồ thị cột (histogram) cho biết tần suất xuất hiện của các giá trị trong biến L1(Doanh thu mô phỏng). Tôi có thể nhìn thấy rằng phần lớn các giá trị nằm trong khoảng từ 1.200.000 đến 1.800.000, và có một số . Hầu hết được phân bố nhiều nhất tại 1.400.000đ.
Đồ thị hộp (boxplot) cho biết các thông số mô tả của biến L1, trung vị ở khoảng 1.500.000.
Đồ thị mật độ (density plot) cho biết hình dạng của phân bố của biến FTS1, một đỉnh ở khoảng 1.500.000. Đồ thị này cũng cho biết độ rộng băng thông (bandwidth =3.318e+04).
library(ggplot2)
doanhthu2 <- c(Doanhthuthap = 58, Doanhthuvua = 112, Doanhthucao = 14)
barplot(doanhthu2, names.arg = labels1, col = colors1)
Đề: Xây dựng mô hình cho đối tượng cần mô phỏng và giải thích mô hình.
Doanh thu = Đơn giá x Số lượng
\(Doanh thu = ĐG_{Cfs}.SL_{Cfs} + ĐG_{cfd}. SL_{cfd} +ĐG_{cam}. .SL_{cam}+ ĐG_{bx}.SL_{bx} + ĐG_{sting}.SL_{sting}+ ĐG_{nutifood} .SL_{nutifood}\)
Cụ thể là:
\(Doanh thu = 18000.SL_{Cfs} + 15000. SL_{cfd} +25000 .SL_{cam}+ 22000 .SL_{bx} + 20000.SL_{sting}+ 20000 .SL_{nutifood}\)
Giải thích mô hình doanh thu theo ngày:
\(ĐG_{Cfs}\)là đơn giá của 1 ly cafe sữa (ĐVT: đồng)
\(SL_{Cfs}\) là số lượng ly cafe sữa bán ra trong 1 ngày
\(ĐG_{cfd}\) là đơn giá của 1 ly cafe đen(ĐVT: đồng)
\(SL_{cfd}\) là số lượng ly cafe đen bán ra trong 1 ngày
\(ĐG_{cam}\) là đơn giá của 1 ly nước cam (ĐVT: đồng)
\(SL_{cam}\) là số lượng ly nước cam bán ra trong 1 ngày
\(ĐG_{bx}\) là đơn giá của 1 ly bạc xỉu (ĐVT: đồng)
\(SL_{bx}\) là số lượng ly bạc xỉu bán ra trong 1 ngày
\(ĐG_{sting}\) là đơn giá của 1 ly sting sữa (ĐVT: đồng)
\(SL_{sting}\) là số lượng ly sting bán ra trong 1 ngày
\(ĐG_{nutifood}\) là đơn giá của 1 ly nutifood (ĐVT: đồng)
\(SL_{nutifood}\) là số lượng ly nutifood bán ra trong 1 ngày
setwd("C:/Users/Ngoc Loi/Downloads")
cfdemit <- read.csv("C:/Users/Ngoc Loi/Downloads/datademit.csv")
str(cfdemit)
## 'data.frame': 181 obs. of 7 variables:
## $ ngay : chr "1/1/2023" "1/2/2023" "1/3/2023" "1/4/2023" ...
## $ Cfs : int 19 20 16 12 17 20 18 10 16 12 ...
## $ cfd : int 6 6 6 9 9 9 5 5 7 9 ...
## $ cam : int 14 14 10 12 14 12 14 13 12 8 ...
## $ bx : int 16 13 11 11 15 15 14 13 16 13 ...
## $ sting : int 18 17 20 17 17 15 15 20 13 15 ...
## $ nutifood: int 7 8 7 12 11 12 9 10 11 11 ...
# Kiểm định phân phối chuẩn
hist(cfdemit$Cfs)
Đặt giả thuyết:
H0: biến Cfs có phân phối chuẩn
H1: biến Cfs không có phân phối chuẩn
Cfss <- as.data.frame(cfdemit$Cfs)
shapiro.test(cfdemit$Cfs)
##
## Shapiro-Wilk normality test
##
## data: cfdemit$Cfs
## W = 0.934, p-value = 2.364e-07
Vì p-value <0,05 nên ta đủ cơ sở bác bỏ H0, vì vậy biến Cfs không có phân phối chuẩn
#Kiểm định phân phối mũ
ks.test(cfdemit$Cfs, y=pexp)
## Warning in ks.test.default(cfdemit$Cfs, y = pexp): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: cfdemit$Cfs
## D = 0.99995, p-value < 2.2e-16
## alternative hypothesis: two-sided
H0: biến Cfs có phân phối mũ
H1: biến Cfs không có phân phối mũ
Vì p_value < 0,05 nên ta đủ cơ sở bác bỏ H0, vì vậy biến Cfs không có phân phối mũ.
# Kiểm định phân phối đều
ks.test(cfdemit$Cfs, y = 'punif')
## Warning in ks.test.default(cfdemit$Cfs, y = "punif"): ties should not be
## present for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: cfdemit$Cfs
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
H0: biến Cfs có phân phối đều
H1: biến Cfs không có phân phối đều
Vì p_value < 0,05 nên ta đủ cơ sở bác bỏ H0, vì vậy biến Cfs không có phân phối đều.
# Kiểm định phân phối chuẩn
hist(cfdemit$cfd)
Đặt giả thuyết:
H0: biến cfd có phân phối chuẩn
H1: biến cfd không có phân phối chuẩn
cfds <- as.data.frame(cfdemit$cfd)
shapiro.test(cfdemit$cfd)
##
## Shapiro-Wilk normality test
##
## data: cfdemit$cfd
## W = 0.89806, p-value = 8.077e-10
Vì p-value <0,05 nên ta đủ cơ sở bác bỏ H0, vì vậy biến cfd không có phân phối chuẩn
#Kiểm định phân phối mũ
ks.test(cfdemit$Cfs, y=pexp)
## Warning in ks.test.default(cfdemit$Cfs, y = pexp): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: cfdemit$Cfs
## D = 0.99995, p-value < 2.2e-16
## alternative hypothesis: two-sided
H0: biến Cfs có phân phối mũ
H1: biến Cfs không có phân phối mũ
Vì p_value < 0,05 nên ta đủ cơ sở bác bỏ H0, vì vậy biến Cfs không có phân phối mũ.
# Kiểm định phân phối đều
ks.test(cfdemit$Cfs, y = 'punif')
## Warning in ks.test.default(cfdemit$Cfs, y = "punif"): ties should not be
## present for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: cfdemit$Cfs
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
H0: biến Cfs có phân phối đều
H1: biến Cfs không có phân phối đều
Vì p_value < 0,05 nên ta đủ cơ sở bác bỏ H0, vì vậy biến Cfs không có phân phối đều.
# Kiểm định phân phối chuẩn
hist(cfdemit$cam)
Đặt giả thuyết:
H0: biến cam có phân phối chuẩn
H1: biến cam không có phân phối chuẩn
cams <- as.data.frame(cfdemit$cam)
shapiro.test(cfdemit$cam)
##
## Shapiro-Wilk normality test
##
## data: cfdemit$cam
## W = 0.9231, p-value = 3.58e-08
Vì p-value <0,05 nên ta đủ cơ sở bác bỏ H0, vì vậy biến cam không có phân phối chuẩn
#Kiểm định phân phối mũ
ks.test(cfdemit$Cfs, y=pexp)
## Warning in ks.test.default(cfdemit$Cfs, y = pexp): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: cfdemit$Cfs
## D = 0.99995, p-value < 2.2e-16
## alternative hypothesis: two-sided
H0: biến Cfs có phân phối mũ
H1: biến Cfs không có phân phối mũ
Vì p_value < 0,05 nên ta đủ cơ sở bác bỏ H0, vì vậy biến Cfs không có phân phối mũ.
# Kiểm định phân phối đều
ks.test(cfdemit$Cfs, y = 'punif')
## Warning in ks.test.default(cfdemit$Cfs, y = "punif"): ties should not be
## present for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: cfdemit$Cfs
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
H0: biến Cfs có phân phối đều
H1: biến Cfs không có phân phối đều
Vì p_value < 0,05 nên ta đủ cơ sở bác bỏ H0, vì vậy biến Cfs không có phân phối đều.
# Kiểm định phân phối chuẩn
hist(cfdemit$bx)
Đặt giả thuyết:
H0: biến bx có phân phối chuẩn
H1: biến bx không có phân phối chuẩn
bxs <- as.data.frame(cfdemit$bx)
shapiro.test(cfdemit$bx)
##
## Shapiro-Wilk normality test
##
## data: cfdemit$bx
## W = 0.91806, p-value = 1.58e-08
Vì p-value <0,05 nên ta đủ cơ sở bác bỏ H0, vì vậy biến bx không có phân phối chuẩn
#Kiểm định phân phối mũ
ks.test(cfdemit$bx, y=pexp)
## Warning in ks.test.default(cfdemit$bx, y = pexp): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: cfdemit$bx
## D = 0.99995, p-value < 2.2e-16
## alternative hypothesis: two-sided
H0: biến bx có phân phối mũ
H1: biến bx không có phân phối mũ
Vì p_value < 0,05 nên ta đủ cơ sở bác bỏ H0, vì vậy biến bx không có phân phối mũ.
# Kiểm định phân phối đều
ks.test(cfdemit$bx, y = 'punif')
## Warning in ks.test.default(cfdemit$bx, y = "punif"): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: cfdemit$bx
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
H0: biến bx có phân phối đều
H1: biến bx không có phân phối đều
Vì p_value < 0,05 nên ta đủ cơ sở bác bỏ H0, vì vậy biến bx không có phân phối đều.
# Kiểm định phân phối chuẩn
hist(cfdemit$sting)
Đặt giả thuyết:
H0: biến sting có phân phối chuẩn
H1: biến sting không có phân phối chuẩn
stings <- as.data.frame(cfdemit$sting)
shapiro.test(cfdemit$sting)
##
## Shapiro-Wilk normality test
##
## data: cfdemit$sting
## W = 0.94102, p-value = 8.774e-07
Vì p-value <0,05 nên ta đủ cơ sở bác bỏ H0, vì vậy biến sting không có phân phối chuẩn
#Kiểm định phân phối mũ
ks.test(cfdemit$sting, y=pexp)
## Warning in ks.test.default(cfdemit$sting, y = pexp): ties should not be present
## for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: cfdemit$sting
## D = 0.99999, p-value < 2.2e-16
## alternative hypothesis: two-sided
H0: biến sting có phân phối mũ
H1: biến sting không có phân phối mũ
Vì p_value < 0,05 nên ta đủ cơ sở bác bỏ H0, vì vậy biến sting không có phân phối mũ.
# Kiểm định phân phối đều
ks.test(cfdemit$sting, y = 'punif')
## Warning in ks.test.default(cfdemit$sting, y = "punif"): ties should not be
## present for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: cfdemit$sting
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
H0: biến sting có phân phối đều
H1: biến sting không có phân phối đều
Vì p_value < 0,05 nên ta đủ cơ sở bác bỏ H0, vì vậy biến sting không có phân phối đều.
# Kiểm định phân phối chuẩn
hist(cfdemit$nutifood)
Đặt giả thuyết:
H0: biến nutifood có phân phối chuẩn
H1: biến nutifood không có phân phối chuẩn
nutifoods <- as.data.frame(cfdemit$nutifood)
shapiro.test(cfdemit$nutifood)
##
## Shapiro-Wilk normality test
##
## data: cfdemit$nutifood
## W = 0.91, p-value = 4.537e-09
Vì p-value <0,05 nên ta đủ cơ sở bác bỏ H0, vì vậy biến nutifood không có phân phối chuẩn.
#Kiểm định phân phối mũ
ks.test(cfdemit$nutifood, y=pexp)
## Warning in ks.test.default(cfdemit$nutifood, y = pexp): ties should not be
## present for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: cfdemit$nutifood
## D = 0.99909, p-value < 2.2e-16
## alternative hypothesis: two-sided
H0: biến nutifood có phân phối mũ
H1: biến nutifood không có phân phối mũ
Vì p_value < 0,05 nên ta đủ cơ sở bác bỏ H0, vì vậy biến nutifood không có phân phối mũ.
# Kiểm định phân phối đều
ks.test(cfdemit$nutifood, y = 'punif')
## Warning in ks.test.default(cfdemit$nutifood, y = "punif"): ties should not be
## present for the Kolmogorov-Smirnov test
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: cfdemit$nutifood
## D = 1, p-value < 2.2e-16
## alternative hypothesis: two-sided
H0: biến nutifood có phân phối đều
H1: biến nutifood không có phân phối đều
Vì p_value < 0,05 nên ta đủ cơ sở bác bỏ H0, vì vậy biến nutifood không có phân phối đều.
Đề tài: Chọn và giải thích đối tượng cần mô phỏng (ít ngất có 6 biến ngẫu nhiên)
Mô phỏng doanh thu của quán cafe DEMIT theo ngày trên đường 385 Lê Văn Việt, Quận 9 trong khoảng thời gian từ ngày 1/7/2023 đến cuối năm 2023.
Doanh thu (revenue) là khoản tiển mà doanh nghiệp nhận được khi bán hàng hoá và dịch vụ do nó sản xuất ra. Doanh thu được tính bằng cách lấy giá bán nhân với lượng hàng bán ra.
Doanh thu bán hàng: doanh thu thu được từ hoạt động bán hàng hóa, bán thành phẩm/sản phẩm, bán bất động sản đầu tư…
Doanh thu cung cấp dịch vụ: doanh thu thu từ dịch vụ du lịch, doanh nghiệp nhận gia công, đại lí…
Doanh thu hoạt động tài chính: Doanh thu từ lãi tiền gửi; Doanh thu từ lãi cho vay; Doanh thu từ lãi đầu tư Trái phiếu, tín phiếu; Doanh thù từ các khoản đầu tư; Cổ tức, lợi nhuận được chia; Chiết khấu thanh toán được hưởng.
Doanh thu bất thường: là khoản tiền từ các hoạt động không xảy ra thường xuyên như bán vật tư hàng hóa dư thừa, dụng cụ đã phân bố hết, các khoản phải trả nhưng không cần trả, thanh lý tài sản…
Doanh thu bán hàng nội bộ: là doanh thu của số sản phẩm, hàng hóa, dịch vụ tiêu thụ trong nội bộ doanh nghiệp, là lợi ích kinh tế thu được từ việc bán hàng hóa, sản phẩm, cung cấp dịch vụ nội bộ giữa các đơn vị trực thuộc hạch toán phụ thuộc trong cùng một công ty, tổng công ty tính theo giá bán nội bộ.
Mô phỏng Doanh thu bán nước của quán cafe Demit dựa trên 6 loại nước bán chạy theo ngày, trong khoảng 6 tháng cuối năm 2023 (từ ngày 1/7/2023 đến cuối năm 2023) để đưa ra ra các nhận định trong 6 tháng tới thông qua các dự báo của mô hình, giúp điều chỉnh ở một số yếu tố để mang lại doanh thu tối ưu nhất.
Tôi đã thu thập dữ liệu doanh thu bán hàng của quán Cafe Demit từ đầu năm 2023 đến cuối tháng 6/2023 (181 quan sát) của 6 món nước bán chạy bao gồm cafe sữa, cafe đen, bạc xỉu, nước cam, sting, nutifood.
setwd("C:/Users/Ngoc Loi/Downloads")
cfdemit <- read.csv("C:/Users/Ngoc Loi/Downloads/datademit.csv")
str(cfdemit)
## 'data.frame': 181 obs. of 7 variables:
## $ ngay : chr "1/1/2023" "1/2/2023" "1/3/2023" "1/4/2023" ...
## $ Cfs : int 19 20 16 12 17 20 18 10 16 12 ...
## $ cfd : int 6 6 6 9 9 9 5 5 7 9 ...
## $ cam : int 14 14 10 12 14 12 14 13 12 8 ...
## $ bx : int 16 13 11 11 15 15 14 13 16 13 ...
## $ sting : int 18 17 20 17 17 15 15 20 13 15 ...
## $ nutifood: int 7 8 7 12 11 12 9 10 11 11 ...
ngay: Số quan sát từ ngày 1/1/2023 đến 30/6/2023 (181 quan sát)
cfs: Số lượng nước Cafe sữa bán trong 1 ngày
cfd: số lượng nước Cafe đen bán trong 1 ngày
cam: số lượng nước cam bán trong 1 ngày
bx: số lượng nước bạc xỉu bán trong 1 ngày
sting: số lượng nước sting bán trong 1 ngày
nutifood: số lượng nước nutifood bán trong 1 ngày
Doanh thu = Giá bán x số lượng
Mức giá của 6 loại nước bán chạy:
Cafe sữa: 18 nghìn đồng/ly
Cafe đen: 15 nghìn đồng/ly
Nước cam: 25 nghìn đồng/ly
Bạc xỉu: 22 nghìn đồng/ly
Sting: 20 nghìn đồng/chai
Nutifood: 20 nghìn đồng/ chai
summary(cfdemit)
## ngay Cfs cfd cam
## Length:181 Min. :10.00 Min. : 5.000 Min. : 8.00
## Class :character 1st Qu.:12.00 1st Qu.: 6.000 1st Qu.:10.00
## Mode :character Median :16.00 Median : 7.000 Median :11.00
## Mean :15.28 Mean : 7.293 Mean :11.48
## 3rd Qu.:18.00 3rd Qu.: 9.000 3rd Qu.:14.00
## Max. :20.00 Max. :10.000 Max. :15.00
## bx sting nutifood
## Min. :10.00 Min. :12.00 Min. : 7.000
## 1st Qu.:11.00 1st Qu.:14.00 1st Qu.: 8.000
## Median :13.00 Median :16.00 Median : 9.000
## Mean :13.27 Mean :15.86 Mean : 9.519
## 3rd Qu.:15.00 3rd Qu.:18.00 3rd Qu.:11.000
## Max. :17.00 Max. :20.00 Max. :12.000
Trong khoảng thời gian từ đầu tháng 1/2023 đến cuối tháng 6/2023
Số ly cafe sữa bán nhiều nhất trong ngày là 20 ly, ít nhất là 10 ly và trung bình một ngày bán được 9 ly.
Số ly cafe đen bán nhiều nhất trong ngày là 10 ly, ít nhất là 5 ly và trung bình một ngày bán được 7 ly.
Số ly nước cam bán nhiều nhất trong ngày là 15 ly, ít nhất là 8 ly và trung bình một ngày bán được 11 ly.
Số ly bạc xỉu bán nhiều nhất trong ngày là 17 ly, ít nhất là 10 ly và trung bình một ngày bán được 16 ly.
Số chai sting bán nhiều nhất trong ngày là 20 chai, ít nhất là 12 chai và trung bình một ngày bán được 7 chai.
Số chai nutifood bán nhiều nhất trong ngày là 12 chai, ít nhất là 7 chai và trung bình một ngày bán được 9 chai.
Giả sử: giá cổ phiếu ban đầu là 100 VNĐ với lợi suất trung bình là 5% và độ lệch chuẩn là 0.2. Tiến hành mô phỏng ngẫu nhiên 1000 giá trị của một cổ phiếu theo phân phối chuẩn, với công thức tính như sau:
\(S_t = S_0 e^{(r - \frac{\sigma^2}{2})t + \sigma W_t}\)
# Giá cổ phiếu ban đầu
S01 <- 100
# Lợi suất trung bình
mu1 <- 0.05
# Độ lệch chuẩn
sigma1 <- 0.2
# Thời gian đến hết hạn
T1 <- 1
# Số lượng giá trị cần mô phỏng
N1 <- 1000
# Tạo số ngẫu nhiên theo phân phối chuẩn
Z1 <- rnorm(N1)
# Tính giá cổ phiếu
S1 <- S01 * exp((mu1 - 0.5 * sigma1^2) * T1 + sigma1 * sqrt(T1) * Z1)
plot(S1, type = "l", main = "Mô phỏng giá cổ phiếu theo phân phối chuẩn", xlab = "Thời gian", ylab = "Giá cổ phiếu")
hist(S1, main = "phân phối chuẩn", xlab = "S", col="pink")
Dựa vào biểu đồ histogram, ta thấy giá dao động nhiều nhất ở mức giá +- 100, và thấp nhất ở khoảng +-50 và +-180.
summary(S1)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 58.75 90.88 103.24 105.44 117.69 197.03
Từ kết quả trên, ta xác định được như sau: Giá cổ phiếu thấp nhất ở mức 58.75 với trung bình là 105.44 và giá cao nhất là 197.03
Giả sử tôi muốn mô phỏng tung đồng xu 100 lần với xác suất ra mặt ngửa là 50%.
rbinom(100, 1, 0.5)
## [1] 0 0 0 1 0 1 0 0 0 0 1 0 1 1 1 0 1 0 0 0 1 0 1 0 0 0 1 1 0 1 1 1 1 0 0 1 1
## [38] 1 1 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 0 1 1 1 1 0 1 1 1 0 0 0 0 1 1 0 1 1 0
## [75] 1 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 1 1 0 1 0
Kết quả sẽ là một vector có 100 phần tử, mỗi phần tử là 0 hoặc 1, tương ứng với mặt sấp hoặc mặt ngửa
K1 <-table(rbinom(100, 1, 0.5))
K1
##
## 0 1
## 49 51
library(ggplot2)
barplot(table(K1), col="pink")
vậy số lần ra mặt sấp là 55 và mặt ngữa là 45 lần.
Tôi muốn mô phỏng 100 lần quan sát số lượng xe hơi đi ngang qua trong một giờ, với giả sử rằng trung bình có 20 xe hơi sẽ đi ngang qua trong một giờ.
C1 <-rpois(100, 20)
table(C1)
## C1
## 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 28 30 33 34
## 1 2 1 5 6 13 9 7 6 8 7 10 8 6 2 3 2 2 1 1
hist(C1, main="Phân phối Poisson", xlab ="C1", col="pink")
summary(C1)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 11.00 16.00 19.50 19.75 22.25 34.00
Số lần xe đi qua trong 1 giờ nhiều nhất là 35 lần, ít nhất là 11 lần với giá trị trung bình là 20.4
Giả sử tôi muốn mô phỏng số ngẫu nhiên được phát sinh bởi máy tính, nếu giả sử rằng số ngẫu nhiên có thể, tôi muốn mô phỏng 100 số ngẫu nhiên trong khoảng từ 0 đến 1, bạn có thể viết:
u1 <- runif(n=100,min = 0,max = 1)
hist(u1, main = "phân phối đều", xlab = "u",col="pink")
summary(u1)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.01034 0.28838 0.52345 0.51771 0.76231 0.96272
Xác suất để máy tính phát sinh nhiều nhất là 98.8%, thấp nhất là 0.9% với trung bình là 0.512895
Tôi muốn mô phỏng 100 lần quan sát thời gian giữa hai cuộc gọi đến trung tâm dịch vụ khách hàng, nếu giả sử rằng tỷ lệ của phân phối mũ là 0.2, tức là trung bình có 0.2 cuộc gọi đến trong một đơn vị thời gian.
i1 <- rexp(n=100,rate=0.2)
hist(i1, main = "phân phối mũ", xlab = "i1", col="pink")
summary(i1)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.03926 1.46991 3.22197 5.20700 8.30982 23.55333
Số lân 2 cuộc gọi đến cùng lúc nhiều nhất là 21.3, thấp nhất là 0.003049 với trung bình là 4.773907