数据分析-25-电商用户行为可视化分析

文章目录

    • 0. 数据代码获取
    • 1. 项目介绍
      • 1.1 分析背景
      • 1.2 分析目的
      • 1.3 分析思路
    • 2. 数据清洗
      • 2.1 加载必要的库
      • 2.2 读取数据
      • 2.3 统计缺失值
      • 2.4 处理数据
        • a. 删除重复值
        • b. 转换时间格式
        • c. 提取日期和时间
        • d. 转换数据类型
    • 3. 分析内容
      • 3.1 用户活跃规律
        • a. 日均pv与uv
        • b. 日新增pv、uv趋势
        • c. 日活跃时段
      • 3.2 用户各类行为分析
        • a. 用户行为趋势(按日)
        • b. 用户行为数据(按时)
        • c 行为漏斗转化分析
    • 4. 结论及建议
      • 1. 用户活跃规律
      • 2. 用户行为
      • 3. 商品销售
      • 4. 用户价值
      • 5. 其他方面

0. 数据代码获取

关注公众号:『AI学习星球
回复:电商用户行为可视化分析 即可获取数据下载。
算法学习4对1辅导论文辅导核心期刊可以通过公众号或➕v:codebiubiubiu滴滴我
在这里插入图片描述


1. 项目介绍

1.1 分析背景

电商平台在所有媒体类型中,具有足够的特殊性,是兼具媒体场景和消费场景两大属性的平台,符合品效合一,也因此衍生出了贴合电商“搜索-购买-评价”链条的多种营销模式。随着电商营销产业链上消费行为数据的积累,海量数据中蕴含着无尽的价值,显现了用户不同的购物方式及爱好,基于此背景,本文利用阿里天池中淘宝电商用户数据进行分析。

  • 数据集包含了2014年11月18日至2014年12月18日之间,用户的完整行为数据(行为包括浏览、收藏、加购物车、购买)。
  • 数据集的每一行表示一条用户行为,由用户标识、商品标识、行为类型、用户位置的空间标识、商品分类标识和行为时间组成
字段名称字段描述
user_id用户标识,抽样&字段脱敏
item_id商品标识,字段脱敏
behavior_type用户对商品的行为类型,包括浏览、收藏、加购物车、购买,对应取值分别是1、2、3、4。
user_geohash用户位置的空间标识,可以为空,由经纬度通过保密的算法生成
item_category商品分类标识,字段脱敏
time精确到小时级别

1.2 分析目的

通过对淘宝App用户行为数据分析,为以下问题提供解释和改进建议:

  1. 用户在不同时间周期下的活跃规律,了解用户行为习惯;
  2. 分析用户使用App过程中的常见电商分析指标,确定各个环节的流失率,找到需要改进的环节;
  3. 用户对不同种类商品的偏好,提出针对不同商品的营销策略;
  4. 提取出最具价值的核心付费用户群,对这部分用户的行为进行分析。

1.3 分析思路

针对提出的问题,主要从用户行为时间维度、指标转化率、商品购买情况、用户价值等四个方面进行分析。

在这里插入图片描述

2. 数据清洗

2.1 加载必要的库

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
#导入数据并查看头部
user=pd.read_csv('tianchi_mobile_recommend_train_user.csv')
user.head()

在这里插入图片描述

2.2 读取数据

df.info()

在这里插入图片描述

#查看统计信息
df.describe()

在这里插入图片描述

2.3 统计缺失值

user.isnull().sum()

在这里插入图片描述
因为不做地理数据的分析user_geohash 这列的缺失值不做处理。

2.4 处理数据

a. 删除重复值
df.drop_duplicates(keep='last',inplace=True)
b. 转换时间格式
df['time'] = pd.to_datetime(df.time)
c. 提取日期和时间
df['dates'] = df.time.dt.date
df['month'] = df.dates.values.astype('datetime64[M]')
df['hours'] = df.time.dt.hour

在这里插入图片描述

d. 转换数据类型
df['behavior_type'] = df['behavior_type'].apply(str)
df['user_id'] = df['user_id'].apply(str)
df['item_id'] = df['item_id'].apply(str)

