2022年全国大学生数据分析大赛医药电商销售数据分析求解全过程论文及程序
2022年全国大学生数据分析大赛
医药电商销售数据分析
原题再现:
问题背景
20 世纪 90 年代是电子数据交换时代,中国电子商务开始起步并初见雏形,随后 Web 技术爆炸式成长使电子商务处于蓬勃发展阶段,目前互联网信息碎片化以及云计算技术越发成熟,电子商务已发展至智慧阶段。电子商务提供了更广阔的环境和市场,使消费者不受时间和空间的限制,随时随地在网上进行交易;电子商务减少了商品流通的中间环节使之更快速的流通并具有更低廉的价格;电子商务也更符合时代的要求,网上购物更能体现出个人的个性化购物过程。药品作为一种特殊商品,其质量优劣关乎人们身体健康与生命安全,医药电商平台蒸蒸日上,网上药店发展空间巨大。随着国家政策的逐步开放与互联网的发展,越来越多的药品可以在网络上购买,为消费者提供了方便。新冠疫情影响下这种情况愈发明显,各大线下药店药物资源紧缺,购买困难,人们转向网上购买药物,这使医药电商进入了更多消费者的视野。各大药企见识到了电子商务的美好前景,纷纷加大力度布局医药电商领域以求快速发展。电商模式与线下零售有所不同,如何更好的经营医药电商成为药企急需解决的问题。
问题提出
1.根据附件所给的数据,对所给店铺进行详细分析,考察一共包含多少家店铺,各店铺的销售额占比如何以及求出销售额占比最高的店铺,并进一步分析该店铺的销售情况。
2.通过处理数据对所有药品进行分析,所包含药品数量与各药品的销售额占比,给出销售额占比最高的 10 个药品,并绘制这 10 个药品每月销售额曲线图。
3.本文根据所给数据对所有药品品牌进行分析,共包含多少个品牌,各品牌的销售额占比以及对销售额占比最高的 10 个品牌销售情况进行分析,并剖析这10 个品牌销售较好的原因。
4.根据所给数据进行预测,利用时间序列预测模型对天猫维生素类药品未来三个月的销售总额进行预测并绘制出拟合曲线,以评估模型性能和误差。
5.根据上述问题分析结果,某药企计划将新的维生素品牌进行网络销售,以企业顾问的身份对一家药企设计一份不超过两页纸的电商经营策略。
整体求解过程概述(摘要)
药品作为一种特殊商品,其质量优劣关乎人们身体健康与生命安全,医药电商平台蒸蒸日上,网上药店发展空间巨大。随着国家政策的逐步开放与互联网的发展,越来越多的药品可以在网络上购买,为消费者提供了方便。新冠疫情影响下这种情况愈发明显,各大线下药店药物资源紧缺,购买困难,人们转向网上购买药物,这使医药电商进入了更多消费者的视野。本文针对从医药电商搜集的维生素药品销售大数据展开分析讨论。
针对问题一,构建了分类变量销售额的计算方法,结果显示总共有 26 家店铺,其中阿里健康大药房的销量最高。针对阿里健康大药房从销售额、折扣力度、主营产品等多角度对其展开了分析,并研究为何该药店能成为销量王的原因。
针对问题二,构建了文本信息提取算法,利用 R 提取了每次销售记录对应的药品类型,并使用第一问中的分类变量销售额的计算方法得出药品类型销售数据。结果显示,总共拥有 307 种药品,其中复合维生素的销量最高,并得出了销量排名前 10 的药品。利用 Origin 绘制了这 10 款药品的时序图,并针对销量数据的走势展开了详细分析。
针对问题三,将第一问和第二问的两种算法结合,结果显示总共拥有 566款品牌,并通过可视化技术分析了十强品牌的销售数据。从品牌理念、品牌促销、品牌商品等角度分析了十强品牌成功的原因。
针对问题四,利用第一问构建的算法,生成 24 个月的销售额数据。通过单位根检验得出一阶差分后的数据为平稳序列。利用 ARIMA 时间序列模型对未来3 个月的销售额进行预测,通过最优滞后选择得出构建 AR(1,2)模型为最优预测结果。通过模型定阶、参数估计检验、残差检验、拟合优度检验对该时间序列进行了检验。最终结论显示,未来三个月的维生素产品销量会稳步上升,且第1-2 月的涨幅小于 2-3 月的涨幅,并从新冠疫情、垃圾分类、环境污染、药品需求等角度分析了维生素药品未来需求量为何会上升,以及对生产商、电商销售方、消费者三大人群提供了应对未来三个月维生素销量上升的一系列对策。
针对问题五,对前述四个问题的分析做出了汇总,从产品适合的标题名称、品牌理念的设计、促销活动折扣力度的推出等方面综合设计了新品牌的电商营销策略。该策略与市场营销中的 4p 策略相结合,同时大胆创新,为开拓中国的跨境电商市场提供了一定的跨境零售策略,使得该策略的盈利途径更加升华。
模型假设:
(1)假设所有分类结果均为标准结果。
(2)假设药品销售期间厂家未受到外界因素干扰,能够正常每月生产。
(3)假设药品的折扣程度在当月不会发生变化。
(4)假设未明确给出品牌产品的品牌为商品名称。
(5)假设药品的销售情况跟时间有关的。
问题分析:
问题 1 分析
根据题目要求本问题需要解决两个主要的问题,首先对原始数据集中的所有店铺情况进行分析,在此过程中找出销售额占比最高的一家店铺,并针对这家店铺的销售情况进行分析。首先对数据进行预处理发现,原始数据中仅给出了销量、单价和折扣,并未给出销售额。因此,首先利用 R 中的 c 函数,将对应的折扣变化为可计算数值,再生成销售额变量(销量单价折扣)。针对问题的前半部分,可使用 R 中的 tapply 函数,控制店铺名称(shop_name)变量,以此为标准对店铺销售额进行求和。输出的结果中可以看到各店铺的销售总额,同时也可以观察到数据集中包含的店铺数量。随后,利用 R 中的scales::percent 函数分别计算出每家店铺销售额所占百分比,并得出销售额占比最高的店铺。最后,利用 Origin 软件对输出结果进行可视化。通过上述问题的解决,能够得出销售额最大的店铺。为了能够更加全面地分析该店铺的销售情况,本文决定从时间、折扣、产品类型三大角度分析销售情况。在时间层面可以利用 R 中的 stringr 包,将原始数据中的 date 划分为年份和月份,再使用 if 函数将月份生成对应的季度,从年份、月份、季度的销售额进行对比。在折扣层面,再次利用 R 中的 tapply 函数,分类计算不同折扣对应的销售额。以上两个层面的计算结果同样可以通过 Origin 软件进行可视化。在产品类型层面,可根据不同产品的标题,通过 Python 绘制词云图,分析该家店铺主要出售的药品类型。
问题 2 分析
根据题目要求本问题需要解决两个主要的问题,首先对原始数据集中的所有药品种类进行分析,并在此过程中计算出各药品销售额占比,绘制出销售额占比最高的 10 个药品每月销售额曲线图。针对问题的前半部分,通过参数变量(parameter)提取字段中包含的药品种类信息可使用 R 中的 qdapRegex 包,并利用 sink()函数将按条件筛选出的结果保存至文件中,对输出结果进行进一步整合得出数据中所包含的药品种类。分析出药品种类后,可再次利用第一问中构建的分类销售额计算方法,首先以药品种类为分类标准,计算出所有药品的销售额,并得出百分比和排名。将该结果使用Origin 软件可视化后可以得出销售额前十的药品。通过上述问题的解决,利用 R 中的 filter 功能依次筛选出排名前 10 的药品,并以 date_time 为标准依次计算出 10 类药品在每个月的销售情况,输出结果后利用 Origin 软件可视化 10 类商品的销售数据。
问题 3 分析
本题目要求针对不同品牌的销售情况进行分析,根据对原始数据分析发现,品牌信息同样未明确给出,需要从 parameter 列中进行信息提取。因此,可以使用第 2 问中提出的方法,使用 R 中的 qdapRegex 包,并利用 sink()函数筛选出产品对应的品牌信息。获取产品的品牌信息后,继续利用第 1 问中提出的分类销售额计算方法得出每种品牌的销售数据并排序出销售额前 10 的品牌。完成上述处理后需要对排名前 10 的品牌展开详细分析,同样利用问题 2 中的方法利用 R 中的 filter 功能与 tapply 函数计算出排名前 10 的品牌分月销售数据,为了能够更加全面地分析这 10 款品牌为何销售良好,还可以根据分月销售数据绘制时序图辅助分析。针对品牌成功的原因,直观层面可以从品牌定价以及品牌折扣角度进行分析,除此之外,还可以搜集该品牌的营销模式、广告投放方式、品牌经营理念等,从品牌营销的角度综合说明这 10 款品牌销售情况良好的原因。
问题 4 分析
本题目需要对维生素药品未来三个月的销售数据进行预测,很明显本题目需要使用预测模型对销售数据进行预测。题目中的基本信息已经得出,搜集到的所有数据均为维生素类数据,因此不再考虑数据筛选问题。首先使用第一问中构建的算法,以 date_time 为分类标准,分别计算出每月的销售数据,总共能够得出24 个月的销售情况。很明显,这是典型的时间序列,因此通过时间序列模型进行未来销量的预测。在解决此问题的过程中,首先需要考虑销售额序列是否为平稳序列,因此可以使用单位根检验方法对数据进行处理,若数据无法通过检验,可以继续进行高阶差分使得数据平稳。最后,利用 SAS 软件再对数据集的拟合程度、模型的性能和误差进行判断。
问题 5 分析
本题为开放性题目,需要对新产品的网络销售撰写经营策略。首先该题目是对前四问的精华汇总,可以根据前文提出的价格、销量、折扣情况,药品类型销售情况,品牌类型销售情况以及未来 3 个月的销售数据预测给出经营策略。除此之外,本题应从市场营销和电子商务角度进行策略提出,从 4p 理论角度给出商家合适的价格、销售渠道、营销方式、产品定位,以及电商首图、详情页的制作方法和产品标题、关键词 sku 的创新方法。最后,随着后疫情时代的到来,国际贸易将逐步回归到疫情前的状态,近年来阿里巴巴推出的跨境零售 B2C 平台速卖通也越发普遍,因此在策略中可以大胆创新,提出跨境电商营销的方案策略,将维生素产品面向海外客户提供针对性策略,使得商家的盈利途径大幅度拓宽。
模型的建立与求解整体论文缩略图
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
程序代码:
部分程序如下:
data<-read.csv("/Users/caowenyi/Desktop/types.csv") #导入数据集
data$discount = c('9折'="0.9",'8.5折'="0.85",'9.5折'="0.95",'1'="1")[ as.character(data$discount)] #将折扣转化为可计算变量
data$discount = as.numeric(data$discount) #将折扣变为数值型变量
data$sold = as.numeric(data$sold) #将销售量变为数值型变量
data$revenue <- data$price * data$sold * data$discount #生成一列新变量为销售额=单价*销量*折扣
a <- tapply(data$revenue,data$types,sum) #按照药品类型为分类标准计算销售额
a1 <- as.data.frame(a)
a1
percentage <- scales::percent(a1$a / sum(a1$a)) #计算百分比,利用scales包的percent()函数,将计算的小数比例转换成百分数
percentage
re1 = data %>% filter(types=="复合维生素")
tapply(re1$revenue,re1$date_time,sum) #按照时间为分类标准计算复合维生素销售额
re2 = data %>% filter(types=="维生素C咀嚼片")
tapply(re2$revenue,re2$date_time,sum) #按照时间为分类标准计算维生素C咀嚼片销售额
re3 = data %>% filter(types=="维生素D滴剂(胶囊型)")
tapply(re3$revenue,re3$date_time,sum) #按照时间为分类标准计算维生素D滴剂(胶囊型)销售额
re4 = data %>% filter(types=="维生素E软胶囊")
tapply(re4$revenue,re4$date_time,sum) #按照时间为分类标准计算维生素E软胶囊销售额
re5 = data %>% filter(types=="维生素D柠檬酸钙")
tapply(re5$revenue,re5$date_time,sum) #按照时间为分类标准计算维生素D柠檬酸钙销售额
re6 = data %>% filter(types=="复合多种维生素")
tapply(re6$revenue,re6$date_time,sum) #按照时间为分类标准计算复合多种维生素销售额
re7 = data %>% filter(types=="维生素D滴剂")
tapply(re7$revenue,re7$date_time,sum) #按照时间为分类标准计算维生素D滴剂销售额
re8 = data %>% filter(types=="维生素C泡腾片")
tapply(re8$revenue,re8$date_time,sum) #按照时间为分类标准计算维生素C泡腾片销售额
re9 = data %>% filter(types=="钙片维生素d")
tapply(re9$revenue,re9$date_time,sum) #按照时间为分类标准计算钙片维生素d销售额
re10 = data %>% filter(types=="多维元素片")
tapply(re10$revenue,re10$date_time,sum) #按照时间为分类标准计算多维元素片销售额
#第二题
install.packages("qdapRegex")
options(max.print = 1000000)
library(tidyverse)
head(data)
data$gang<-c('||')#在parameter后加入||便于识别
data$parameter<-str_c(data$parameter,data$gang)#合并
data<-data[,-11]#删除||
sink("C:/Users/caowenyi/Desktop/药品种类汇总.txt", split=TRUE)
c=qdapRegex::ex_between(data$parameter, c("系列:","药品通用名:","药品名称:", "产品名称:"), c("||","||", "||","||"))
c
sink()
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
相关文章:

