根据提供的数据和核心分析维度,我们可以进行以下几方面的分析:
爆发潜力:
达人覆盖:
周期对比:
佣金策略:
准备数据:
计算爆发潜力:
import pandas as pd
# 假设已有如下数据框df
df = pd.DataFrame({
'商品编号': [1, 2, 3],
'昨日销量': [50, 75, 60],
'前一日销量': [45, 70, 58],
'佣金比例': [1.5, 1.7, 2.0]
})
# 计算增长百分比
df['昨日增长百分比'] = (df['昨日销量'] - df['前一日销量']) / df['前一日销量'] * 100
# 打印结果
print(df)
达人覆盖分析:
def calculate_reach_effectiveness(sales_data, num_influencers):
# 假设每增加一个达人都可以带来一定比例的增长
effectiveness_per_influencer = 20 # 这个值需要根据实际情况调整
total_sales = sales_data['昨日销量'].sum()
additional_sales = num_influencers * effectiveness_per_influencer
return (total_sales + additional_sales) / total_sales
influencer_effectiveness = calculate_reach_effectiveness(df, len(df))
print(f"达人覆盖的总体效果: {influencer_effectiveness}")
周期对比分析:
def plot_sales_trend(sales_data):
import matplotlib.pyplot as plt
# 创建一个新的数据框来存储7天、14天和28天的增长率
trend_df = pd.DataFrame({
'商品编号': sales_data['商品编号'].unique(),
'7天增长率': [],
'14天增长率': [],
'28天增长率': []
})
for idx in trend_df.index:
product_sales = sales_data.loc[sales_data['商品编号'] == trend_df.at[idx, '商品编号']]
recent_7_days_avg = product_sales.iloc[-7:]['昨日销量'].mean()
recent_14_days_avg = product_sales.iloc[-14:-7]['昨日销量'].mean()
recent_28_days_avg = product_sales.iloc[-28:-14]['昨日销量'].mean()
trend_df.at[idx, '7天增长率'] = (recent_7_days_avg - recent_28_days_avg) / recent_28_days_avg * 100
trend_df.at[idx, '14天增长率'] = (recent_14_days_avg - recent_28_days_avg) / recent_28_days_avg * 100
# 绘制趋势图
plt.figure(figsize=(10, 5))
for idx in trend_df.index:
product_name = sales_data.loc[sales_data['商品编号'] == trend_df.at[idx, '商品编号'], '商品名称'].values[0]
plt.plot(trend_df.iloc[:, [2, 3, 4]].loc[idx], label=product_name)
plt.xlabel('时间窗口')
plt.ylabel('增长率 (%)')
plt.legend()
plt
以上分析数据来源:互联岛