关注公众号:『AI学习星球
回复:电商用户行为可视化分析 即可获取数据下载。
算法学习4对1辅导论文辅导核心期刊可以通过公众号或➕v:codebiubiubiu滴滴我
在这里插入图片描述


3. 分析内容

可视化内容主要利用的是pyecharts库,其数据交互性较好

import pyecharts.options as opts
from pyecharts.charts import *

3.1 用户活跃规律

a. 日均pv与uv

提取出每日pv与uv的数据

pv_day=user[user.behavior_type=="1"].groupby("dates")["behavior_type"].count()
uv_day=user[user.behavior_type=="1"].drop_duplicates(["user_id","dates"]).groupby("dates")["user_id"].count()

做趋势图

# 加载库
import pyecharts.options as opts
from pyecharts.charts import Line
from pyecharts.charts import Grid
import numpy as np

# 做出每天的pv与uv趋势图
attr=list(pv_day.index)
pv=(
    Line(init_opts=opts.InitOpts(width="1000px",height="500px"))
    .add_xaxis(xaxis_data=attr)
    .add_yaxis(
        "pv",
        np.around(pv_day.values/10000,decimals=2),
        label_opts=opts.LabelOpts(is_show=False)
    )
    .add_yaxis(
        series_name="uv",
        yaxis_index=1,
        y_axis=np.around(uv_day.values/10000,decimals=2),
        label_opts=opts.LabelOpts(is_show=False),
    )
    .extend_axis(
        yaxis=opts.AxisOpts(
            name="uv",
            type_="value",
            min_=0,
            max_=1.6,
            interval=0.4,
            axislabel_opts=opts.LabelOpts(formatter="{value} 万人"),
        )
    )
    .set_global_opts(
        tooltip_opts=opts.TooltipOpts(
            is_show=True,trigger="axis",axis_pointer_type="cross"
        ),
        xaxis_opts=opts.AxisOpts(
            type_="category",
            axispointer_opts=opts.AxisPointerOpts(is_show=True,type_="shadow"),
        ),
        yaxis_opts=opts.AxisOpts(
            name="pv",
            type_="value",
            min_=0,
            max_=100,
            interval=20,
            axislabel_opts=opts.LabelOpts(formatter="{value} 万次"),
            axistick_opts=opts.AxisTickOpts(is_show=True),
            splitline_opts=opts.SplitLineOpts(is_show=True),
        ),
        title_opts=opts.TitleOpts(title="pv与uv趋势图"),
    )
)

pv.render_notebook()

在这里插入图片描述

从趋势图来看,浏览量和浏览人数在双十二活动期间有一个猛烈的上涨,在活动过后趋势又趋于平稳,可利用活动带来的巨大流量,提升用户的购买转化率。

b. 日新增pv、uv趋势
pv_uv = pd.concat([pv_day, uv_day], join='outer', axis=1)
pv_uv.columns = ['pv_day', 'uv_day']

new_day=pv_uv.diff()
new_day.columns=['new_pv','new_uv']
new_day

在这里插入图片描述

attr = new_day.index
v = new_day.new_uv
w = new_day.new_pv

li=(
    Line(init_opts=opts.InitOpts(width="1000px",height="500px"))
    .add_xaxis(xaxis_data=attr)
    .add_yaxis(
        "新增pv",
        w,
        label_opts=opts.LabelOpts(is_show=False)
    )
    .extend_axis(
        yaxis=opts.AxisOpts(
            name="新增uv",
            type_="value",
            min_=-2000,
            max_=1600,
            interval=400,
            axislabel_opts=opts.LabelOpts(formatter="{value}"),
        )
    )
     .set_global_opts(
        tooltip_opts=opts.TooltipOpts(
            is_show=True, trigger="axis", axis_pointer_type="cross"
        ),
        xaxis_opts=opts.AxisOpts(
            type_="category",
            axispointer_opts=opts.AxisPointerOpts(is_show=True, type_="shadow"),
        ),
        yaxis_opts=opts.AxisOpts(
            name="新增pv",
            type_="value",
            min_=-350000,
            max_=250000,
            interval=100000,
            axislabel_opts=opts.LabelOpts(formatter="{value}"),
            axistick_opts=opts.AxisTickOpts(is_show=True),
            splitline_opts=opts.SplitLineOpts(is_show=True),
        ),
         title_opts=opts.TitleOpts(title="pv、uv差异分析"),
    )
)
il=(
    Line()
    .add_xaxis(xaxis_data=attr)
    .add_yaxis("新增uv",v,yaxis_index='1',label_opts=opts.LabelOpts(is_show=False),)
)
c=li.overlap(il)
c.render_notebook()