2022年全国大学生数据分析大赛医药电商销售数据分析求解全过程论文及程序
2022年全国大学生数据分析大赛 医药电商销售数据分析 原题再现: 问题背景 20 世纪 90 年代是电子数据交换时代,中国电子商务开始起步并初见雏形,随后 Web 技术爆炸式成长使电子商务处于蓬勃发展阶段,目前互联网信息碎片化以…...

Python版本与opencv版本的对应关系
python版本要和opencv版本相对应,否则安装的时候会报错。 可以到Links for opencv-python上面查看python版本和opencv版本的对应关系,如图,红框内是python版本,绿框内是opencv版本。 查看自己的python版本后,使用下面…...
【开源视频联动物联网平台】LiteFlow
LiteFlow是一个轻量且强大的国产规则引擎框架,可用于复杂的组件化业务的编排领域。它基于规则文件来编排流程,支持xml、json、yml三种规则文件写法方式,再复杂的逻辑过程都能轻易实现。LiteFlow于2020年正式开源,2021年获得开源中…...
家用智能门锁——智能指纹锁方案
智能指纹锁产品功能: 1:指纹识别技术:光学传感器、半导体传感器或超声波传感器等。 2:指纹容量:智能指纹锁可以存储的指纹数量,通常在几十到几百个指纹之间。 3:解锁时间:指纹识别和…...

