活动回顾|《数驱·营销闭环 助力品牌增长》全国巡演北京站

Markdown现场认真听讲的同学们

7月24日,TalkingData在北京成功举办了《数驱·营销闭环 助力品牌增长》全国巡演第五站营销主题的线下沙龙。在本次沙龙中,我们诚意邀请到TalkingData数据分析高级总监 王鹏、谷歌中国大客户行业总监 曹静、爱奇艺高级产品运营师 周超和凤凰网商业产品技术负责人 王思涵 ,为大家分享营销案例和经验。现在,我们一起回顾下在本次沙龙中嘉宾们分享了哪些营销干货。

一、《数据助力营销 闭环驱动增长》

Markdown分享人:王鹏 TalkingData 数据分析高级总监

TalkingData数据分析高级总监王鹏把本次分享内容分为4个模块:1.势:数据洞察行业趋势;2.道:厘清营销模式流程;3.术:数据构建营销策略;4.器:产品助力营销闭环。

我们在本篇中带大家主要回顾第1-3部分。

1.势:数据洞察行业趋势

趋势一:使用习惯逐渐固化,竞争从流量转型运营;趋势二:数字营销推广作弊态势持续激增;趋势三:信息流广告独占鳌头,地位难以撼动;

趋势四:HTML5 WebApp推广进入爆发阶段;趋势五:线上线下全面融合,或成为下一个营销增长点;趋势六:数字营销走向数据营销;

2.道:理清营销模式流程

王鹏表示行业关注和需要解决的问题为以下三个方面:

  • 流量质量是广告主关注焦点

流量反欺诈、流量层过滤、私有交易流量使投放更加精准,而且使流量得到保证,解决数字营销中“流量”这个关键性问题;

  • 数据为数字营销提供基础

数字营销离不开「数据」,利用数据对受众静态属性、动态属性、各种行为习惯的分析,使精准营销成为可能;

  • 闭环营销让效果持续提升

通过对用户广告行为的持续学习,实现效果的不断优化,利用机器的试错、总结、学习,逐步完成迭代式优化,基于效果投相似效果。

3.术:数据构建营销策略

王鹏把在数据构建营销策划环节,拆分成:产品定位用户研究、数据助力策略制定、灵活通联数据准备、闭环监测效果优化这4个闭环模块。

  • 需求分析–产品定位及用户研究

王鹏根据以往的汽车和游戏案例具体阐述了,真正明智的广告主是不会自定义客户的样子,而是应该从数据的角度去定义。TalkingData的海量数据可支撑广告主全面深度研究用户,助力广告主挖掘用户特征和产品趋势,优化广告主公司业务,持续保持行业领先位置。

  • 投放策略–多维数据助力策略制定

在以往投放策略里,通常我们只能考虑一些简单的像人口属性、区域等这样的维度。但是现在,可用更多维度,做投放策略支持。

Markdown

  • 数据准备–灵活联通,定向筛选,多维组合

营销策略和数据准备是可以通过TalkingData的TDID打通的,灵活使用种子人群数据和把线上线下数据进行融合,变通的结合客群研究和产品定位制定投放策略。在数据准备时可以从标签、终端属性、线上、线下、时间,这些维度去组合考虑。

Markdown

  • 闭环监测–效果优化,分群分析

在策略投放完成后,可通过TalkingData的Ad Tracking进行效果监测。广告主可通过广告监测对投放效果和媒体质量进行评估,媒体可通过广告监测做实时结算依据。

二、《AI让营销更智能》

Markdown分享人: 曹静 谷歌中国大客户行业总监

在本场沙龙中曹静以猜画小歌、谷歌翻译和AlphaGo等案例,为现场同学分享了人工智能学习技术和神经网络的机器学习系统。并阐述了“不是说机器战胜了人,而是一群人战胜了一个人。因为机器背后是一群人设计了逻辑、算法,让机器能够学习到这些东西,去做这样的事情”这一观点。

在广告投放层面,以前的广告投放,可以拿到的广告数据具有局限性。现在虽有大量的像搜索词条、位置、时段等非常多的数据。但此时,数据的多样性和复杂度已经超越人工处理的极限。所以谷歌已于去年制定了,把所有应用下载的广告投放全部由机器学习来进行的策略。

完整分享内容,请点击文末原文链接。

三、《视界TOUCHALL-2018爱奇艺效果推广趋势分享》

Markdown分享人:周超 爱奇艺 高级产品运营师

爱奇艺 高级产品运营师 周超为现场同学分享了信息流广告营销生态中三方需求:

  • 广告主,更高效地与消费者沟通,不一起反感,让目标受众可见,尽可能广覆盖,实现更高ROI;
  • 用户,不想被广告主打扰,受众每天被动接触到广告繁多,但对广告接受意愿低;
  • 平台,因为用户习惯和用户时间均像移动端转变,各平台需要移动端转型,迎合时代潮流。

更多分享内容与案例,点击文末原文链接。

四、《行业垂直数据在广告投放中的应用》

Markdown分享人:王思涵 凤凰网 商业产品技术负责人

在本次分享中,王思涵为现场同学分享了他的工程经验与经营意识:

  • 采用先进的技术架构

提升开发效率的同时又能保障工程质量,仅用4个月的时间就完成了广告系统的重构;

  • 大数据计算技术创新

海量广告实时数据的多维度计算秒级响应,在反作弊与算法预估的应用上的效率处于行业领先;

  • 布局移动办公

推出出凤羽移动端APP,抓碎片化的时间,随时随地操作账户提升效率;

  • 突破超越

工程经验只能迅速的帮你达到天花板,而经营意识才是突破天花板的利器。

完整分享内容,点击文末原文链接。

完整视频回放:https://lnk0.com/dEZBN1

技术专栏丨集合管道模式(上)

TalkingData 李冰心:

近来想深入了解下 Java 流底层的实现机制,于是搜索各种资源,最后发现 Martin Fowler 发表的一篇关于集合管道模式的一篇文章,有幸得以拜读,关于集合管道有其独到的见解,看过之后深感佩服,由于原文是英文,索性将其翻译,和大家一起分享,翻译不合理的地方敬请指出。

集合管道

集合管道是一种编程模式,将一些计算转化为一系列操作,通常情况下每个操作的输出结果是一个集合,同时该结果作为下一个操作的输入,常见的操作主要有filter、map和reduce。这种模式常见于函数式编程语言中,因为有了lambdas,这种模式在面向对象语言中也很常见。如果你不熟悉这种模式,通过本文关于构造管道事例的讲解,你会理解其核心概念,从一种语言联想到另外一种语言。

在软件中,集合管道是一种最常见、最令人酣畅淋漓的模式。在 unix 黒与白的命令行中,在面向对象设计语言万物皆对象的类中,在函数式编程语言第一等公民的函数中,都可以发现它们的身影。 不同环境有着不同的表现形式,共通操作有着不同的名称,但是一旦你熟悉了它,你会发现根本离不开它。

初见

第一次接触到这种模式,应该是使用 Unix 的时候。接下来会介绍一些 Unix 的事例,设想下如何在 bliki/entries 目录下查找文件内容包含文本 “nosql” 的文件列表,可以使用grep这样操作:

grep -l ‘nosql’ bliki/entries

每个文件出现单词 “nosql” 的次数:

grep -l ‘nosql’ bliki/entries/* | xargs wc -w

根据次数排序:

grep -l ‘nosql’ bliki/entries/* | xargs wc -w | sort -nr

排序后取top3

grep -l ‘nosql’ bliki/entries/* | xargs wc -w | sort -nr | head -4 | tail -3

不管之前还是以后,和其他环境的命令行工具相比,这种方式都是无可比拟的。

在开始使用Smalltalk时,发现了相同的模式。 假设有一个文章列表 someArticles,列表中的每篇文章 article 定义了很多标签,同时又统计了单词数量,如果想查找哪些文章包含标签 “nosql”:

someArticles select: [ :each | each tags includes: #nosql]

其中 select 方法使用了Lambda表达式来定义:每篇文章 article 作为输入参数,同时验证标签集合中是否包含 “nosql”。该方法会作用于文章列表的每篇文章,最后输出匹配的结果。

为了排序,扩展了上面的代码

(someArticles
      select: [ :each | each tags includes: #nosql]) 
      sortBy: [:a :b | a words > b words]

sortBy 方法同样使用了Lambda表达式定义:文章互相比较,最终返回一个排序后的文章列表。继续其他操作:

((someArticles 
      select: [ :each | each tags includes: #nosql])
      sortBy: [:a :b | a words > b words]) 
      copyFrom: 1 to3

与 unix 管道最核心的相似之处在于:涉及的所有操作例如 select、sortBy 和 copyFrom 输入输出都是集合。unix 中集合是一行行记录构成的流,而Smalltalk集合是对象,但基本概念是相同的。

最近,使用Ruby进行了很多开发,改进后的语法可以更加便捷的操作管道。

some_articles
  .select{|a| a.tags.include?(:nosql)}
  .sort_by{|a| a.words}
  .take(3)

在面向对象语言中,使用方法链构造集合管道是一种很自然的方式。同样也可以使用嵌套函数。

回顾一些基础知识,看看如何使用 lisp 构造类似管道,我会定义存储所有文章的结构体 articles:其中可以通过方法 article-words 和 article-tags 获取内部字段。

基于现有的文章列表 some-articles,获取标签集合中包含 nosql 的文章:

(remove-if-not
   (lambda (x) (member 'nosql (article-tags x)))
   (some-articles))

为了排序,再次使用了lambda:

(sort
   (remove-if-not
      (lambda (x) (member 'nosql (article-tags x)))
      (some-articles))
   (lambda (a b) (> (article-words a) (article-words b))))

使用方法 subseq 获取top3

(subseq
   (sort
      (remove-if-not
         (lambda (x) (member 'nosql (article-tags x)))
         (some-articles))
      (lambda (a b) (> (article-words a) (article-words b))))
 0 3)

看啊,那就是管道,通过我们一步步的构造,看起来是多么完美。然而最终的表达式是否清晰自然,有待商讨。对于 unix、smalltalk 和 ruby 下管道执行的顺序依赖于内部方法的线性排序。 在你的头脑中应该很容易虚拟化这种场景:左上角的数据经过过滤,最后从右下角输出。 同样可以在 Lisp 中使用嵌套函数,但是你需要掌控函数的嵌套层级。

最近流行的 lisp,Clojure 避免了嵌套层级:

(->> (articles)
     (filter #(some #{:nosql} (:tags %)))
     (sort-by :words >)
     (take 3))

符号 “->>” 是一个线程宏,通过使用 lisp 强大的语法宏功能将每个表达式结果作为下一个表达式的输入。 你可以使用提供的库将嵌套函数转化为线性管道,只需要遵循约定即可。

对于大多数函数开发者来说,可以游刃有余的处理函数的嵌套,线性化无足轻重,所以这就是为什么经过了这么长的时间,lisp才支持操作符 “->>” 。

这些天常听到函粉对于集合管道的赞赏之声,夸奖函数式编程语言的强大,而又感叹面向对象设计语言的不足。这种说法其实非常片面,因为对于众多的 Smalltalk 开发者来说已经广泛的使用了集合管道。而集合管道在面向对象语言中例如 C++、Java 和 C# 中没有被支持的原因,有人说没有借鉴 Smalltalk 的 lambda,此外缺少足够丰富的集合操作。以至于很多面向对象开发人员栽进了集合管道里。 Java 大行其道时不支持lambdas,对于像我这样 Smalltalk 开发者常常会抱怨,但是又不得不忍受。 在 Java 中如何构造集合管道,有过各种尝试,而每种尝试都需要大量的代码来实现,使得即使技术熟练的人也被迫放弃。 在2000年左右我开始使用Ruby,重要原因是因为Ruby支持集合管道。有时候我会感概在我的 Smalltalk 时代,错过了很多有价值的东西。

lambdas 由于短小实用赢得了很多关注,C# 已经支持很多年,现在 Java 也开始支持。 如今你可以在许多语言中使用集合管道。

重磅丨2018世界杯热点报告

作者:TalkingData

刚刚结束的俄罗斯世界杯为全世界球迷带来了四年一度的足球狂欢。与往届世界杯相比,移动直播应用的参与为球迷观看比赛提供了新的平台,而看球时点一份外卖则成为了很多球迷夜宵的新选择。在《2018世界杯热点报告》中,TalkingData与美团、网易新闻合作,盘点本届世界杯对于移动应用的影响,描绘移动直播平台观赛人群画像,梳理世界杯下的球迷生活变化。

Markdown

世界杯开赛刺激移动直播应用用户增长

作为2018俄罗斯世界杯中国地区转播版权方,央视旗下两款直播应用——央视影音、CCTV5在世界杯开赛后迎来用户数迅猛增长,CCTV5应用周覆盖指数连续两周增速超过50%,而新媒体版权方咪咕视频应用周覆盖指数增速同样超过10%。

在开赛两周后,世界杯直播应用周覆盖指数告别快速增长,用户规模趋于稳定。

Markdown

广告虽然略显洗脑但是有用

本届世界杯的一大热点话题是移动应用也玩起了洗脑广告无限轰炸的套路,知乎、马蜂窝旅行、Boss直聘都在世界杯转播中进行了广告投放。虽然广告内容引发吐槽,但是大规模的广告投放对于应用用户增长仍然起了正面作用,三款应用周覆盖指数整体保持正增长态势。

Markdown

冷门迭出引爆关注,日本队自带流量

德国、西班牙两队分别爆冷输给韩国、俄罗斯的对决是半决赛前最受关注的比赛,两场比赛战报在网易新闻客户端中浏览量最高。日本队虽然止步十六强,但其击败哥伦比亚的比赛位居赛事关注度第三,而出局后整洁的更衣室又引发网友大讨论,关于日本队更衣室的讨论在世界杯新闻内容中热度最高。

Markdown

85后、90后男性是世界杯观赛人群主力

在俄罗斯世界杯移动端观赛人群中,26-35岁男性是占比最高的群体。足球仍然是男人的浪漫,世界杯观赛球迷人群中男性占比是女性人群的2.5倍。年龄分布中,26-35岁人群占比为49.9%,构成了观赛人群的主体。

Markdown

OPPO、vivo是世界杯观赛人群最常用安卓品牌

在世界杯观赛人群安卓设备品牌分布中,OPPO、vivo、华为居于前三位,OPPO、vivo品牌占比合计超过48%。安卓设备价格分布中,100-1999元是最受世界杯观赛人群欢迎的设备价位。

Markdown

德国队三十年老球迷占比最高

在阿根廷、巴西、德国等强队观赛人群中,英格兰队、巴西队最受女球迷青睐,法国队最受“钢铁直男”球迷欢迎。在各年龄段偏好中,19岁以下年轻球迷更喜欢西班牙、英格兰,而46岁以上老球迷更偏爱德国、巴西这两支传统豪强球队,86年的桑巴军团、90年的德意志战车是老球迷们永远的美好回忆。

Markdown

英格兰、法国比赛观众消费娱乐更为活跃

除视频、通讯社交外,游戏、金融理财、餐饮等类别应用在英格兰、法国比赛观众中覆盖率要高于其他球队。而在线下消费中,英格兰、法国比赛观赛人群在各消费类别中的活跃度也要明显高于其他球队观赛人群。

Markdown

搜索热度:看球、彩票、世界杯等关键词搜索量大涨700%+,毛豆、啤酒搜索量上涨超过40%,酒吧成为最热看球场所

Markdown

在家看球:比赛时段内送往住宅楼的外卖订单较平日上涨18%,男生最爱点炸鸡、烤串,女生则偏爱小龙虾、卤味

Markdown

梅西、内马尔等超级球星比赛的场次,夜间外卖较平日上涨17%

Markdown

酒吧看球:酒吧订单较平日上涨15%,清吧最受消费者欢迎,订单较平日增加18%

Markdown

出行+消费:世界杯期间,夜间周末出行订单较平日上涨18%,去往酒吧、KTV等娱乐场所的订单上涨14%

Markdown

 

小程序UI组件库iView Weapp发布,开源、免费、分分钟上手!

TalkingData温馨提示:文末有彩蛋哟

过去的两年里,iView 开源项目已经帮助成千上万的开发者快速完成网站开发,大幅度提高了开发效率,成为 Vue.js 生态里重要的一部分。

与此同时,我们也在思考,除了服务 PC Web,iView 还能提供什么。可能是 Mobile Web?但同类产品已经太过丰富,所以 iView 一直没有探索 Mobile 端。但是,我们注意到,微信小程序正在崛起,这将是移动端新的一种开发模式。

对于微信小程序,iView 团队并不陌生,在微信最早发布小程序时,TalkingData就上线了小程序统计分析服务(https://www.talkingdata.com/weApp/weApp.jsp)近期又推出了小程序推广检测服务

现在,微信对小程序越来越开放,提供的入口也越来越多,这让很多开发者投入到小程序的开发上。

经过一个月的探索,我们明确了能针对微信小程序开发提供怎样的服务。于是, iVew团队基于在UI组件方面的2年积累,推出了这套高质量的 UI 组件库——iView Weapp。相信 iView 的开发者也会喜欢。

GitHub地址:https://github.com/TalkingData/iview-weapp

开发文档:https://weapp.iviewui.com/

欢迎 Star 和 PR !

iView Weapp 是什么?

微信小程序提供了自定义组件的功能,这使得 iView Weapp 成为了可能。小程序已经提供了很多组件和 API,但它们过于基础,实际开发时仍需要一定的封装和 UI 调整。iView Weapp 提供了与 iView 一致的 UI 和尽可能相同的接口名称,大幅度降低了学习成本,使用起来如鱼得水。如果你是 iView 的核心用户,用起 iView Weapp 来甚至不用看文档!当然,我们对新用户也很友好,事无巨细的文档、友好的 API 和完整的示例,几分钟就可以上手啦。

iView Weapp 1.0 提供了 30 个组件,并会不断丰富:

Markdown

先睹为快

使用微信扫一扫,体验 iView Weapp 小程序组件示例:

(注:单击下图后长按即可识别。)

Markdown

当然,你也可以在微信开发者工具中查看:

# 从 GitHub 下载后,安装依赖

npm install

# 编译组件

npm run dev

然后,将 examples 目录在微信开发者工具中打开即可。

1.0 目前提供的都是基础组件,能够满足大部分常用的布局和交互。接下来,我们还会提供更为丰富的基础组件及典型业务组件,比如刮刮乐,旨在为小程序开发降低门槛,并带来出色的用户体验。

开源协议

iView Weapp 使用 MIT 开源协议,并 100% 开放源码。查看开源协议(https://github.com/TalkingData/iview-weapp/blob/master/LICENSE)。

这里是彩蛋

我们预计在本季度发布 iView 3.0 以及 5 款神秘新产品,届时会举办线下发布会并进行线上同步直播,敬请关注iView 官网。感谢大家长久以来对 iView 的支持,我们将持续维护,投入更多的人力和精力完善生态,让 iView 成为全球最好用的组件库!

高效、快速、准确、动态的人口统计新实践

前言

作为社会的主体,人口是影响社会发展的基本力量,人口规模的变化是决定城市空间规模的重要影响因素。我国正处在城市高速发展时期,城市规划的重要性日益凸显,人口的量化分析占有越发重要的地位。 城市人口数量每时每刻都在变化,自身增长规律十分复杂。目前,人口统计方法基本分为静态统计和动态统计两种。静态统计一般广泛应用于统计局、公安局等部门,以普查、抽查、登记等传统手段为主,有耗时高、成本大、效率低等特点。

Markdown

近几年,随着大数据和数据科学的兴起,基于信令、手机APP、GIS应用的移动位置大数据动态人口统计方法正在迅速发展,补充了传统人口统计数据来源,可以作为动态人口统计结果的参考标准。

基于移动数据的动态人口统计

TalkingData覆盖数据具有来源丰富、种类齐全、数据体量大等特点。目前,TalkingData除了自有移动互联网数据,还整合了运营商等合作伙伴的数据,包含GPS、基站、WiFi等位置信息。 下图以计算年度数据为例,介绍TalkingData动态人口统计的主体逻辑:

Markdown

TalkingData人口统计团队提取一年内的所有移动设备数据,基于用户群体出现天数、驻留时长、时间间隔维度建立评估模型,同时根据静态统计结果,建立了判定稳定用户的阈值。基于阈值对设备进行过滤去重之后,即可建立稳定用户基础库。之后的各项指标计算都是基于稳定用户基础库进行的。 对获得的稳定用户基础库从时间、空间维度上进行聚类筛选,可得到更丰富的统计结果。比如对省市聚类,可以获得全国各省份全年的相关结果;对时间聚类,可以获得某一段特定时间的数据统计结果;考虑相邻两个月的人口迁移,可以得到省份的人口流入流出情况。

人口统计实践

下面展示TalkingData人口统计的部分实践。

① 2018年4月北京市十六区常住人口占比:

TalkingData人口统计团队用2016年8月份移动运营商常住人口占比与2016年北京城十六区年鉴常住人口占比作为参考。对比发现,TalkingData计算得出的北京市区县常住人口中,占比前四的区县分别为朝阳区、海淀区、丰台区和昌平区,与运营商数据和统计年鉴一致,但TalkingData和运营商计算的朝阳区常住人口占比都高于统计年鉴中的人口比例。

Markdown

为了衡量TalkingData的计算准确度,我们以2016年北京城十六区年鉴常住 人口占比为基准,对比TalkingData计算的人口占比的偏差程度。对比发现,TalkingData与年鉴数据误差的均值为0.98%,标准差为1.61%。移动运营商数据与年鉴数据误差的均值为0.90%,标准差为1.47%。

② 2017年11月深圳区域常住人口占比:

TalkingData人口统计团队用2017年11月份移动运营商计算的深圳常住人口占比与深圳统计局年鉴中的2016年常住人口占比作为参考。对比发现,三份数据整体趋势非常接近。

Markdown

我们以年鉴的人口占比为基准,对比TalkingData计算的人口占比的偏差程度。对比发现,TalkingData与年鉴数据误差的均值为1.24%,标准差为1.61%。移动运营商数据与年鉴数据误差的均值为1.57%,标准差为1.81%,二者很接近,TalkingData略优于移动运营商数据。

Markdown

③ 2017年11至2018年4月北京市常住人口变化:

上图为从2017年11至2018年4月份,北京的常住人口变化趋势。我们发现二月北京常住人口稍有减少,我们认为这是由“春运”造成的,符合常识认知。

Markdown

Markdown

上图分别展示了2017年11至2018年4月北京常住人口的环比变化趋势。北京常住人口总体在2017年11月份到2018年1月份体现出了下降趋势。2018年2、3月份受春节影响,常住人口有超过7%的下降和回流。2018年3、4月份数据基本持平,有轻微的上升。

④ 2018年4月全国人口统计:

Markdown

上图以2017年年鉴的全国省份数据为标准,对比了TalkingData计算的2018年4月的全国人口统计结果。我们发现误差平均值为0.90%,标准差为1.21%,TalkingData计算结果与年鉴占比相似程度较高,具有较强的参考价值。 TalkingData 《2017年移动互联网行业发展报告》指出,截至2017年12月,我国移动智能终端规模达到14.2亿台,且逐渐向三线及以下城市下沉,移动互联网已全面普及。基于移动位置大数据动态人口统计方法将是未来人口统计的发展趋势,与传统人口统计相结合,能够更好地帮助政府实现智慧的城市规划与管理,实现人民生活环境的整体改善。

构建公开、透明的数据营销生态

构建公开、透明的数据营销生态

如今各行业快速发展,营销者对于达成即时效果面临越来越多的压力,而前瞻性长期战略更变得越发困难。在急速变换的市场环境下,今日之法未必明日有效。短期战略虽被证实即时效果,但那些具有实效性长期战略的品牌却可以在不断演进的形势中游刃有余。因此,洞见长期品牌战略,对于营销者更具价值。

另一方面,营销者对全链路营销各阶段数据的“不可见”性,也致使营销者失去了指挥棒和方向标,那么如何“构建公开、透明的数据营销生态”是当下营销者们所关心的问题,在这样的背景下:

大中华区艾菲奖《效看十五载︱洞见长期品牌战略》主题论坛于2018年6月7日正式举办。在《公正、公开、透明的营销数据是品牌实现出众成果的基础 》圆桌讨论中,SAP大中华区品牌、赞助和数字营销高级营销总监全戟坚、PHD(宏盟集团)总经理徐平(北京办公室)、LinkedIn 领英中国广告营销总经理蔡晓丹、TalkingData副总裁高铎,就“营销数据透明化”、“大数据营销技术”及“影响一个优秀广告Campaign的核心因素”这三个方面进行了解读:

如何构建透明化营销数据?

TalkingData 高铎:首先更正一下,在广告界,TalkingData早在2012年就推出了移动效果广告监测产品,帮助诸如滴滴出行、摩拜单车等客户优化广告质量。但是品牌营销领域,TalkingData在2017年才发布相应产品,的确是个新兵。

我们要先明白以前的营销数据为什么是不透明的?主要体现在以下几个层面:

1)在TA选择上不透明;

2)在TA触达上实际上转化为媒体触达,也不可见;

3)在TA评估上不是全量评估,是Panel来评估,譬如用10万的人口属性Panel来评估10亿的曝光数据,基本上不可信的;

4)还有评估技术的落伍,譬如对投放区域的评估,大多还是用IP,实际上IP作弊很容易,目前用其它LBS手段都能规避IP位置作弊问题;

知道了哪些地方不透明,就容易理解类似TalkingData这样第三方平台的价值,可以在这几个环节发挥作用,真正做到TA的选择,TA的触达,TA的触达评估和评估方法,都是透明的可见的。

LinkedIn 领英中国蔡晓丹:要想真正的打造一个公开透明的营销环境,为广告主创造最大价值,需要圈里每个人的努力。而这对于媒体来说,也是重要的元素。 对于LinkedIn来说为客户提供真正价值才是企业走到最后的基础。

PHD 宏盟集团徐平:当下,研究广告效果是一个 Campaign 不能忽视的问题,数据的有效与真实性是大家需要共同面对的问题。虽然不同行业与品类的标准不一样,但从数据维度依然可以分为前端数据与后端数据两个层面。举个例子,快消品,IT等电商是他们销售是重要的平台,通过电商数据可以看到ROI等数据进行深入分析;再如,B2B客户比如空中客车,与2C的目标人群不一样,这种则更依赖于客户一方数据,和第三方数据进行分析。

透明化数据营销技术 推动广告精准营销

SAP 全戟坚:我们知道大数据营销、精准营销最大的推动力就是技术,正是有了新技术的应用,才让很多可能性得以实现。TalkingData是个技术见长的公司,你认为什么样的技术和什么样领域,会更好的帮助广告行业的数据透明化?

TalkingData 高铎:提到透明化数据营销技术,还是要结合一些具体应用场景回答更为直观:

  • 譬如,有些汽车广告主,会考核线上曝光和线下到店,这个时候通过数据连接不同场景的技术就非常重要,TalkingData会提供ID Mapping的能力,帮助广告主打通线上曝光数据和线下到店数据,真正做到线上投放线下评估。
  • 再如,有些快消类广告主,自己拥有的第一方用户数据非常少,需要找到更多潜在用户群体,这时候可以根据广告主的一方数据构建数据模型,做Look-alike,帮助广告主找到更多潜在用户。我们发现不同行业、不同场景,甚至不同区域的Look-alike算法在输入维度上都是有差异的,这时候灵活的适用多个场景的Look-alike技术就非常重要;
  • 另外,伴随着各类刷量、流量和劫持羊毛党等作弊现象,导致营销数据不透明,TalkingData有一套经过实践验证的防作弊技术。如有些刷机墙,不停的刷点击或曝光行为,其实缺少人的行为数据,通过姿态识别算法就很容易判断这些流量是虚假流量;再如有些投放其实是投放北京市的,一些流量渠道拿其它区域的流量来冒充北京的流量,就可以通过LBS技术很容易识别出来。

如何策划、评估一个优秀的广告Campaign?

SAP 全戟坚:您认为什么样的Campaign是一个好的Campaign?当我们去计划一个广告Campaign,应该如何从数据的角度入手?

TalkingData 高铎:“TalkingData是一家以数据及基于数据的智能为主业的公司,所以在TalkingData的眼里,一个好的Campaign,是可以用数据说话的,具体讲就是在选择TA、TA分析、TA触达、TA评估、TA优化的全流程里面,都有数据的参与,都有数据作为重要的决策辅助。”

PHD 宏盟集团徐平:“Campaign前期规划、中期优化、结束后做检验,简而言之成功的Campaign在于“正确的时间、正确的地点,用正确的方法把正确的信息,传达给正确的消费者,达到媒体目标及KPI.”

LinkedIn 领英中国蔡晓丹:“营销数据魅力在于收集、沉淀和再利用的长远的价值,每次营销数据的沉淀,分析和洞察,为企业运营、产品改革及商业化决策上有一定指导。”

关于TalkingData

TalkingData 成立于2011年,是国内领先的第三方数据智能服务商。借助以SmartDP为核心的数据智能应用生态为企业赋能,帮助企业逐步实现以数据为驱动力的数字化转型。

金融行业移动互联网用户运营策略

各个行业正在向数字化、智能化、场景化转型,金融企业走在了各行业的前列。金融行业的数字化体现在创新技术融合、数据化运营、精准营销、运营场景化等多方面。

金融企业的用户经营模式由“以产品为导向”的精准营销经营模式向“以用户为中心”的精准营销经营模式转型。用户经营的最终目的是为金融企业创造更高价值,带来更多的盈利。用户生命周期价值分层策略可以帮助金融企业梳理用户层级结构,并针对每个层级用户进行差异化经营,围绕用户进行数字化改造升级,实现用户价值最大化提升,提升企业的运营效率,打造数据驱动的营销闭环。

用户生命周期价值分层策略是什么?应该如何进行规划以及分析?

用户生命周期价值分层定义:

用户生命周期:是指从一个用户开始对企业进行了解或企业欲对某一用户进行开发开始,直到用户与企业的业务关系完全终止且与之相关的事宜完全处理完毕的这段时间;在业界广泛应用认可的用户生命周期方法论是AAARRR,是运营体系的经典的框架,贯穿用户感知、获取、激活、留存、交易、传播。

用户生命周期价值(Customer Lifetime Value,CLV):即用户具有的价值和生命周期,每个用户在生命周期中在历史、当前、未来为企业带来的收益总和。它由三部分构成:历史价值、当前价值和潜在价值。用户生命周期价值分层是围绕用户价值与生命周期视角对用户进行细分。

用户生命周期价值分层意义:

用户价值是企业发展在各个生命周期阶段都需始终关注重要内容。不管是在初创阶段的大量新客,还是成熟阶段的存量用户,企业的战略目标还是希望用户贡献更多的价值,为企业带来盈利。

通过用户生命周期价值的分层,促使“以产品为中心”的经营理念转为聚焦到“以用户为中心”(用户价值、用户需求、用户体验为中心)进行细分洞察。以产品为中心的时代,分析策略是通过产品找用户;而随着技术的创新,多维数据支撑更为广泛的用户洞察维度,经营的模式也逐渐改为通过用户找产品。用户生命周期价值分层策略,让企业运营人员清晰了解用户价值和价值指标;通过对每层人群进行筛选定义,制定差异化运营手段,促进用户在生命周期每个阶段产生最大化的价值,实现层到层之间价值的飞跃,并延长整个用户生命周期,完成运营的各个阶段的KPI指标以及企业的战略目标。

用户生命周期价值分层方法:

按照AAARRR方法论中用户生命周期的各个阶段节点,结合各阶段的业务场景、业态、战略方向等情况确定各阶段用户价值,进行交叉组合分层。但因各个行业不同、场景不同、用户价值不同、用户生命周期价值分层策略也会有所不同。已布局生活场景生态服务的银行信用卡,会通过用户活跃、用户粘性价值进行分层;证券公司的生命周期分层按照交易价值进行分层;中小银行生命周期价值分层策略按照投资价值进行分层。

  • 举个例子,某金融机构移动APP用户生命周期价值分层:
  • 市场用户(目前不是企业的人群)
  • 新增用户(首次触发APP的人群)
  • 留存用户(某段时间内在APP仍然还有交互行为的人群)
  • 价值用户(某段时间内在APP有交易行为的人群)
  • 高价值用户(某段时间内在APP有交易行为,并且交易金额大于30万或交易频次大于3次或交易产品种类大于2种的人群)
  • 鲸鱼用户(在高价值用户中通过任何触达手段为APP带来新增用户的人群)

用户生命周期价值分层是以用户生命周期为分层转化漏斗,将每个阶段的用户价值往下一阶段的用户价值转化引导,而每一层转化场景、分析维度、评估指标都是不同,需要制定差异化的运营手段分析每层转化,对不同阶段采取不同的策略,最终提升用户各个阶段的价值(如图所示)。

我们需要分析一下每各阶段是如何进行分析?每阶段精细化运营手段是什么?关注哪些指标?最终完成每阶段用户价值的飞跃。

感知层→获取层的转化

随着移动互联网流量红利结束,企业市场部门、渠道部门如在全渠道广撒网投放广告吸引新客,所带来的将是大量的非目标用户、导致企业耗费大量成本。企业在这样的市场环境下需要打破以往的思维模式,调整策略,将投放费用聚焦到目标用户上,通过精准投放来帮企业找到目标人群,提升转化率,降低成本。

制定精准投放策略,对投放渠道进行合理分配,找到转化率高的渠道,成为本层转化的关键。

  • 本层转化的运营手段:精准投放

每天用户通过线上(各类终端设备)与企业移动APP进行交互,用户呈现时间碎片化、服务场景化等特征。企业将如何抢占用户时间,成为企业关注核心问题。企业对将要投放的用户情况一无所知,精准投放从何开展呢?通过外部数据来洞察用户如用户的兴趣偏好、地理位置信息、线下消费偏好、金融偏好、媒体偏好等等,可以帮助企业找到精准目标人群、结合精准触达时间和产品,设计投放策略,将大大提升投放人群的质量以及转化率,帮助企业降低投放成本,提升ROI。

  • 本层转化关注核心指标:ROI,即投资回报率
  • 本层转化分析维度:

分析各个渠道的用户质量,除了分析各渠道交易数据如:转化率、转化金额、多次转化率、转化周期频率等指标外,还需洞察分析各渠道用户行为数据,如查看的产品、停留的时长、查看的频率等指标,这类行为数据虽不是直接的交易数据,但也表明用户是否有潜在的购买转化的意向。多维数据分析帮助企业找到质量好转化率高的渠道,并对各渠道投放的占比进行合理调整,从而促进ROI提升,完成本层用户价值提升。

获取层→活跃层的转化

在用户获取后,就需考虑如何对用户进行促活。据统计,新用户的营销成本要比老用户经营成本高出4倍,老用户的经营比新用户的获取要重要的多。尤其在企业已经获得大量用户后,如不及时运营老用户,会导致大量用户流失或沉睡。企业需要在此时进行运营干预,通过运营手段可减少流失人群、延长用户的生命周期以及活跃时长,并促使用户在更长的时间内创造更多的价值,提升用户的CLV。

  • 本层转化的运营手段:新手引导、营销激励

用户引流进入企业后,对新用户来说,平台、产品、流程都比较陌生,如果用户体验不好,不能及时适应平台,会导致用户流向其他同类型并满足用户需求的平台,故在这个节点需要建立新手引导,让用户对平台、对产品、对流程慢慢熟悉起来,养成用户操作习惯。但是仍将面对用户流失的风险,需及时对用户进行营销激励,如发放优惠政策、触发用户感兴趣的内容等从而激励用户活跃起来。

  • 本层转化关注的核心的指标:日活DAU、月活MAU
  • 本层分析维度:

本层关注的指标为活跃指标,如日活、月活,但在分析的过程中还需关注用户流失情况、留存情况。如在一段时间内,用户日活持续增加,需分析用户活跃类型占比,找到活跃增加的归因,是由于新增用户活跃,是老用户活跃;来自于哪些渠道的用户活跃,是由于新增的渠道质量较好,还是由于用户激励的方式。不仅要关注日活、月活,还需要拉长整个用户生命周期来看用户活跃、流失、留存等情况,分析在一段时间内新增的这些用户的流失情况以及留存情况,否则会被表面的日活增高的表象所蒙蔽。

活跃层→留存层的转化

用户持续留存代表此用户具有留下的意向以及潜在转化的可能,用户留存指标是监测用户流失的一个重要指标。实现用户留存的关键是需找到留存率较高的关键事件,并通过关键事件的引导提升客户的黏性。

  • 本层转化的运营手段:促留存策略
  • 本层转化的核心关注的指标:留存率(即次日留存、7日留存、14日留存、30日留存)
  • 本层转化分析维度:

需要关注的用户留存指标为次日留存、7日留存、14日留存、30留存。

分析时通常有两个维度:

1、以时间为维度:看不同时间的次日留存率、7日留存率、14日留存率、30留存率的指标情况,当观察到某一天的留存率比较高时,可详细洞察这在一天是否有“其它动作”,比如:新增某个渠道、做了某场活动、页面进行某部分改版、触达客户营销激励内容等,深入分析导致留存变化的“动作”对客户留存深层的数据影响。如新增加了某个渠道投放,可能是因为这个渠道的质量较好,用户比较活跃,潜在的目标人群较多,通过渠道的维度看这个渠道的行为数据指标表现情况,可适当调整投放的策略,增加此渠道的投放量。

2、以事件为维度:看执行了不同事件的人群次日留存率、7日留存率、14日留存率、30留存率的指标情况,如给某用户做留存分析时,发现执行登录事件的人群的留存率比执行其他事件的人群留存率明显高一些,分析得出登录与客户留存成正比关系,建议企业推出登录签到送积分活动,来提升用户留存率,效果会比较显著。

留存层→交易层的转化

运营的最终目标就是促使用户进行交易,给企业带来商业收入,体现产品变现能力。交易额=流量*交易转化率*客单价,从公式可以看出,增加流量、提升交易转化率将提升交易额,流量在感知层→获客层已经有详细讲解,客单价是受到产品定位、市场行情、产品内容等多方面的影响,需要重点聚焦到交易转化率的提升。

  • 本层转化运营手段:精准营销、聚类算法促转化、搭建MOT营销规则
  • 本层转化关注核心指标:交易转化率
  • 本层分析方法维度:

精准营销

精准营销的本质就是通过数据洞察找到目标人群、分析出用户特征偏好和产品偏好,在合适的时间以用户最容易转化的渠道进行触达。企业需要搭建营销闭环来解决营销效率问题,提升用户的交易转化以及收入的增长。精准营销闭环可分为四个步骤,人群洞察、消费者互动、监测效果量化、分析优化,并且不断优化形成营销闭环。

 

1、人群洞察

这是精准营销必不可少的关键环节,通过人群洞察来分析用户的行为特征、兴趣偏好、产品偏好等特征,利用全维度数据分析找到不同特征人群对应喜好的产品偏好,将洞察结果与营销建立关联,为后期营销触达做数据支撑。

2、消费者互动

人群洞察后,需对本层人群触达的手段进行分析,即用户交互方式的偏好(用户习惯、喜好的渠道和时间段),渠道是与用户交流的载体,帮助企业与用户搭建沟通的桥梁,需要找到用户喜欢的渠道以及转化高的触达方式,在合适的时间提供用户喜欢的内容,提升用户转化率。

3、监测效果量化

通过数据回传,对每次精准营销的数据进行记录,为后期数据分析、建模等工作积累数据,进行营销工作的优化。

4、分析优化

针对营销效果数据,分析每次精准营销转化人数、转化金额、转化后的行为数据、转化时间等,通过数据分析结果确定本次精准营销存在的问题,提出后期优化策略,不断迭代优化方案。将优化后的策略在下次营销中进行应用,形成营销闭环,提升用户交易转化率以及用户价值。

聚类算法

在每层用户分析中,对本层人群进行人群细分和数据交叉分析,找到细分人群的特征,制定精准营销策略,提升用户转化率。聚类算法可科学有效地帮助企业完成人群细分。数据分析师对数据进行整理,确定人群细分的数量,聚类算法可将相似的人群聚为一类,最终输出几类人群。对细分人群进行特征提取,洞察每类人群偏好特征,从而针对不同人群制定差异化的营销策略,提升用户价值。

营销规则

搭建营销规则,建立MOT逻辑规则,实现自动化运营,促进用户提升交易转化率。

用户的交易数据、行为数据、公开市场数据等多元化数据都可以作为基础分析数据,挖掘数据价值,结合业务场景设计营销规则。当用户触发某规则时,进行实时触达,利用营销活动对用户进行转化。例如用户频繁查看某个产品,停留时间较长但未进行交易,但此类数据分析也能说明用户对此产品具有潜在需求,可以依据此场景建立规则(在三天内,查看产品A 3次以上,可以定义为产品A的意向用户,符合此规则后,MOT将自动触发有关产品A的营销内容,刺激用户进行交易转化)。

交易层-高价值层的转化

本层人群是企业最核心用户,参考二八法则,20%的核心用户给企业贡献80%的价值,这类高价值的核心用户是企业关注的重点。如何引导、刺激用户向更高的价值转变是本层的关键。

  • 本层转化关注最核心指标:交易频次、交易金额、交易产品类型
  • 本层转化人群的运营手段:交叉销售、Lookalike算法挖掘潜在高值人群
  • 本层转化分析维度

交叉销售

通过多样化的运营手段,将提升交易频次、交易金额、交易产品类型的提升作为本层目标。通过交叉销售分析、找到用户购买产品A与产品X的关联,将强关联产品X在相应产品A的购买流程或页面进行展示,通过相互导流实现对产品X的销售,给企业创造更大价值。根据产品购买频率、产品到期的时间建立营销规则,提前引导用户进行复购操作,防止用户流失,提升用户价值。

Lookalike算法挖掘潜在高价值用户

潜在高价值用户挖掘可借助模型算法预测潜在高价值的人群,并实施精准营销策略。Lookalike算法是机器学习的一种模型算法,TalkingData利用移动APP行为数据对其进行优化,使其适合利用APP行为数据进行学习,相对其他算法具有较高对效率和准确率。在本层中,将企业交易层用户中挑选出的高价值人群(如多次交易、交易金额较大、交易频次高、交易产品种类多等)作为机器学习的种子人群,通过Lookalike算法找到潜在高价值用户。全面洞察分析潜在高价值人群的兴趣偏好、产品偏好、渠道偏好等,输出精准营销策略并触达用户,通过基于效果反馈的营销闭环提升用户交易转化。

案例

某银行运营目标:提升存款用户价值,实现存款用户活跃并挖掘潜在用户的价值。

某银行聚焦到银行存款存量用户经营,为了提升存款用户价值,通过用户价值分层方法将某银行存款用户进行了分层(如图所示),将每层的用户聚焦到特定的场景进行分析,提升存款用户分析的效率,洞察每层用户的特征,找到每层之间的漏损人群、潜在人群,更加科学、有效制定差异化的运营方案。建立用户价值分层体系方法论,将用户分层、用户洞察、制定方案、执行落地、效果评估及迭代优化整套运营方法论闭环跑通,并广泛应用到其它项目中,帮助某银行通过数据化思维驱动业务决策,推动在数字化、智能化的转型。

  • 存款脱落人群

是存量用户整体到存款有效用户之间的存款脱落人群。这层人群分析研究时,主要目标是洞察分析人群特征,制定有针对性的营销激励策略,将此人群通过激励转变为有效用户。营销激励策略围绕如何使脱落用户再次进行存款业务的场景而制定。

  • 存款流失用户

存款流失用户,搭建流失用户预警机制、流失用户挽回策略。分析流失与哪些关键因子关联,针对流失人群进行划分,确定流失人群的类型,对不同类型的流失用户策划具有针对性的挽回机制,并制定不同的触达方式对流失用户进行挽回。如下图所示,在某银行数据分析用户流失与登录、资产情况、提现行为有强相关,故将登录、资产情况以及提现作为分群关键因子,并进行设定不同策略机制。

 

  • 潜在价值用户

潜在价值用户是存款活跃用户,虽然在近半年未投资,但此人群在企业APP有交互的行为,通过此交互数据分析挖掘潜在的需求及动机,将APP上的交互行为、之前的历史交易数据、外部数据作为模型输入的因子,输出客户潜在需求,实施精准营销。

  • 潜在高价值用户挖掘

潜在高价值用户为企业创造价值,需要通过运营手段激发更大的价值,有几个增加价值的维度:

1、金额维度:刺激用户提升购买的金额,创造更大的价值;

2、时间维度:建立策略延长用户购买时长,提升用户生命周期;

3、种类维度:购买多类型产品,提升用户价值。

进行用户价值分层需注重用户需求、用户价值。制定场景化、差异化、定制化的策略,提升在整个价值链路上的转化漏斗,实现从数据驱动战略目标到用户经营的精细化运营闭环,实现层到层之间价值最大化提升,帮助企业有效延长用户生命周期,激发用户创造更大的价值。

小米即将上市的背后——2018 第一季度移动智能终端市场报告

2018年一季度,移动智能终端市场走向如何?安卓设备用户又在哪两个品牌之间流动?TalkingData推出《2018一季度移动智能终端市场报告》,回顾一季度移动设备市场概况,分析安卓设备用户换机行为。

中国移动智能终端规模已达14.5亿

2018年一季度,中国移动智能终端规模增速有所回升,终端规模已达14.5亿台。

一季度移动智能终端市场格局整体稳定

2018年一季度,移动智能终端市场格局整体保持稳定,TOP10品牌排名未发生变动。苹果仍然以29.01%的份额占据榜首位置,OPPO以12.59%的份额成为国内安卓厂商领头羊。

苹果与OPPO贡献最多高份额机型

单款机型表现上,苹果品牌保持领先优势,iPhone 6、iPhone 6s、iPhone7 Plus包揽了机型市场份额前三位。机型市场份额TOP 20中,苹果品牌占据9款,OPPO占据6款,两家贡献了最多的高市场份额机型。

2017下半年发售机型为主要增长点

2018年一季度,机型市场份额保持增长的主要还是2017年下半年发售的机型。在机型市场份额增长TOP 20中,有14款发布于去年下半年,有5款发售于去年上半年。

一线市场苹果领先,安卓品牌深耕三线

在设备活跃城市层级分布中,苹果用户中一线、二线城市的占比要高于其他品牌。而安卓品牌用户分布主要以三线及以下城市为主,一线及二线城市占比最高的安卓品牌为华为及三星。

OPPO、vivo品牌同质化影响换机选择

2018一季度安卓设备换机用户中,华为用户中有71.9%、小米用户中71.6%仍会选择本品牌,二者的品牌忠诚度最高。相似的定位促进了OPPO和vivo之间的用户流通,OPPO用户换机时有24.8%选择vivo,而vivo用户换机时有27.4%会选择OPPO,在跨品牌换机中占比最高。三星用户中的54.5%在换机时不会再选择三星,品牌忠诚度在安卓TOP5品牌中最低。

小米、三星品牌吸引力主要集中在老用户

2018一季度安卓设备换机用户中,小米手机81.6%的用户、三星手机68.1%的用户为品牌老用户,对于其他品牌用户吸引力较低。华为手机用户中有超过35%来自于OPPO、vivo、小米三大品牌,品牌影响力在提升。魅族在OPPO、华为、vivo、小米换机人群品牌来源中平均占比接近3%,用户流失较为严重。

典型机型换机分析:OPPO R11s

换入OPPO R11s的用户中,49.8%来自OPPO本品牌,50.2%来自其他品牌,其中来自vivo、小米的用户占比之和达到30.6%。换入OPPO R11s的机型来源中,OPPO R9排在首位,机型来源TOP10中有8款为OPPO机型,品牌内机型升级是主流。

小米智能家居已成品牌形象标志

一季度换机安卓品牌忠实用户中,小米用户对于家居类应用的偏好要远高于OPPO和华为,小米智能家居已成为了品牌形象的一部分。

OPPO忠实用户更关心个护美容,而华为忠实用户更关心房产与商旅出行,与其成熟商务形象相符。

技术专栏 | DMap——实战Vue百万条数据渲染表格组件开发

作者:TalkingData 李志刚

本文由TalkingData原创,转载请获取授权。

李志刚:近几个月在开发一个基于Vue的数据可视化分析辅助应用———DMap(谛听),一套为数据分析师和数据科学家提供的基于位置大数据分析的工具,旨在提高数据分析效率,降低获取多数据并行分析成本,简化大屏和数据报告开发制作流程。其UI组件使用的是iView,地图可视化库使用的是inMap,服务端使用Node.js搭建。

DMap的核心就是服务大数据分析,所以当面对几万几十万甚至百万级别的数据时,性能优化是一个具有挑战性的问题。今天我就拿项目中一个表格渲染的优化为例来展开介绍。

在前端开发中,用表格来展示数据是再平常不过的了,当数据量较多时,我们通常的做法是使用分页,如果数据量不算太多只有两三页,我们大可以把全量数据获取下来,在前端做简单的分页展示。当数据量再上一个等级时,我们就需要根据页数向服务端请求这一页需要的数据。但是DMap作为助力大数据可视化的分析工具,我们需要将全量的数据在前端做展示,而为了提升用户体验,我们在表格的展示上决定不做分页,也不做懒加载,而是像Excel那样可以无缝隙的滚动。

在Web中,长列表渲染的性能问题已经有一些成熟的方案,表格和长列表相似,当渲染的行数达到一定量时,滚动就会变得卡顿,所以我们使用了虚拟渲染的方案,就是只渲染用户所能看到的区域的一小部分数据,然后通过滚动来计算显示的数据,和上下占位元素的高度。

通过这个图可以对原理有个大概的了解,接下来说下计算上的细节。

首先我们需要监听表格外层容器(也就是显示滚动条的元素)的scroll事件,在scroll事件绑定的方法中我们只做一件事,那就是获取外层容器当前滚动了的高度scrollTop的值。我们的所有计算,包括三个表格位置的替换、表格数据的选取、上下占位元素的高度的计算都与scrollTop相关。

下面是scroll事件的绑定的方法:

handleScroll (e) {
      const ele = e.srcElement || e.target;
      const { scrollTop, scrollLeft } = ele;
      this.scrollLeft = scrollLeft;
      this.scrollTop = scrollTop;
    }

我们只需要在这里把scrollTop和scrollLeft的值赋给vue实例对应的值,然后我们用watch监听scrollTop的改变,如果更新了,就来计算当前处于可视区域的表格索引号currentIndex:

(注:左右滑动即可查看完整代码,下同)

this.currentIndex = parseInt((top % (this.moduleHeight * 3)) / this.moduleHeight);

这的top就是更新后的this.scrollTop的值,moduleHeight是单个表格的高度,我们称它为一个模块。

拿到currentIndex的值后,我们就可以计算三个表格的显示位置,和每个表格中填充的数据。三个表格我们是通过render函数渲染的,我们根据currentIndex的值来返回不同顺序的render函数:

getTables (h) {
let table1 = this.getItemTable(h, this.table1Data, 1);
let table2 = this.getItemTable(h, this.table2Data, 2);
let table3 = this.getItemTable(h, this.table3Data, 3);
if (this.currentIndex === 0) return [table1, table2, table3];
else if (this.currentIndex === 1) return [table2, table3, table1];
else return [table3, table1, table2];
}

数组中表格顺序不同,反应在页面上的效果就是不同的先后顺序。最后我们通过这个方法得到完整的render:

renderTable (h) {
      return h('div', {
        style: this.tableWidthStyles
      }, this.getTables(h));
    }

然后使用封装的无状态的组件,来渲染我们得到的表格render。

<render-dom :render="renderTable"></render-dom>

renderDom组件的实现如下:

export default {
  name: 'RenderCell',
  functional: true,
  props: {
    render: Function,
    backValue: [Number, Object]
  },
  render: (h, ctx) => {
    return ctx.props.render(h, ctx.props.backValue, ctx.parent);
  }
};

接下来我们讲下三个表格中填充的数据的计算。

我们按照三个模块都在可视区域经过一次算是一轮,通过scrollTop来和currentIndex来计算每个模块当前是在第几轮展示,但因为我们是从第二个表格才开始做这个逻辑的处理(为了轮播效果更平滑),所以要先判断当前滚动的高度是否大于一个模块的高度,如果大于才做如下计算:

switch (this.currentIndex) {
   case 0: t0 = parseInt(scrollTop / (this.moduleHeight * 3)); t1 = t2 = t0; break;
   case 1: t1 = parseInt((scrollTop - this.moduleHeight) / (this.moduleHeight * 3)); t0 = t1 + 1; t2 = t1; break;
   case 2: t2 = parseInt((scrollTop - this.moduleHeight * 2) / (this.moduleHeight * 3)); t0 = t1 = t2 + 1;
}

计算出每个模块在第几轮展示后,就可以来取对应的表格数据了:

const count1 = this.times0 * this.itemNum * 3;
this.table1Data = this.insideTableData.slice(count1, count1 + this.itemNum);
const count2 = this.times1 * this.itemNum * 3;
this.table2Data = this.insideTableData.slice(count2 + this.itemNum, count2 + this.itemNum * 2);
const count3 = this.times2 * this.itemNum * 3;
this.table3Data = this.insideTableData.slice(count3 + this.itemNum * 2, count3 + this.itemNum * 3);

到这里虚拟渲染的重要内容都介绍完了。表格开发完成后,在项目中实际使用时,当加载二十多万条数据来测试时,整个页面卡的让人无法忍受,数据量越大页面卡顿越严重。我们的表格是没有问题的,问题出在Vue帮了我们“倒忙”。

在Vue实例中添加的对象,Vue会先遍历一遍对象的所有属性,用——

Object.defineProperty()为每个对象创建对应的getter和setter。

而在项目中,我们的insideTableData只是一个数据集对象中的一个属性,这个对象还包括很多与这一个数据集相关的信息,我们在使用this.insideTableData.slice获取数据的时候会触发this.insideTableData对应的getter,从而执行一些其他逻辑,而我们的滚动又会频繁的(仅当currentIndex变化的时候)需要重新填充表格数据,所以这会造成卡顿。

解决这个问题的办法就是阻止Vue给我们的数据集对象设置对应的setter和getter,

我了解的有两种方法,一是文档中提到的:

我们使用的时候就需要通过——

this.$data._dataSet.insideTableData(这里的_dataSet就是一个数据集对象)来获取。

另一种方法,就是使用ES5的Object.preventExtensions在将数据集对象交给Vue实例代理前将对象密封,这样数据集对象就变成了不可拓展的了,Vue就不会再添加新的属性了,也就无法设置setter和getter了。

做了这个处理后渲染几十万数据跟玩儿似的流畅。但是阻止Vue设置getter和setter也造成了一些问题,比如原来表格组件中的一些依赖于表格数据的计算属性,现在无法在表格数据变化时重新计算,当然了,影响不大,就一个表格行数的计算,所以改成了手动设置这个值。

到这里要讲的差不多了,这只是项目中的一点优化内容,我封装的vue-bigdata-table(没办法,好名字都被注册了)表格组件不仅仅这点功能,目前还包括拖动修改列宽、固定列不横向滚动,固定表头、内置排序、编辑单元格、粘贴、筛选、自定义表头和单元格等功能。现在也已经开源了,但是还有很多功能还在开发中。

锐眼洞察 | 大数据和位置智能如何改变世界 【翻译】

原文:https://medium.freecodecamp.org/how-big-data-location-intelligence-is-changing-the-world-181ef8bf097f

译者:TalkingData 阎志涛

本译文禁止商用,转载请注明来源!

毫无疑问,智能手机数量上的爆发式增长已经改变了我们所认识的世界,传感器和连接的设备的增长已经产生了大量的数据,而这些数据正在被用来改变我们的生活方式。

IoT,位置数据,位置智能,大数据。无论管它叫什么,都很难对它在各个行业中的应用前景产生质疑。显而易见的是,细粒度的位置数据可以给线下世界提供前所未有的洞察力。越来越多的企业意识到移动位置数据的价值以及影响。随着我们摆脱不可靠的数据集,传感器驱动的精确的数据集正在成为重中之重。

商业智能

利用数据去发现趋势,这种能力众人已经习以为常。而基于人们在真实世界的行为,以接近实时的方式去发现趋势这是新的方式。

位置智能揭示了经常会被错过的大数据集之间的关系。它将这些洞察转化为可以行动的商务智能。帮助去进行决策无论是董事的会议室还是店面里。

从与大型连锁餐饮竞争的小酒吧到与在线大型企业竞争的小型零售店 ——这些企业都从使用这类大数据获取有价值的见解来告知其业务战略。

事实是,移动位置数据现在已经非常成熟,可以解决小型企业和大型企业所面临的许多问题,比如:

金融服务:通过大数据集理解流量对于金融企业的价值, 移动设备数据有助于预测收入和其他KPI,然后变成正式的报告,有助于投资决策。

零售:大数据既可以帮助小零售商,也可以帮助大型零售商。通过移动设备数据理解商店的访问以及客户行为,可以对零售行业产生具有价值意义的参考。这些参考可以帮助提供商业决策,比如商店的布局,开业时间以及员工数量等。

基础设施和计划

“智慧城市”这个词汇近来趋于火热,我们正在向拥有大量人口的城市中心迈进,并且正在大力发展自动驾驶汽车。而大数据正是解锁这个智慧未来的关键性钥匙。

移动设备数据的增长提供了了解城市运作方式的机会。这有助于去创建系统和基础设施。

移动位置数据可以帮助了解什么地方最需要公共基础设施。例如,可以检查移动位置数据去理解城市中骑行最多的道路。这些信息非常的精确,对于在何处规划新的骑行道路具有非常高的参考价值。

对于交通拥堵也是如此。在日益拥挤和污染的大城市中,了解交通流量以及在哪里建设新的道路结构或引入新的低排放区对于建设能够维持当前人口增长水平的智慧城市至关重要。

大数据对此产生了非常积极影响。由于移动设备数据和位置智能的准确性和独特性,它正在改变世界各地城市和乡镇的决策方式。

市场营销和广告

大数据和市场营销总是相辅相成的。营销人员一直希望使用数据集来提高广告的效率与效果。而使用大数据来创建量身定制的受众已经司空见惯了。

但是,移动位置数据可以帮助营销人员和广告商将数字广告与消费者在线下的行为方式关联起来。了解消费者如何在线下世界中移动轨迹,让营销变得更有效。同时可以协助营销人员向消费者提供更多的个性化广告。

位置智能正在影响消费者生命周期的许多阶段。它将网络可用的分析能力带入到现实世界当中。

分群

移动设备数据正在帮助分析建立人们移动和行为方式等复杂数据。可以帮助广告商构建复杂的客户档案。品牌商终于可以去理解了顾客所去的地方,以及他们如何与周围的物质世界进行互动。

这比其他受众分群方法更有效。因为一个人的位置信息往往比他们在电脑上搜索某些东西或在坐在沙发上用移动电话进行浏览时的意图要更加强烈。

这使营销人员能够准确识别消费者在购买旅程当中的位置。

个性化

大数据在营销和广告方面的一大突破是增加个性化。

位置数据通过了解客户的情况,让品牌变得更为人性化。这已经不是一个新鲜的概念了,但空间中数据集的准确性和不断增加的规模使与客户的沟通真正得到了个性化。

当客户真正的可以进行兑换时,位置有助于提供促销活动。它允许’购买的客户还购买了’的体验进入到实体零售商店。 这样,大数据为线下世界提供了数字化解决方案。 位置智能正在为品牌传播量身定制针对每个人对现实世界的独特体验。

客户体验

大数据已经将客户体验变得越来越好。位置智能能够帮助寻路、排队、协助以及队列管理的自动化。理解一个人的物理位置有助于改善很多行业的客户体验。

体育馆、度假村、机场和交通枢纽都可以基于位置服务去改善人们花费的时间和消费体验。

因此大数据和位置智能仍然有很大的应用范围可以用来改善客户体验。

归因

正如我们所看到的,移动设备数据已将许多数字行业与消费者线下行为联系起来。这项技术正在使营销和广告领域产生变革的另一种方式是归因。

传统上,很多广告客户在衡量离线广告对离线KPI的影响时一直都是盲目的。不过移动设备位置数据正在改变这一点。 例如,位置智能可以了解某人在何时出现在户外广告旁边。 然后,它可以衡量这些人中有多少人在商店内或在特定实体产品面前出现。

连接两者可以为营销人员提供衡量离线广告影响以及投资回报率的准确方法,同时还可以衡量数字广告对线下目标的影响,以前这些事情都没有一个标准的方法,但大数据改变了这一点。

AR

如果AR真的要兑现其所承诺的,它将不得不依赖复杂的数据集和准确的位置智能。

随着AR的普及,其应用将超越fun-to-play游戏,成为有用的生产力应用。 随着AR的发展,其作为一种向受众宣传内容和广告的方式将得到长足发展。 像以前的营销活动一样,它将通过使用大数据和位置智能来提高预期。

随着用户在现实世界中进行移动,AR将需要大量准确和实时的位置数据才能正常工作。

优化供应链

大数据和位置智能正在影响那些想要优化供应链的组织。

位置智能在供应链中比较明显的应用场景是在于理解和跟踪交付和供应的能力。它已经被用于生成可以优化和改进这些服务的数据集。

但位置智能不仅仅能帮助企业优化流程,还有助于了解产品的需求。 通常人们将产品建立在人们需要他们产品的希望之上,然而最终却发现他们并不真的想要。

大数据帮助制造业优化的另一种方式是帮助其调整交通类型,取货地点或销售地点。

随着位置数据的兴起,这些洞察现在被来自线下世界的信息所推动。 以前无法实现或滞后的洞察现在可以实时获得,这在之前是困扰供应链运作的一大难题。

隐私和透明性

大数据领域的人员需要更加透明地了解数据集的来源。

仅仅检查一个盒子并开始收集和汇总个人数据是不够的。 为了清理数据供应链还需要做更多的工作,需要将更多的控制权交给用户。

通过这种方式,大数据领域人员有责任向用户传达大数据和位置智能的价值。它们在全球范围内产生了巨大且积极的影响,但也需要我们正确的处理隐私问题。