在这里插入图片描述

从新增pv、uv可以看出双十二活动期间更加明显的流量波动。

c. 日活跃时段
#转换按小时统计数据
pv_hour = user[user.behavior_type == '1'].groupby('hours')['behavior_type'].count()
uv_hour = user[user.behavior_type == '1'].drop_duplicates(['user_id','hours']).groupby('hours')['user_id'].count()
attr=list(pv_hour.index)
#作图
pvh=(Line(init_opts=opts.InitOpts(width="1000px",height="500px"))
    .add_xaxis(xaxis_data=attr)
    .add_yaxis("pv",np.around(pv_hour.values/1000,decimals=2),label_opts=opts.LabelOpts(is_show=False))
    .add_yaxis(series_name="uv",yaxis_index=1,y_axis=np.around(uv_hour.values/1000,decimals=2),label_opts=opts.LabelOpts(is_show=False),)
    .extend_axis(yaxis=opts.AxisOpts(name="uv",type_="value",min_=0,max_=16,interval=4,axislabel_opts=opts.LabelOpts(formatter="{value} 千人"),))
    .set_global_opts(tooltip_opts=opts.TooltipOpts(is_show=True,trigger="axis",axis_pointer_type="cross"),
        xaxis_opts=opts.AxisOpts(type_="category",axispointer_opts=opts.AxisPointerOpts(is_show=True,type_="shadow"),),
        yaxis_opts=opts.AxisOpts(name="pv",type_="value",min_=0,max_=140,interval=20,axislabel_opts=opts.LabelOpts(formatter="{value} 千次"),axistick_opts=opts.AxisTickOpts(is_show=True),splitline_opts=opts.SplitLineOpts(is_show=True),),
        title_opts=opts.TitleOpts(title="pv与uv趋势图",subtitle="按小时"),)
    )
pvh.render_notebook()

在这里插入图片描述

可以发现0点到6点是一个低谷时段,大部分用户在休息,6点到10点是用户访问浏览的一个迅速增长时段,10点到18点访问趋势较平稳,晚上19点到23点是用户最活跃的时段,可以利用这段时间向用户推荐其兴趣爱好的商品,提高转化率。

3.2 用户各类行为分析

a. 用户行为趋势(按日)
shopping_cart= user[user.behavior_type == '3'].groupby('dates')['behavior_type'].count()
collect=user[user.behavior_type=='2'].groupby('dates')['behavior_type'].count()
buy=user[user.behavior_type=='4'].groupby('dates')['behavior_type'].count()

attr_a=list(shopping_cart.index)
v_1=shopping_cart.values.tolist()
v_2=collect.values.tolist()
v_3=buy.values.tolist()

b=(
    Line()
    .add_xaxis(xaxis_data=attr_a)
    .add_yaxis(
        "加购人数",
        v_1,
        label_opts=opts.LabelOpts(is_show=False)
    )
    .add_yaxis(
        "收藏人数",
        v_2,
        label_opts=opts.LabelOpts(is_show=False)
    )
    .add_yaxis(
        "购买人数",
        v_3,
        label_opts=opts.LabelOpts(is_show=False)
    )
    .set_global_opts(title_opts=opts.TitleOpts(title="不同时期用户行为数据"))
)
b.render_notebook()

在这里插入图片描述

可以看出,加入购物车、收藏、购买等行为与浏览量的量级是不在一个等级的,但趋势是较一致的。

b. 用户行为数据(按时)

由于数据里面包含双十二大促的数据,因此整理分析用户的不同时段行为可能会导致分析结果与实际差异较大,因此拆分开来做不同的对比分析。

  • 活动期间
user['dates']=pd.to_datetime(user['dates'])
active=user[user["dates"].isin(["2014/12/11","2014/12/12","2014/12/13"])]
daily=user[~user["dates"].isin(["2014/12/11","2014/12/12","2014/12/13"])]