Qt6 QRibbon 一键美化Qt界面
强烈推荐一个 github 项目: https://github.com/gnibuoz/QRibbon 作用: 在几乎不修改任何你自己代码的情况下,一键美化你的 UI 界面。 代码环境:使用 VS2019 编译 Qt6 GUI 程序,继承 QMainWindow 窗口类 一、使用方法 …...

JAVA IO:NIO
1.阻塞 IO 模型 最传统的一种 IO 模型,即在读写数据过程中会发生阻塞现象。当用户线程发出 IO 请求之后,内核会去查看数据是否就绪,如果没有就绪就会等待数据就绪,而用户线程就会处于阻塞状态,用户线程交出 CPU。当…...

Python 在控制台打印带颜色的信息
#格式: 设置颜色开始 :\033[显示方式;前景色;背景色m #说明: 前景色 背景色 颜色 --------------------------------------- 30 40 黑色 31 41 红色 32 …...

SQL Server 数据库,创建触发器避免数据被更改
5.4触发器 触发器是一种特殊类型的存储过程,当表中的数据发生更新时将自动调用,以响应INSERT、 UPDATE 或DELETE 语句。 5.4.1什么是触发器 1.触发器的概念 触发器是在对表进行插入、更新或删除操作时自动执行的存储过程,触发器通常用于强…...

