摘要:前言一个比较完整的,销售漏斗必不可少。销售漏斗的出现就是要解决这样一个问题的。需求分析通过插件实现销售漏斗图。
前言
一个比较完整的CRM,销售漏斗必不可少。它能直观的通过图形方式,指出公司的客户资源从潜在客户阶段,发展到意向客户阶段、谈判阶段和成交阶段的比例关系,或者说是转换率。这些信息对于任何一个销售者都是无比重要的,传统方式使用纸和笔计算统计出来,费时费力,不直观。销售漏斗的出现就是要解决这样一个问题的。
那么,销售漏斗怎么实现呢?这个应该是大家比较关心的问题,听我一一讲述。
通过Highcharts插件实现销售漏斗图。(这是一个Yii2的插件,大家自行下载安装,文章结尾我会附上下载地址)
效果图 实现思路网上查过资料,没有找到任何一篇文章是直接说明销售漏斗的PHP用法,都是说Js用法的。没有母本参照,只能自己下功夫。灵机一动,我把百度找来的Js用法的数组格式转换成了PHP语言,成功了。插件虽语言不同,但用法还是有共性的哈哈。
代码分析1、插件需求数组的参照格式。
</>复制代码
$funnel=["0"=>[
"name"=> "Unique users",
"data"=> [
["Website visits", 15654],
["Downloads", 4064],
["Requested price list", 1987],
["Invoice sent", 976],
["Finalized", 846]
]
]
];
2、按照插件需求的数组格式组数组。
</>复制代码
public function actionIndex()
{
$company_id=isset(Yii::$app->user->identity->attributes["company_id"])?Yii::$app->user->identity->attributes["company_id"]:"-1";
$company=Company::getAllN($company_id);
$funnel=[];
$_time=$this->currentMonth();
//调用销售漏斗方法
$funnel=$this->actionCountMoney($_time["begin_time"],$_time["end_time"]);
return $this->render("index", [
"funnel"=>$funnel,
"company"=>$company,
]);
}
/*
*销售漏斗
*按公司按销售阶段统计线索的销售金额
*/
public function actionCountMoney($begin_time,$end_time)
{
$company_id=isset(Yii::$app->user->identity->attributes["company_id"])?Yii::$app->user->identity->attributes["company_id"]:"-1";
$uids=UserService::getCUser($company_id);
$query = new Query();
$query->select([
"sell_status.status as status",
"sum(`money`) as count_money"
])
->from("t_chance")
->groupBy([
"status"
])
->join("left join","sell_status","t_chance.status = sell_status.id")
->orderBy("status");
//匹配公司所有员工
$query->andWhere(["in","owner_id",$uids]);
//按本月、本季度、本年查找
$query->andWhere(["between","end_date",strtotime($begin_time),strtotime($end_time)]);
$data=$query->all();
//销售漏斗的主要数组格式部分(重点)
$_data=[];
if(!empty($data)){
foreach ($data as $k => $val) {
$data1[0]=$val["status"];
if(empty($val["status"])){
$data1[0]=Yii::t("yii","Not status");
}
$data1[1]=(int)$val["count_money"];//数字部分必须转为整型(int)才行
$_data[]=$data1;
}
}else{
$_data[]=[Yii::t("yii","Not status"),0];
}
$data2["name"]=Yii::t("yii","Sales amount");
$data2["data"]=$_data;
$_data2[0]=$data2;
return $_data2;
}
3、视图调用。
</>复制代码
"funnel_highcharts", //定义一个唯一的id
"scripts" => [
"modules/funnel",
"themes/funnel.src",
],
"options"=>[
"chart"=>[
"type"=> "funnel",
"height"=>300, //设置图表的高度
"marginRight"=>100
],
"title"=> [
"text"=>Yii::t("yii","Funnel chart of sales amount in different sales stages"),
"x"=>-50
],
"plotOptions"=>[
"series"=> [
"dataLabels"=> [
"enabled"=>true,
"format"=>"{point.name}: {point.y:,.0f}",
"color"=> "(Highcharts.theme && Highcharts.theme.contrastTextColor) || black",
"color" => new JsExpression("(Highcharts.theme && Highcharts.theme.contrastTextColor) || "black""),
"softConnector"=> true
],
"neckWidth"=>"15%",
"neckHeight"=>"12.5%"
],
"funnel"=>[
"height"=>250, //设置漏斗的高度
"width" => 200
],
],
"legend"=>[
"enabled"=>false
],
"series"=> $funnel,
]
]);
?>
注意事项
1、给插件定义一个唯一的id,避免一个页面多次使用同样的插件造成冲突。
2、按照插件需求的数组格式组数组,格式必须一致,数字部分必须转为整型(int)。
相关资料Highcharts插件下载地址
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/91041.html
摘要:前言一个比较完整的,销售漏斗必不可少。销售漏斗的出现就是要解决这样一个问题的。需求分析通过插件实现销售漏斗图。 前言 一个比较完整的CRM,销售漏斗必不可少。它能直观的通过图形方式,指出公司的客户资源从潜在客户阶段,发展到意向客户阶段、谈判阶段和成交阶段的比例关系,或者说是转换率。这些信息对于任何一个销售者都是无比重要的,传统方式使用纸和笔计算统计出来,费时费力,不直观。销售漏斗的出现...
摘要:于是在这样的背景下,客户关系管理系统出现了。可以说,有了,企业就有了一套完整的客户管理工具,也相当于有了一个数据分析的工具。 关于客户,越来越多的企业觉得有必要对面向客户的各项信息和活动进行集成,组建以客户为中心的企业,实现对客户活动的全面管理。于是在这样的背景下,CRM(客户关系管理)系统出现了。 而对于销售行业来说,一套好用的CRM系统更是可以发挥出不可估量的价值。 CRM系统对于...
小编写这篇文章的主要目的,主要是来给大家去做出一个相关性的介绍,介绍的内容主要还是涉及到Python pyecharts,主要是利用Python pyecharts去绘制漏斗,那么,具体要怎么绘制呢?下面给大家详细解答下。 漏斗图 漏斗图是由Light等在1984年提出,一般以单个研究的效应量为横坐标,样本含量为纵坐标做的散点图。效应量可以为RR、OR和死亡比或者其对数值等。理论上讲,被纳...
摘要:使用机器学习进行客户管理,我们可以得到客户度全方位的视图。本文以的客户管理应用为例,介绍机器学习是如何同传统的客户管理应用进行集成的。 使用机器学习进行客户管理,我们可以得到客户360度全方位的视图。 本文以SAP Cloud for Customer的客户管理应用为例,介绍机器学习是如何同传统的客户管理应用进行集成的。 打开SAP C4C的客户中心,在客户列表里选中任意一个客户,能在...
阅读 1225·2021-11-22 13:52
阅读 1559·2021-11-19 09:40
阅读 3440·2021-11-16 11:44
阅读 1458·2021-11-15 11:39
阅读 4108·2021-10-08 10:04
阅读 5584·2021-09-22 14:57
阅读 3243·2021-09-10 10:50
阅读 3318·2021-08-17 10:13