from pyecharts.charts import Bar
# 活动数据
cart_h= active[active.behavior_type == '3'].groupby('hours')['behavior_type'].count()
collect_h=active[active.behavior_type=='2'].groupby('hours')['behavior_type'].count()
buy_h=active[active.behavior_type=='4'].groupby('hours')['behavior_type'].count()
uv_h=active[active.behavior_type== '1'].groupby('hours')['user_id'].count()

attr_h=list(cart_h.index)
h1=np.around(cart_h.values/3,decimals=0).tolist()
h2=np.around(collect_h.values/3,decimals=0).tolist()
h3=np.around(buy_h.values/3,decimals=0).tolist()
h4=np.around(uv_h.values/3,decimals=0).tolist()


h=(
    Line(init_opts=opts.InitOpts(width="1000px",height="500px"))
    .add_xaxis(xaxis_data=attr_h)
    .add_yaxis(
        "加购人数",
        h1,
        label_opts=opts.LabelOpts(is_show=False)
    )
    .add_yaxis(
        "收藏人数",
        h2,
        label_opts=opts.LabelOpts(is_show=False)
    )
    .add_yaxis(
        "购买人数",
        h3,
        label_opts=opts.LabelOpts(is_show=False)
    )
    .set_global_opts(
        xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=15)),
        title_opts=opts.TitleOpts(title="日均各时段活动用户行为",pos_top="48%"),
        legend_opts=opts.LegendOpts(pos_top="48%"),
    )
)
bar=(
    Bar()
    .add_xaxis(xaxis_data=attr_h)
    .add_yaxis(
    "浏览人数",
        h4,
        label_opts=opts.LabelOpts(is_show=False)
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title="活动pv对比数据"),
    )
)

ggrid = (
    Grid()
    .add(bar, grid_opts=opts.GridOpts(pos_bottom="60%"))
    .add(h, grid_opts=opts.GridOpts(pos_top="60%"))
)
ggrid.render_notebook()

在这里插入图片描述

这是三天活动的日均数据,可以发现活动期间是商家在起主导作用大促集中在零点,因此用户的购买高峰也出现在0点,点击浏览的高峰集中在晚上的21点到22点之间,因此商家可以在20点前改好促销页面吸引顾客参加0点的活动。

  • 日常期间
#转换日常期间行为数据
cart_d= daily[daily.behavior_type == '3'].groupby('hours')['behavior_type'].count()
collect_d=daily[daily.behavior_type=='2'].groupby('hours')['behavior_type'].count()
buy_d=daily[daily.behavior_type=='4'].groupby('hours')['behavior_type'].count()
uv_d=daily[daily.behavior_type== '1'].groupby('hours')['user_id'].count()
attr_d=list(cart_d.index)
d1=np.around(cart_d.values/28,decimals=0).tolist()
d2=np.around(collect_d.values/28,decimals=0).tolist()
d3=np.around(buy_d.values/28,decimals=0).tolist()
d4=np.around(uv_d.values/3,decimals=0).tolist()
#作图
d=(Line(init_opts=opts.InitOpts(width="1000px",height="500px"))
    .add_xaxis(xaxis_data=attr_d)
    .add_yaxis("加购人数",d1,label_opts=opts.LabelOpts(is_show=False))
    .add_yaxis("收藏人数",d2,label_opts=opts.LabelOpts(is_show=False))
    .add_yaxis("购买人数",d3,label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=15)),title_opts=opts.TitleOpts(title="日均各时段活动用户行为",pos_top="48%"),legend_opts=opts.LegendOpts(pos_top="48%"),)
    .set_series_opts(markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max",name="最大值"),opts.MarkPointItem(type_="min",name="最小值"),]))
   )