C语言实现植物大战僵尸(完整版)
实现这个游戏需要Easy_X 这个在我前面一篇C之番外篇爱心代码有程序教你怎么下载,大家可自行查看 然后就是需要植物大战僵尸的素材和音乐,需要的可以在评论区 首先是main.cpp //开发日志 //1导入素材 //2实现最开始的游戏场景 //3实现游戏顶部的工具栏…...

基于YOLOv8深度学习的火焰烟雾检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战
《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…...
【C++】手撕string思路梳理
目录 基本思路 代码实现 1.构建框架: 2.构建函数重载 3.迭代器: 4.遍历string 5.resetve 开空间,insert任意位置插入push_back,append,(按顺序依次实现) 6.erase删除,clear清除,resize缩容 7.流插入࿰…...
【数据结构和算法】确定两个字符串是否接近
其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1操作 1 的本质:字符可以任意排列 2.2操作 2 的本质:出现次数是可以交换的 2.…...

[足式机器人]Part2 Dr. CAN学习笔记-Ch0-1矩阵的导数运算
本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-Ch0-1矩阵的导数运算 1. 标量向量方程对向量求导,分母布局,分子布局1.1 标量方程对向量的导数1.2 向量方程对向量的导数 2. 案例分析,线性回归3. 矩阵求导的链…...

