广告投放数据分析中,指标常包含以下数据:
- 转化量:指客户完成的操作,例如在网站完成购买或加入购物车操作。
- 点击量:看到广告的用户点击广告的次数。
- 展示次数:广告首次在用户屏幕展示的次数。
- 点击率或 CTR:广告收到的点击次数除以展示次数。
- 单次链接点击费用 (CPC):每次有人点击广告时,支付的平均费用。此数值的计算方式为广告花费的金额除以广告得到的点击量。
- 千次展示费用 (CPM):您为 1,000 次广告展示所支付的平均费用。
- CPA(Cost Per Action),即平均每个激活用户的成本
CPA=广告投入总额/所投的广告带来的激活用户数
- ROI(Return On Investment)即投资回报率,是指投资后所得的收益与成本间的百分比率
投资回报率(ROI)=利润/投资总额×100%
一、数据准备
1、数据来源:
An introduction to Facebook ad analysis using Rwww.kaggle.com
2、数据清洗
a.首先使用R对数据进行概览:一共11个变量,1143条广告数据的展示、点击等情况。详细如下图:
b.缺失值查找:未发现缺失值
aggr(ad,prop=FALSE,number=TRUE)#agger函数获取缺失值个数分布
二、分析整体广告投放效果
1、分析思路:
2、广告投放效果对比分析
a、增加比例指标变量,查看广告投放效果:
- CTR点击率= Clicks /Impressions
- 第一次转化率=Total_Conversion /Clicks
- 第二次转化率=Approved_Conversion/Total_Conversion
b、广告收益、成本分析,增加比例指标变量:
- CPM(千次展示成本)=1000*Spent/Impressions
- CPC(单次点击成本)=Spent/Clicks
- CPA(单次获客成本)=Spent/Approved_Conversion
- ROI(投资回报率)=100*Approved_Conversion/Spent,假定每次交易收入为100元
3、收益最高916类广告受众分析
虽然916广告投放效果非常好,我们还是想看看改广告是否有优化可能:
※※分析中用到的SQL 语句和原始数据查询结果:
a.增加比例指标变量,查看广告投放效果,在sql中的语句如下
- CTR点击率= Clicks /Impressions
- 第一次转化率=Total_Conversion /Clicks
- 第二次转化率=Approved_Conversion/Total_Conversion
SELECT xyz_campaign_id AS 'XYZ公司广告类别',SUM(Impressions) AS '展示量',SUM(Clicks) AS '点击量',
CONCAT(ROUND(100*SUM(Clicks)/SUM(Impressions),6),'%') AS '点击率',
SUM(Total_Conversion) AS '咨询量', CONCAT(ROUND(100*SUM(Total_Conversion)/SUM(Clicks),6),'%') AS '第一次转化率',
SUM(Approved_Conversion)AS '交易量',CONCAT(ROUND(100*SUM(Approved_Conversion)/SUM(Total_Conversion),6),'%' )AS '第二次转化率'
FROM ad GROUP BY xyz_campaign_id;
b、广告收益、成本分析,增加比例指标变量:
- CPM(千次展示成本)=1000*Spent/Impressions
- CPC(单次点击成本)=Spent/Clicks
- CPA(单次广告获客成本)=Spent/Approved_Conversion
- ROI(投资回报率)=100*Approved_Conversion/Spent,假定每次交易收入为100元
SELECT xyz_campaign_id AS 'XYZ公司广告类别',ROUND(1000*SUM(spent)/SUM(impressions),2) AS CPM,
ROUND(SUM(spent)/SUM(clicks),2) AS CPC,ROUND(SUM(spent)/SUM(Approved_Conversion),2) AS CPA,
CONCAT(ROUND(100*100*SUM(Approved_Conversion)/SUM(spent),3),'%') AS ROI
FROM ad GROUP BY xyz_campaign_id;
广告受众分析
a.投放效果最好广告分析
916年龄分布
#年龄转化分析
SELECT age,SUM(Impressions) AS '展示量',SUM(Clicks) AS '点击量',
CONCAT(ROUND(100*SUM(Clicks)/SUM(Impressions),6),'%') AS '点击率',
SUM(Total_Conversion) AS '咨询量', CONCAT(ROUND(100*SUM(Total_Conversion)/SUM(Clicks),6),'%') AS '第一次转化率',
SUM(Approved_Conversion)AS '交易量',CONCAT(ROUND(100*SUM(Approved_Conversion)/SUM(Total_Conversion),6),'%' )AS '第二次转化率'
FROM adfb
WHERE xyz_campaign_id='916'
GROUP BY age;
#性别转化分析
SELECT gender,SUM(Impressions) AS '展示量',
CONCAT(ROUND(100*SUM(Clicks)/SUM(Impressions),6),'%') AS '点击率',
CONCAT(ROUND(100*SUM(Total_Conversion)/SUM(Clicks),6),'%') AS '第一次转化率',
CONCAT(ROUND(100*SUM(Approved_Conversion)/SUM(Total_Conversion),6),'%' )AS '第二次转化率'
FROM adfb
WHERE xyz_campaign_id='916'
GROUP BY gender;
#标签转化分析
SELECT interest,SUM(Impressions) AS '展示量',
CONCAT(ROUND(100*SUM(Clicks)/SUM(Impressions),6),'%') AS '点击率',
CONCAT(ROUND(100*SUM(Total_Conversion)/SUM(Clicks),6),'%') AS '第一次转化率',
CONCAT(ROUND(100*SUM(Approved_Conversion)/SUM(Total_Conversion),6),'%' )AS '第二次转化率'
FROM adfb
WHERE xyz_campaign_id='916'
GROUP BY interest
ORDER BY SUM(Impressions) DESC;
916性别、兴趣标签转化数据