y=(Bar().add_xaxis(xaxis_data=attr_d)
    .add_yaxis("浏览人数",d4,label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(title_opts=opts.TitleOpts(title="日常pv对比数据"),)
    .set_series_opts(markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max",name="最大值"),opts.MarkPointItem(type_="min",name="最小值"),]))
   )
ggrid = (Grid().add(y, grid_opts=opts.GridOpts(pos_bottom="60%")).add(d, grid_opts=opts.GridOpts(pos_top="60%")))
ggrid.render_notebook()

在这里插入图片描述

与大促不同的是日常期间购买人数从上午10点到晚上23点变化都不会太大,高峰出现在晚上21点,pv、加购、收藏的高峰出现在晚上21点到22点之间,说明大家都喜欢在晚上这个时间段浏览商品,日常时可以集中在这个时段进行促销活动。

  • 购买率
# 活动时购买率
hour_buy_user_num = active[active.behavior_type == '4'].drop_duplicates(['user_id','dates', 'hours']).groupby('hours')['user_id'].count()
hour_active_user_num = active.drop_duplicates(['user_id','dates', 'hours']).groupby('hours')['user_id'].count()
hour_buy_rate = hour_buy_user_num / hour_active_user_num
attr_o = list(hour_buy_user_num.index)
vo_2 =np.around(hour_buy_rate.values,decimals=2) 
# 日常时购买率
hour_buy_daily_num = daily[daily.behavior_type == '4'].drop_duplicates(['user_id','dates', 'hours']).groupby('hours')['user_id'].count()
hour_active_daily_num = daily.drop_duplicates(['user_id','dates', 'hours']).groupby('hours')['user_id'].count()
daily_buy_rate = hour_buy_daily_num / hour_active_daily_num
vi_2 =np.around(daily_buy_rate.values,decimals=2) 


hbu=(
    Line()
    .add_xaxis(xaxis_data=attr_o)
    .add_yaxis(
        "日常购买率",
        vi_2,
    )
    .add_yaxis(
        "活动购买率",
        vo_2,
    )
    .set_global_opts(title_opts=opts.TitleOpts(title="不同时段购买率"))
)

hbu.render_notebook()

在这里插入图片描述

日常时的购买率最高的出现在上午10点到下午16点间,还有晚上的21点左右,和活动期间的购买率不同,但是明显晚上21点已经在分析中出现比较多的峰值,因此可以考虑这个时段做做吸引用户购买的措施。

c 行为漏斗转化分析
  • 活动期间
from pyecharts.charts import Funnel

# 活动转化
a_pv=active[active.behavior_type=="1"]["user_id"].count()
a_cart=active[active.behavior_type=="3"]["user_id"].count()
a_collect=active[active.behavior_type=="2"]["user_id"].count()
a_buy=active[active.behavior_type=="4"]["user_id"].count()

a_attr=["点击","加入购物车","收藏","购买"]
values=[np.around((a_pv/a_pv*100),2),
        np.around((a_cart/a_pv*100),2),
        np.around((a_collect/a_pv*100),2),
        np.around((a_buy/a_pv*100),2),
       ]

data = [[a_attr[i], values[i]] for i in range(len(a_attr))]

a=(
    Funnel()
    .add(
        series_name="用户行为",
        data_pair=data,
        gap=2,
        tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b} : {c}%",is_show=True),
        label_opts=opts.LabelOpts(is_show=True, position="ourside"),
        itemstyle_opts=opts.ItemStyleOpts(border_color="#fff", border_width=1),
    )
    .set_global_opts(title_opts=opts.TitleOpts(title="用户转化漏斗", subtitle="活动"))
)

a.render_notebook()

在这里插入图片描述

活动期间日均从点击到加入购物车的转化率只有5.01%,购买的只有2.12%,说明点击浏览量不少,但是吸引不了顾客购买,虽然是大的活动,但是转化率还是很低的,可以从提高加购率和收藏率着手,从而吸引顾客购买。

  • 日常期间
# 日常转化
l_pv=daily[daily.behavior_type=="1"]["user_id"].count()
l_cart=daily[daily.behavior_type=="3"]["user_id"].count()
l_collect=daily[daily.behavior_type=="2"]["user_id"].count()
l_buy=daily[daily.behavior_type=="4"]["user_id"].count()

l_attr=["点击","加入购物车","收藏","购买"]
valuel=[np.around((l_pv/l_pv*100),2),
        np.around((l_cart/l_pv*100),2),
        np.around((l_collect/l_pv*100),2),
        np.around((l_buy/l_pv*100),2),
       ]

datal = [[l_attr[i], valuel[i]] for i in range(len(l_attr))]

dy=(
    Funnel()
    .add(
        series_name="用户行为",
        data_pair=datal,
        gap=2,
        tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b} : {c}%",is_show=True),
        label_opts=opts.LabelOpts(is_show=True, position="ourside"),
        itemstyle_opts=opts.ItemStyleOpts(border_color="#fff", border_width=1),
    )
    .set_global_opts(title_opts=opts.TitleOpts(title="用户转化漏斗", subtitle="日常"))
)
dy.render_notebook()