如何让软文更具画面感,媒介盒子分享
写软文这种带有销售性质的文案时,总说要有画面感,要有想象空间。只有针对目标用户的感受的设计,要了解用户想的是什么,要用可视化的描述来影响用户的感受,今天媒介盒子就和大家分享:如何让软文更具画面感。…...

Hadoop学习笔记(HDP)-Part.19 安装Kafka
目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …...

Arrays类练习 - Java
案例:自定义Book类,里面包含name和price,按price排序(从大到小)。要求使用两种方式排序,有一个 Book[] books 4本书对象。 使用前面学习过的传递实现Comparator接口匿名内部类,也称为定制排序。可以按照price (1)从大到…...

Java多线程:代码不只是在‘Hello World‘
Java线程好书推荐 概述01 多线程对于Java的意义02 为什么Java工程师必须掌握多线程03 Java多线程使用方式04 如何学好Java多线程写在末尾: 主页传送门:📀 传送 概述 摘要:互联网的每一个角落,无论是大型电商平台的秒杀…...

使用PCSS实现的实时阴影效果
PCSS的技术可以使得阴影呈现出近硬远软的效果,并且能够实时实现。 其核心理念是通过模拟光源的面积来产生更自然、更柔和的阴影边缘。 具体步骤: 1、生成shadowmap 2、在进行阴影的比较时候进行平均,并非之前的shadow map 或者之后完全的阴影…...

用于缓存一些固定名称的小组件
项目中,用于缓存姓名、地名、单位名称等一些较固定名称的id-name小组件。用于减少一些表的关连操作和冗余字段。优化代码结构。扩展也方便,写不同的枚举就行了。 具体用法: {NameCacheUser.USER.getName(userId);NameCacheUser.ACCOUNT.getN…...
Python 读取电子发票PDF 转成Excel
Python 读取电子发票PDF 转成Excel 目录 0.前提 1.python相关的处理PDF的库 2.实际好用的 3.实际代码 4.思考 0.前提 只识别普通电子发票PDF,提取其中某些关键内容到excel中。 1.python相关的处理PDF的库 如下4个库是经常更新维护的! pyP…...

XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...

智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...

srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...