在这里插入图片描述


关注公众号:『AI学习星球
回复:电商用户行为可视化分析 即可获取数据下载。
算法学习4对1辅导论文辅导核心期刊可以通过公众号或➕v:codebiubiubiu滴滴我
在这里插入图片描述


4. 结论及建议

本次分析从四个不同的角度提出了问题,下面根据分析数据以及可视化结果给出结论和建议:

1. 用户活跃规律

  • 在以日为单位的时间尺度下,用户在双十二活动期间比平常时期要更加活跃,建议合理有效的根据时间维度进行拉新促销活动。
  • 平时一天中,大部分用户在19时到23时会比较活跃,其中21到22时,是一天当中最活跃的时段,成交量也是这一时段最高。建议可以在用户活跃的高峰期进行推广以使运营效果最大化,此时使用人数最多,活动容易触达用户,营销活动的形式可以通过促销、拼团、直播等形式进行。

2. 用户行为

从浏览到有购买意向只有1.4%的转化率,当然有一部分用户是直接购买,但也说明大多数用户以浏览页面为主而购买转化较少,此处为转化漏斗中需要改善和提高的环节。针对提高转化率提出一些建议:

  • 优化电商平台的搜索匹配度和推荐策略,主动根据用户喜好推荐相关的商品,优化商品搜索的准确度和聚合能力,对搜索结果排序优先级进行优化。
  • 在商品详情页的展示上突出用户关注的重点信息,精简信息流的呈现方式,减少用户寻找信息的成本。
  • 优化加入购物车和收藏按键的触达,用户在滑屏时也能方便触达,增加功能使用的次数。

3. 商品销售

针对浏览量高而销量不高的这部分商品,需要提高的是用户从点击进入商品详情页到最终购买的体验。

  • 商品详情页的实际价格是否相比展示价格偏差过大,有的商家为了吸引用户点击在商品展示页投放的价格具有较强吸引力,但实际价格偏高,在用户心中反而引起反感。
  • 详情页的信息流展示是否合理,是否将用户最想看到的部分置于容易看到的位置,便于信息的获取。
  • 优化商品展示的形式,利用视频等方式给用户更直观的感受,提高照片的美观程度。
  • 评论区评价管理,尤其对于差评区的用户反馈进行认真对待,提高自身服务质量。
  • 通过将畅销商品和非畅销商品进行捆绑销售,当然在做这些活动之前,可以先尝试做 A/B 测试,找到最适合的销售方式和最合适的商品类型捆绑,不断提升转化率。

4. 用户价值

  • 体系中的重要价值客户,需要重点关注,并且活动投放时需谨慎对待。
  • 对于占比最高的重要保持客户(忠诚度较高,购买能力不足),适当给予折扣或施行捆绑销售销售政策。
  • 对于重要发展客户,可以通过传递新品,通知店铺活动信息。
  • 对于挽留客户,运营活动可以重点针对这部分用户,提高用户使用产品的频率,可以通过拼团打折、积分兑换等活动唤起用户注意力。

5. 其他方面

  • 提高留存:淘宝APP的留存相对而言较为稳定,让用户提高、保持使用淘宝电商平台的频率相对而言更加重要。
  • 用户推荐:淘宝本身用户基数庞大,知名度高,个人认为在一二线城市的用户基本已经达到饱和,传播工作需要针对三四线城市的渠道下沉,在这些地区针对用户价格敏感度高的特性开展类似拼多多的拼团转发和打折促销活动,扩大这部分用户的使用率。

关注公众号:『AI学习星球
回复:电商用户行为可视化分析 即可获取数据下载。
算法学习4对1辅导论文辅导核心期刊可以通过公众号或➕v:codebiubiubiu滴滴我
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/294821.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

接口自动化-allure测试报告

学习目标&#xff1a; 1、测试报告的作用 2、allure的安装 3、allure的基本使用 4、allure的高级使用 学习内容&#xff1a; 1、测试报告的作用 自动化接口的结果呈现虽然可以通过日志文件去查看用例的成功或者失败&#xff0c;但是这样的结果就是不美观&#xff0c;不能…

删除注释(C语言)

从键盘上读入一行字符(约定&#xff1a;字符数≤127字节)&#xff0c;判断其中的注释是否合法&#xff0c;不合法则报错&#xff0c;合法时则删除注释后再输出。合法注释是指“/*”标记注释开始、“*/”标记注释结束&#xff0c;通常表现为/* ……*/。   注意事项&#xff1a…

四种“栈溢出检测方法”实现分析(2种纯软件、一种纯硬件、一种软硬件结合)

1、两种纯软件的栈溢出检测方法 参考博客&#xff1a;《freeRTOS的栈溢出检测机制》&#xff1b; 2、纯硬件&#xff1a;使用栈限制寄存器 2.1、工作逻辑分析 前提条件&#xff1a;使用满减栈硬件上提供栈限制寄存器&#xff08;用SP_limit表示&#xff09;&#xff0c;可以…

vue封装基础input组件(添加防抖功能)

先看一下效果&#xff1a; // 调用页面 <template><div><!-- v-model&#xff1a;伪双向绑定 --><my-input v-model"inputVal" label"姓名" type"textarea" /></div> </template><script> import…

Halcon根据特征值选择区域select_shape

Halcon根据特征值选择区域 关于提取图像的特征&#xff0c;比较常用的一个算子是select_shape算子&#xff0c;它能高效地根据特征提取出符合条件的区域。该算子的原型如下&#xff1a; select_shape (Regions : SelectedRegions : Features, Operation, Min, Max :)参数1和参…

Python 面向对象之继承和组合

Python 面向对象之继承和组合 【一】继承 【1】概念 继承是面向对象的三大特征之一继承允许一个类继承另一个类的属性和方法继承可以使代码重用&#xff0c;解决类与类之间代码重复的问题 【2】代码解释 不使用继承&#xff0c;创建豌豆射手类和豌豆的双发射手类 # 豌豆射…

【Golang】Json 无法表示 float64 类型的 NaN 以及 Inf 导致的 panic

【Golang】Json 无法表示 float64 类型的 NaN 以及 Inf 导致的 panic 原因 golang 服务出现了 panic&#xff0c;根据 panic 打印出的堆栈找到了问题代码&#xff0c;看上去原因是&#xff1a;json 序列化时&#xff0c;遇到了无法序列化的内容 [panic]: json: unsupported …

项目优化的方法

持续更新中… 目录 性能防抖、节流防抖(debounce)节流(throttle)防抖节流的区别&#xff1a; 图片/视频/音频压缩减少请求发送次数减少重绘与回流经常要切换消失与出现状态的节点用v-show而不用v-if按需引入路由懒加载懒加载图片懒加载列表懒加载 精灵/雪碧图Webpack优化前端性…

使用Go语言编写高效的HTTP服务器

随着互联网的快速发展&#xff0c;HTTP服务器在Web开发中扮演着越来越重要的角色。而Go语言作为一种高效、并发性强的编程语言&#xff0c;为编写高性能的HTTP服务器提供了强大的支持。本文将探讨如何使用Go语言编写高效的HTTP服务器。 首先&#xff0c;我们需要了解Go语言的H…

某大型电商APP sign头部签名逆向分析

APP版本 唯品会 7.45Java层抓包分析 打开抓包工具 charles进行分析&#xff0c;可以发现对于API采集需要突破当前这个参数&#xff0c;否则不返回信息 jadx静态分析 jadx静态分析&#xff0c;打开app搜索关键词api_sign&#xff0c;可以发现有参数位置 跟进去上边str赋值方…

三剑客前端教程

前端教程 结构层&#xff08;html&#xff09;表现层&#xff08;css&#xff09;行为层&#xff08;javascript&#xff09; HTML 超文本标记语言&#xff09; HTML&#xff08;超文本标记语言——HyperText Markup Language&#xff09;是构成 Web 世界的一砖一瓦。它定义…

LLM(九)| 使用LlamaIndex本地运行Mixtral 8x7大模型

欧洲人工智能巨头Mistral AI最近开源Mixtral 8x7b大模型&#xff0c;是一个“专家混合”模型&#xff0c;由八个70亿参数的模型组成。Mistral AI在一篇博客文章&#xff08;https://mistral.ai/news/mixtral-of-experts/&#xff09;介绍了Mixtral 8x7b&#xff0c;在许多基准上…

一致性算法Paxos

Paxos Paxos 算法解决的问题是一个分布式系统如何就某个值&#xff08;决议&#xff09;达成一致。一个典型的场景是&#xff0c;在一个分布式数据库系统中&#xff0c;如果各节点的初始状态一致&#xff0c;每个节点执行相同的操作序列&#xff0c;那么他们最后能得到一个一致…

如何实现任意文档的离线翻译且源文档格式不变?支持离线全自动翻译,无需改动页面、无语言配置文件、无API Key、对SEO友好!(附源码)

如何实现任意文档的离线翻译且源文档格式不变?支持离线全自动翻译,无需改动页面、无语言配置文件、无API Key、对SEO友好!(免费使用附所有源码) 在工作和生活中,是否遇到过这样的场景: 1)有些文档很长且不是自己擅长的语言,阅读起来很费力,需要把文档进行翻译之后再…

效果图渲染角度哪什么小技巧?

在创建效果图渲染时&#xff0c;正确设置相机角度对于表现设计的视觉效果至关重要。好的效果图通常能够增强设计图张力&#xff0c;通过效果图也能更好的看到真实物体的成果&#xff0c;以下是一些效果图渲染角度技巧&#xff0c;可以帮助你提高渲染的质量和表现力&#xff0c;…

软件测试|一篇文章带你深入理解SQL约束

深入理解SQL约束&#xff1a;保障数据完整性和一致性的重要工具 SQL约束是在关系型数据库中用于保障数据完整性和一致性的重要工具。本文将深入探讨SQL约束的概念、类型以及应用&#xff0c;以帮助读者更好地理解和使用SQL约束来确保数据库中的数据质量。 SQL约束 约束&…

Maven之依赖的传递

问题导入 1. 依赖传递 A依赖B&#xff0c;B依赖C&#xff0c;A是否依赖于C呢&#xff1f;–A依赖于C 依赖具有传递性 路径优先&#xff1a;当依赖中出现相同的的资源时&#xff0c;层级越深&#xff0c;优先级越低&#xff0c;层级越浅&#xff0c;优先级越高 声明优先&…

鸿蒙会不会像10几年前安卓一样,红极一时

如今&#xff0c;鸿蒙与安卓彻底切割时间似乎越来越近&#xff0c;一批嗅觉灵敏的互联网厂商已经完成或开始启动开发鸿蒙原生App。随着头部App厂商启动鸿蒙&#xff08;HarmonyOS&#xff09;原生应用开发&#xff0c;鸿蒙开发人才变得紧缺。专家预测&#xff0c;鸿蒙开发的人才…

通过聚道云软件连接器实现金蝶软件与客如云软件的无缝对接

客户介绍 某知名冷饮连锁品牌是国内一家拥有数千家门店的知名品牌&#xff0c;作为一家专注于冷饮和甜品的企业&#xff0c;我们致力于提供高品质、健康美味的食品&#xff0c;为消费者带来冰凉的甜蜜与畅快的口感。 我们始终坚持选用优质原料&#xff0c;严格把控生产流程&a…

数据库基础知识1

关系模型的程序员不需熟悉数据库的存取路径 在3层模式结构中,___I___是数据库的核心和关键,___Ⅱ___通常是模式的子集,数据库模式的描述提供给用户,____Ⅲ__的描述存储在硬盘上。Ⅰ.模式Ⅱ. 外模式Ⅲ. 内模式 数据库中,数据的物理独立性是指用户的应用程序与存储在磁盘上数据库…