一、初识数据产品经理
大数据4V特性
①体量巨大(Volume)②处理速度快(Velocity)③类型多种多样(Variety)④价值大(Value)
数据产品分类
①企业内部使用的产品,如BI数据分析平台和推荐系统等
②企业针对公司推出的商业型数据产品。如Google Analytics、GrowingIO、神测数据、BDP商业数据平台等。主要以平台行为为企业提供商业化服务。
③每个用户均可使用的数据产品。如猫眼的实时票房和淘宝指数等。主要面向普通用户提供免费服务
1.1 产品经理思维方式 1.1.1 归纳与演绎思维
①归纳思维:透过现象抓本质,将一定的物理事实(现象、过程)归入某个范畴,并找到支配的规律性。在做竞品分析时,通过对各种竞品进行考察,运用比较、分析、综合、抽象、概括以及探究因果关系等一些列逻辑方法,推出一般性猜想,运用演绎对其修正和补充,直至最后得出结论。通过倒推结论,来验证结论的正确性。
②演绎思维:发散思维,从一点出发,发散出很多相互独立、不相关的点,再进一步发散出去,不断穷举想到的点。演绎法从一般到个别,以一般的原理为前提论证个别事物,从而推导出一个新的结论。
1.1.2 数据思维
做任何决策的知识都是建立在信息的基础上,仅凭直觉和意识做的决策,没有数据支撑,是无法经过积累沉淀下来形成知识。通过历史数据,寻找合适的算法,构建出模拟真实数据的模型,从而预测真实场景下的数据,寻求进一步解决方案。
1.1.3 用户思维
切换思维方式,从专业模式切换到傻瓜模式,忘掉自己的行业背景和知识积累,以及产品逻辑和实现原理。用户思维只关注用户的需求和想要的结果,以用户需求为导向,不关注执行和实施过程。
1.1.4 产品思维(做好沟通)
在需求上进行把控,在表现层向用户思维靠拢,尽可能考虑工程实现,把需求具体化成严谨的逻辑表达出来。把用户思维转化为产品原型或项目方案。
1.1.5 工程思维
项目实现过程,包括项目方案、项目排期、项目进度跟进、项目执行等。更加关注细节逻辑、更加严谨的思维方式。
二、数据产品经理基础知识 2.1 常用工具 2.1.1 Excel
2.1.1 Excel
Excel公式大全【300函数】_rankiy的博客-CSDN博客_excel函数公式大全
①日期函数
序列函数解释语法备注1date指定日期DATE(year,month,day)2today当天日期TODAY()3datevalue日期文本转日期DATevalUE(date_text)4day日期里的天DAY(serial_number)5days日期之间天数DAYS(end_date,start_date)6days360日期间天数按360天计算天数DAYS360(start_date,end_date,[method])7edate返回指月份后的日期EDATE(start_date,months)8eomonth返回指定月份最后一天EOMonTH(start_date,months)9now当前日期时间now()10time时间小数TIME(hour,minute,second)11timevalue文本转小数TIMevalUE(time_text)12hour时间值小数HOUR(serial_number)13minute分钟MINUTE(serial_number)14second秒数SECOND(serial_number)16month月份MonTH(serial_number)17year年份YEAR(serial_number)18yearfrac日期天数占全年百分比YEARFRAC(start_date,end_date,[basis])1:360天,2:实际天数,3:实际天数/365,4:30/36019isoweeknum周数ISOWEEKNUM(date)20networkdays工作日NETWORKDAYS(start_date,end_date,[holidays])指定日期为非工作日21networkdays.intl日期间工作日NETWORKDAYS.INTL(start_date,end_date,[weekend],[holidays])可指定周未,指定日期为非工作日22weekday星期几WEEKDAY(serial_number,[return_type])1:1日-7六,2:1一-7日,3:0一-6日…23weeknum第几周WEEKNUM(serial_num,[return_type])24workday工作日天数后值WORKDAY(start_date,days,[holidays])25workday.intl自定义周未,工作日后天数值WORKDAY.INTL(start_date,days,[weekend],[holidays])②逻辑函数
序列函数解释语法备注1and与AND(logical1,[logical2],…)2or或OR(logical1,[logical2],…)3xor异或XOR(logical1,[logical2],…) xor(true,true)=false4not非NOT(logical)5TRUE真6FALSE假FALSE()7if判断IF(logical_test,value_if_true,[value_if_false])。8ifs多条件判断if(logical_test1,val_if_true1,logical_test2,val_if_true2…)excel2019以上新增函数9iferror错误返回IFERROR(value,value_if_error)错误类型:#N/A、#VALUE!、#REF!、 #DIV/0!、#NUM!、#NAME?或#NULL!9ifna判断IFNA(value,value_if_na)错误值#N/A时返回值③查找和引用函数
序列函数解释语法备注1choose选择执行CHOOSE(index_num,value1,[value2],…)。2row行号row()3rows行个数ROWS(array)4column列号COLUMN([reference])5columns返回数组或引用的列数COLUMNS(array)6index区域值引用INDEX(array,row_num,[column_num])7areas统计区域连续个数AREAS(reference)。8transpose转置单元格区域TRANSPOSE(array)。9formulatext公式转文本FORMULATEXT(reference)10getpivotdata透视表数据读取ETPIVOTDATA(data_field,pivot_table,[field1,item1,field2, item2], …)11hlookup行查找HLOOKUP(lookup_value,table_array,row_index_num,[range_lookup])12vlookup竖向查找VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])13lookup不建议使用14match相对位置MATCH(lookup_value,lookup_array,[match_type])1小于等于,0等于,-1大于等于,可以值能通配符15hyperlink超连接HYPERlink(link_location,[friendly_name])超连接,名称16address文本单元格值ADDRESS(row_num,column_num,[abs_num],[a1],[sheet_text])配合indirect使用17indirect计算文本字符串的引用INDIRECT(ref_text,[a1])INDIRECT(“r1c1”,FALSE) INDIRECT(“a1”,true)18offset偏移OFFSET(reference,rows,cols,[height],[width])。19rtd第三方应用编写脚本,导入角本RTD(ProgID,server,topic1,[topic2],…)④文本函数
序列函数解释语法备注1left /leftb左取字符/节LEFt(text,[num_chars])2right /rightb右取字符/节RIGHt(text,[num_chars])3mid /midb指定位置取字符/节MId(text,start_num,num_chars)4len /lenb字符个数LEN(text)5find /findb字符查找字/符,第一个位置FIND(find_text,within_text,[start_num])6search /searchb查找 同findSEARCH(find_text,within_text,[start_num])支持通配符7replace/ replaceb替换REPLACE(old_text,start_num,num_chars,new_text)8substitute查找替代SUBSTITUTE(text,old_text,new_text,[instance_num])9concatenate串联字符串ConCATENATE(text1,[text2],…)10exact比较(含大小写)字符串EXACT(text1,text2)11fixed返回文本结果,同roundFIXED(number,[decimals],[no_commas])12trim清除空格(保留单词间空格)TRIm(text)13lower第一个字母转小写LOWER(text)14upper转大写UPPER(text)15proper首字母转大写PROPER(text)16numbervalue文本转数字NUMBERVALUE(Text,[Decimal_separator],[Group_separator])17value文本转数字VALUE(text)18T数值转文本T(value)19rmb按货币四舍五入转成文本RMB(number,[decimals])20dollar数字转文本(美元)DOLLAR(number,[decimals])基本不用21text转文本 TEXT(value,format_text)可以自定义文本格式uncode22rept重复显示REPT(text,number_times)23code字符串第一个字符代码CODE(text)24charansi字符集编码返回字符CHAr(number)25unicharunicode字符UNICHAr(number)26unicode第一个字符unicode数字UNICODE(text)27widechar单字节转双字节WIDECHAr(text)28asc双字节转单字节ASC(text)29clean删除无法识别字符CLEAN(text)30phonetic拼音⑤数学函数
⑥统计函数
描述统计
推断统计
⑦数据库函数
序列函数解释语法备注1dsum求和DSUM(database,field,criteria)不支持超级表,行列操作2daverage条件求平均DAVERAGE(database,field,criteria)daverage(C129:D135,“数量”,H129:H130)3dcount单元格个数DCOUNT(database,field,criteria)4dcounta非空单 元格个数DCOUNTA(database,field,criteria)5dget符合条件单 元格值DGET(database,field,criteria)6dmax最大值DMAX(database,field,criteria)7dmin最小值DMIN(database,field,criteria)8dproduct条件乘积DPRODUCT(database,field,criteria)9dstdev样本估算总体标准差DSTDEV(database,field,criteria)10dstdevp样本总体计算总体标准差DSTDEVP(database,field,criteria)11dvar总体方差DVAR(database,field,criteria)12dvarp样本总体方差DVARP(database,field,criteria)⑧三角函数
序列函数解释语法1acos反余弦值ACOS(number)2acosh反双曲余弦值ACOSH(number)3acot反余切值ACOT(number)4acoth双曲反余切值ACOTH(number)5asin反正弦值ASIN(number)6asinh反双曲正弦值ASINH(number)7atan反正切值ATAN(number)8atan2给定X,Y 的反正切值ATAN2(x_num,y_num)9atanh反双曲正切值ATANH(number)10cos余弦值COS(number)11cosh双曲余弦COSH(number)11cot余切COT(number)12coth双曲余切值COTH(number)13csc余割值CSC(number)14csch双曲余割值CSCH(number)15degrees弧度转换为度DEGREES(angle)16radians角度转弧度RADIANS(angle)17sec角度的正割值SEC(number)18sech角度的双曲正割值SECH(number)19sin正弦值SIN(number)21sinh反正弦值SINH(number)20tan正切值TAN(number)21anh反正切值TANH(number)⑨信息函数
序列函数解释语法备注1N转为数值N(value)2NA错误NA()3isblank是否空单元格ISBLANK(value)4iseven奇偶ISEVEN(number)false:奇,true:偶5isodd奇偶ISODD(number)奇:true6isnumber是否数字ISNUMBER(value)7istext是否文本ISTEXT(value)8isnontext是否 非文本ISNonTEXT(value)9islogical是否逻辑值ISLOGICAL(value)10isref是否引用ISREF(value)11isformula是否存在包含公式的单元格引用ISFORMULA(reference)12iserr是否错误(不含#N/A)ISERR(value)13iserror是否错误ISERROR14isna是否naISNA(value)15sheets工作表数SHEETS([reference])16sheet工作表编号SHEET([value])17type数值类型TYPE(value)数字:1,文本:2,逻辑值:4,错误值:16,数组:6418cell获取单元格信息CELL(info_type,[reference])地址,列标,颜色否,公式否,文件路径,文本值,正值否,标签文本值,锁定否,行号,数据类型,列宽19error.type错误类型ERROR.TYPE(error_val)#NULL!: 1,#DIV/0!:2, #value!:3,#REF!:4,#NAME?:5,#NUM!:6,#N/A:7,#GETTING_DATA :820info操作系统INFO(type_text)directory:当前目录,numfile:工作表数,origin:以当前位置为基准,左上角单元格,osversion:操作系统版本,recale:计算模式(自动,手动),release:excel版本,system:系统名称2.1.2 MySQL
mysql——基本概念_小顽固的博客-CSDN博客_mysql-##数据库的好处 1.持久化数据到本地 2.可以实现结构化查询,方便管理##数据库相关概念 1、DB:数据库,保存一组有组织的数据的容器 2、DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据 3、SQL:结构化查询语言,用于和DBMS通信的语言##数据库存储数据的特点 1、将数据放到表中,表再放到库中 2、一个...https://blog.csdn.net/qq_41825534/article/details/104599366mysql——条件查询_小顽固的博客-CSDN博客#进阶2:条件查询/*语法: select 查询列表③ from 表名① where 筛选条件;② 执行顺序:①②③分类: 1、按条件表达式筛选: 条件运算符:> = < >= <= != <>(不等于) 2、按逻辑表达式筛选: 逻辑运算...https://blog.csdn.net/qq_41825534/article/details/104672849mysql——排序查询_小顽固的博客-CSDN博客进阶3:排序查询/*语法:select 查询列表③from 表①where 筛选条件②order by 排序列表 asc|desc④ -- asc用于升序排列,desc用于降序排列 如果后面不加任何关键字,则默认表示升序排列特点: 1、asc代表的是升序,desc代表的是降序,如果不写,默认是升序 2、order by...https://blog.csdn.net/qq_41825534/article/details/104673079 mysql——常见函数之单行函数_小顽固的博客-CSDN博客_mysql单行函数#进阶4:常见函数/*概念:类似于java中的方法,将一组逻辑语句封装在方法中,对外暴露方法名好处:1、隐藏了实现细节。2、提高代码的重用性调用:select 函数名(实参列表) from 表特点: ①函数名 ②函数功能分类: ①单行函数 如:concat、ifnull、length等 传一个值,返回一个值 ②分组函数(...https://blog.csdn.net/qq_41825534/article/details/104680818
mysql——常见函数之分组函数_小顽固的博客-CSDN博客二、分组函数功能:用作统计使用,又称为聚合函数或统计函数或组函数分类:①SUM:求和②AVG:求平均值③MAX:求最大值④MIN:求最小值⑤COUNT:计算个数特点:①SUM和AVG仅支持数值型参数②MAX、MIN支持可比较的参数③COUNT支持任何类型的参数,但只计数非空的值④所有分组函数都忽略NULL值,对于为NULL的字段不参与运算⑤与DISTINCT搭配使用实...https://blog.csdn.net/qq_41825534/article/details/104720764mysql——分组查询_小顽固的博客-CSDN博客#进阶5:分组查询引入:查询每个部门的平均工资SELECt AVG(salary) FROM employees;语法: SELECt 分组函数,列(要求出现在GROUP BY 的后面) FROM 表名 WHERe 筛选条件 GROUP BY 分组列表 ORDER BY 子句;注意:1、查询列表是分组函数和GROUP BY后出现的字段总结:...https://blog.csdn.net/qq_41825534/article/details/104760774mysql——连接查询/多表查询_小顽固的博客-CSDN博客进阶6:连接查询/多表查询SELECt * FROM beauty;SELECt * FROM boys;https://blog.csdn.net/qq_41825534/article/details/104761889mysql——子查询_小顽固的博客-CSDN博客进阶7:子查询含义:出现在其他语句中的SELECt语句,称为子查询或内查询外部的查询语句:称为主查询或外查询分类: 按子查询出现的位置:SELECT后面(①)、FROM后面(④)、 WHERe或HAVINg后面(①②③)※、EXISTS后面(相关子查询)(④) 按功能不同(结果集的行列数不同)分为: ①标量子查询(结果集有一行一列...https://blog.csdn.net/qq_41825534/article/details/104795944mysql——分页查询_小顽固的博客-CSDN博客进阶8:分页查询※应用场景:当要显示的数据一页显示不全,需要分页提交SQL请求语法: SELECt 查询列表⑥ FROM 表① JOIN 表 ON 连接条件② ..、WHERe 筛选条件③ GROUP BY 分组条件④ HAVINg 分组后筛选⑤ ORDER BY 排序字段⑦ LIMIT 起始条目索引(OFFSET,从0开...https://blog.csdn.net/qq_41825534/article/details/104814987mysql——子查询经典案例_小顽固的博客-CSDN博客_mysql子查询案例子查询经典案例1、查询工资最低的员工信息: last_name, salarySELECt last_name,salaryFROM employeesWHERe salary=( SELECt MIN(salary) FROM employees);2、查询平均工资最低的部门信息SELECt *FROM departmentsWHERe depa...https://blog.csdn.net/qq_41825534/article/details/104845109mysql——联合查询_小顽固的博客-CSDN博客进阶9:联合查询关键字:UNIOn:联合、合并,将多条查询语句的结果合并成一个结果引入:案例:查询部门编号>90或者邮箱中包含a的员工信息SELECt * FROM employees WHERe department_id>90UNIOnSELECt * FROM employees WHERe email LIKE '%a%';应用场景信息来自多表,表之间没有...https://blog.csdn.net/qq_41825534/article/details/104847328mysql——DML数据操纵语言_小顽固的博客-CSDN博客DML语言(DATA manipulation LANGUAGE)数据库操作语言: 插入:INSERT 修改:UPDATE 删除:DELETE 一、插入方式一语法: INSERT INTO 表名(列名......)VALUES(值......);特点: ①插入的值的类型与列的类型要一致 ②1、插入的值的类型与列的类型要一致...https://blog.csdn.net/qq_41825534/article/details/104850152mysql——DDL数据定义语言_小顽固的博客-CSDN博客DDL(DATA define LANGUAGE)数据定义语言库和表的管理一、库的管理创建:CREATE修改:ALTER删除:DROP1、库的创建语法:CREATE DATAbase 库名;案例:创建库booksCREATE DATAbase books;容错处理:如果存在,不报错;不存在则创建CREATE DATAbase IF NOT EXISTS books;...https://blog.csdn.net/qq_41825534/article/details/104875066mysql——标识列_小顽固的博客-CSDN博客标识列又称为自增长列,不用手动插入值,系统提供默认序列值特点:①标识列不一定必须和主键搭配,只要是一个可以ok②一个表中只可以有一个标识列③标识列的类型只能是数值型④标识列可以通过SET AUTO_INCREMENT='i'设置步长,i为步长值⑤标识列可以通过手动插入值设置起始值一、创建表时设置标识列CREATE DATAbase test;USE test;DROP T...https://blog.csdn.net/qq_41825534/article/details/104875287mysql——常见的数据类型_小顽固的博客-CSDN博客常见的数据类型数值型: 整型 小数:定点数、浮点数字符型:短文本(CHAR VARCHAR)、长文本(TEXT BLOB较长的二进制数据)日期型1、整型分类:TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)、BIGINT特点:①测试如何设置无符号和有符号 默认为有符号,设置无符号需要在类型后面加UNSIGNEDC...https://blog.csdn.net/qq_41825534/article/details/104858919mysql——常见约束_小顽固的博客-CSDN博客常见约束语法:CREATE TABLE 表名( 字段名 类型 列级约束 字段名 类型 表级约束)约束含义:一种限制,专门用于限制表中行或者列的数据,以保证最终数据的可靠性一致性。分类: NOT NULL ①非空约束 #保证字段值为非空 DEFAULT ②默认约束 #保证该字段有默认值 PRIMARY KEY ...https://blog.csdn.net/qq_41825534/article/details/104875300mysql——TCL事务控制语言_小顽固的博客-CSDN博客TCL语言:事务控制语言TRANSACTION control LANGUAGE事务:一个或一组SQL语句组成一个执行单元,执行单元要么全部执行,要么全不执行事务标准定义:事务由单独单元的一个或多个SQL语句组成,在这个单元中,每个MySQL语句是相互依赖的。而整个单独单元作为一个不可分割的整体,如果单元中某条SQL语句一旦执行失败或产生错误,整个单元将会回滚。所有受到影响的数据将返...https://blog.csdn.net/qq_41825534/article/details/104877165mysql——视图_小顽固的博客-CSDN博客视图含义:虚拟表,和普通表一样使用,mysql5.1开始出现的新版本,通过普通表动态生成的数据,行和列的数据来自定义视图的查询中使用的表,只保存了SQL逻辑,不保存查询结果特点:①临时性②重复使用性优点:1、重用SQL语句2、简化复杂的SQL操作,不必知道它的查询细节3、保护数据,提高安全性视图和表的对比创建的关键字是否占用实际的物理空间使...https://blog.csdn.net/qq_41825534/article/details/104883732mysql——变量_小顽固的博客-CSDN博客变量分类:系统变量:系统提供的变量 全局变量、会话变量自定义变量: 用户变量、局部变量一、系统变量系统柜提供的变量,属于服务器层面的变量语法: ①查看所有的系统变量如果不写则默认查看会话变量SHOW GLOBAL VARIABLES #查看全局变量SHOW SESSION VARIABLES #查看会话变量②查看满足条记的部分系统变量SHOW...https://blog.csdn.net/qq_41825534/article/details/104885358mysql——存储过程_小顽固的博客-CSDN博客存储过程类似于java中的方法优点: ①提高代码的重用性 ②简化操作 存储过程定义:一组预先编译好的SQL语句的集合,可以理解为批处理语句优点: ①提高代码的重用性 ②简化操作 ③减少编译次数和与数据库连接的次数,提高效率语法:一、语法创建CREATE PROCEDURE 存储过程名(参数列表)BEGIN 存储过程体(一组合法的...https://blog.csdn.net/qq_41825534/article/details/104899932mysql——函数_小顽固的博客-CSDN博客函数存储过程定义:一组预先编译好的SQL语句的集合,可以理解为批处理语句优点: ①提高代码的重用性 ②简化操作 ③减少编译次数和与数据库连接的次数,提高效率语法:存储过程与函数的区别 返回值个数应用场景存储过程0或多个返回批量插入、更新函数有且仅有一个返回处理数据后返回一个结...https://blog.csdn.net/qq_41825534/article/details/104900135mysql——流程控制结构_小顽固的博客-CSDN博客流程控制结构顺序结构:程序从上外下执行分支结构:程序可以从两条或者多条去执行循环结构:程序在男足一定的条件基础上重复执行一段代码一、分支结构1、IF函数功能:实现简单的双分支语法:SELECT IF(表达式1,表达式2,表达式3);执行顺序:如果表达式1成立则返回表达式2的值,否则返回表达式3的值应用在任何地方2、CASE结构(如果THEN后面加语句则需要用分号结...https://blog.csdn.net/qq_41825534/article/details/104906511
2.1.3 R语言 2.1.4 产品原型工具 2.2 需求管理
2.2 需求管理
需求来源:用户反馈、需求调研、竞品分析、头脑风暴、数据分析等
需求判断:
2.2.1 需求池管理
需求池管理包括需求标准、需求归类、需求内容、需求优先级、需求对接人等。
序号需求确认日期需求内容需求对接人需求状态优先级备注常见需求管理工具:JIRA、Tower、notion
2.2.2 从需求跟进到需求落地
①需求文档
<1>需求、产品概况
<2>文档迭代记录
版本负责人时间内容备注进度V1.0小乐2021.10.16增加客户查询入口排期已确认,待开发完成<3>需求/产品背景
为什么要做这个需求/产品,包括业务背景、市场背景或竞品的对比分析,预计需求/产品上线可能达成的目标
<4>需求/产品定位
描述该产品/需求的用户定位和市场定位,描述清楚要解决的问题。
<5>需求/产品优先级
一般情况按照ABCD划分产品/需求优先级情况,或按照P0P1P2P3降序说明优先级情况。
<6>需求内容
西安说明整个文档的框图和产品思路流程,具体说明需求的使用场景、功能描述、前置条件、处理方案、后置条件、补充说明等。
②开发/测试进度把握
协调资源,预留排期
③上线验收
是否完成所有需求;测试过程重的重要问题是否已经全面解决;紧急问题100%修复,普通Bug尽量解决;验收通过后,正式上线
三、数据分析思维与实践 3.1数据产品经理常用的分析方法 3.1.1常规分析常规分析用到同比分析、环比分析和ABC分析。同比和环比分析主要应用于数据产品中常见的有周报、月报、日报等
同比分析:某个周期时段与上个周期的相同时段的比较,同比增长率=(本期数-同期数)/同期数X100%。
环比分析:某个时段与其上一个时长相等的时段做的比较,如本周环比上周。环比增长率=(本期数-上期数)/上期数x100%
ABC分析:以某种指标为对象,进行数量分析,以该指各个维度数据与总体数据的比重为依据,按照比例大小顺序排列,并按照一定的必中或累计比重标准,将各组成部分分为ABC三类。例如:按照人均收入,将中国居民家庭进行划分,分为富有、小康、贫穷、特困四类。
3.1.2统计模型分析①预测产品在未来一年内的日活量会按照什么趋势发展,预估DAU
采用回归分析,通过多个自变量作为输入,通过回归分析,拟合成一个函数,以推算出未来的DAU(因变量)。常用回归分析主要有线性回归分析、非线性回归分析、时间序列等
②上线某个营销活动,预估活动效果、用户参与度等情况
采用分类分析方法,根据以往的活动数据,分析活动的各个影响因素在满足什么情况下才会产生我们想要的效果,并将有线上活动时和没有线上活动时的数据输入系统中,分类函数判断活动效果与哪些因素有关。常见分类分析方法有决策树、朴素贝叶斯算法、KNN算法、神经网络算法等
③对现有用户尽心细分,预估到底哪一类用户才是目标用户群
采用聚类分析,细分市场、细分用户群都数据聚类分析问题,便于了解用户的具体特征,从而进行精准营销。常见聚类分析方法有K均值聚类、分布估计聚类等。首先选取聚类变量,尽量选取对产品使用行为有影响的变量,并且变量间不存在高度相关。其次选择合适的分类数目,一般选择拐点附近的几个类别作为分类数目。最后,观察各类用户在各变量上的表现,找出不同类别用户区别于其他用户的重要特征,选取几个最明显的特征进行聚类分析。
④用户后买许多商品后,预估哪些商品被同时购买的概率大。
采用关联分析,频繁项集和关联规则。频繁项集:经常出现在一起的物品集合;关联规则:暗示两种物品之间存在很强的关系。
可信度:可信度,就是对人或事物可以信赖的程度。是根据经验对一个事物或一件事情为真的相信程度。
置信度:在统计学中,一个概率样本的置信区间(Confidence interval)是对这个样本的某个总体参数的区间估计。置信区间展现的是这个参数的真实值有一定概率落在测量结果的周围的程度。置信区间给出的是被测量参数测量值的可信程度范围,即前面所要求的“一定概率”。这个概率被称为置信水平。
3.1.3 自建模型分析估算用户的生命周期价值LVT,需要根据公司业务自建模型分析,例如依赖于广告收入的公司LVT会和用户活跃天数和ARPU(每用户平均收入)值有关,就ARPU而言,不同公司的细分是不一样的,各个指标需要灵活组合,保证分析的有效性和针对性。LTV=用户平均活跃天数XARPU=用户平均活跃天数X(指标1X参数1+指标2X参数2……)
3.2 应用实例 3.2.1商城积分与DAU的关联分析数据分析报告:清楚谁在用你的数据分析报告,用户不同,数据展示形式不同,尽量提升信息密度,选用正确的可视化图形。
背景
①领取过积分与未领取过积分的用户的DAU和平均停留时长是否有差别。
②领取过但未消费积分和领取过且消费积分的用户的DAU和平均停留时长是否有差别。
结论
①(1)用户领取积分,能够有效提高DAU和平均停留时长,提高DAU(15.23%)的效果优于平均停留时长(13.25%)。
(2)从目前的数据发现,积分的使用/消费并不能明显提高DAU,对平停留时长的提高影响更小。
3.分析思路
(1)用户分为三组。①未领取过积分的用户。
②领取过但未消费过积分的用户。③领取过且消费过积分的用户。
(2)分析这三组用户分别在领取/消费前后一周的DAU和平均停留时长
HDFS。MapReduce、Hbase成为Hadoop的三驾马车,Hadoop的底层架构是HDFS,上面运行的是MApReduce、Tez、Spark,再往上封装Pig和Hive。
MapReduce:Map任务的分解,Reduce结果的汇总。高效的处理数据,MapReduce对计算机进行任务分配、任务通信和数据交换。Map将数据分成很多份,分配给不同的计算机进行处理。Reduce将处理的结果进行收集,合并后得到最后的结果。由于MapReduce的使用门槛较高,Hive和Pig基于MapReduce的基础封装出更简单的方式。Pig类似于脚本的方式实现MapReduce,Hive以SQL的方式实现。Hive和Pig将脚本和SQL翻译成MapReduce程序,然后交给计算引擎处理数据。
Hbase:列式内存数据库
HDFS:NameNodes:管理文件元数据;DataNode:存储物理文件;Client:获取文件的API
HDFS文系统将文件进行分布式存储,但对于用户前端而言,其只能看到一个文件系统,按照挂载点去寻找对应的数据文件,而无需考虑其实际的存储位置。HDFS会将用户的数据进行分布式存储到不同的机器上。
目前主流的大数据处理框架为Hadoop和Spark,其一般搭配使用。
①Spark:提供实时内存计算,比MapReduce更快,是一个开源的集群运算环境。
②Kafka:高吞吐量的分布式发布订阅消息系统。可以处理用户数据。用户数据处理通常以处理日志和日志聚合的方式解决。Kafka集群消息是有时效性的,过时未消费将被清空。
③Storm:用于分布式数据处理,包括实时分析、在线机器学习、信息流处理、连续性计算、ETL等,每秒可以处理百万级数据,具有运维简单、高度容错、无数据丢失、多语言的特点。
④Hbase:基于HDFS的分布式、面向列的存储系统。以Key-Value的方式对存取操作进行优化。
⑤HUE:Cloudera的大数据可视化攻击,简化用户与Hadoop集群的交互。可在web页面中将HDFS的数据导入Hive中,通过HUE以HiveQL对查询数据进行展示,保存SQL、查看和删除历史SQL,对查询的数据结果进行可视化展示。
⑥Oozie:工作流调度系统,统一管理工作流的调度顺序,安排任务的执行时间。Oozie集成Hadoop的MapReduce、Pig、Hive等协议及Java、Shell脚本等任务,底层是MapReduce程序。
⑦Zookeeper:Hadoop和Hbase的重要组件,分布式开放的应用程序协调服务,为应用提供配置维护、域名服务、分布式同步、组服务等一致性服务。
⑧YARN:保证Hadoop生态中多个工具的有序运行,作为调度系统进行协调指挥。
4.1.2 其他工具Elasticsearch:基于Lucence的搜索服务器,基于多用户的分布式全文搜索引擎,主要应用于云计算中,实现实时搜索,稳定、可靠、快速、安装使用方便。
Memcached:开源高性能、分布式内存对象缓存系统,基于key-value存储,解决大数据量缓存问题,主要应用于减轻数据库负载。通过内存来缓存数据查询结果,减少数据库访问次数提高动态网址应用的速度。
Redis:基于内存可以持久化的日志型key-value数据库。使用ANSI C语言编写,提供多种语言的API,为保证速度和效率,数据缓存在内存中,redis相比于Memcached多了持久化操作,定期将更新的数据写入磁盘或文件中。
4.2 大数据平台层级架构根据数据流入流出的过程,将大数据平台架构分为三层:原始数据层、数据仓库、数据应用层。
原始数据层(OSD,operational Data Store)一般是由基础日志数据,业务线上库和其他来源数据获得。数据仓库的数据对来自ODS层的数据经过ETL(Extract抽取,Transfer转化,load装载)处理。
数据仓库以ODS层数据为基础,通过逻辑加工生产数据仓库主体表。
数据应用层用于处理消费数据仓库的数据。
4.2.1 ODS层ODS层的表分为两类:①存储当前需要加载的数据②存储处理完后的历史数据
ODS数据来源:①客户操作日志②业务数据库
ODS层的作用:①在业务系统和数据仓库间形成一个隔离层,ODS数据抽取根据业务类型执行。
②转移一部分业务系统细节查询的功能,ODS数据逻辑和业务层逻辑相同,可以代替业务层执行一定的数据操作。
③由于数据仓库无法存储详细数据,在需要获取详细数据的场景时,ODS可以代替数据仓库完成详细数据获取功能。数据仓库从宏观上满足企业的决策支持要求,ODS层从微观反映细节交易数据或细粒度的数据查询要求。
4.2.2 数据仓库数据仓库并不产生任何数据,也不消费任何数据,数据来源于外部并且开放给外部。
数据仓库的特点:①数据仓库是面向主题的,按照业务进行归类数据。
②数据仓库是集成的,数据可能来源多处,数据仓库对数据进行抽取、转化、清洗后再集成到数据仓库中。
③数据仓库是不可更新的,存储的数据不可更新,主要提供查询操作。
数据仓库的要求:①效率高 ②数据质量高 ③可扩展性(重复使用)
数据仓库的构造:
1、基础层
对ODS层数据进行轻度汇总,产出轻度汇总明细、维度表、码表、事实集等基础数据。通过建模方式对数据进行处理。
业务模型领域模型逻辑模型物理模型业务方面的分层基于业务模型抽象处理将领域模型是实体见进行数据库层次的逻辑化对不同关系型数据库物理化构建过程从左向右依次进行2、主题层
按照一定维度和业务逻辑,对数据进行聚合,生成画像表和主题表。
3、数据集市
将主题层和基础层的数据按业务需求进行聚合,生成宽表和Cube,推送给数据分析和业务部门使用。
4.2.3 数据的应用1、描述性分析应用:描述所关注业务的数据表现,将数据可视化呈现
2、预测性分析应用:在描述性数据的基础上,根据历史数据建模,分析未来数据。
3、指导性分析应用:基于对现有数据和未来的预测情况,指导决策。
4.3 数据埋点 4.3.1 数据埋点方式 埋点方式描述优点缺点代码埋点研发在代码中实现灵活性强,可控发送时机和发送方式等人力成本高,需要研发工程师手动开发程序可视化埋点以前端可视化的方式记录前端设置页面元素与对其操作的关系,以后端截屏的方式统计数据简单、方便、快速埋点受限,上报的行为信息有限无埋点绑定页面的各个控件,当事件触发时就会调用相关的接口上报数据。方便、快捷、省事传输数据量大,资源消耗多4.3.2 埋点事件1、点击事件:对前端页面的按钮点击进行记录。
2、曝光事件:当用户成功进入一个页面记录一次数据,当刷新一次页面也会记录一次数据,如果通过手机home键切换出去,则不记录,因为其已经脱离app,没有分析价值,可能污染数据。
3、页面停留时长:记录用户在一个页面停留时间,计算方式为退出页面时间和进入页面时间的差值。
4.4 指标字典 4.4.1 基本概念指标字典是业务数据标准化的基础,目的是对指标进行统一管理,方便共享,达成对业务指标的公示,并且统一修改和维护。
目的:
①规范维度和量度命名,命名规则需明确、通用、易懂
②对维度或量度统一计算口径,避免歧义
③涵盖尽可能多的关注的核心维度和度量,以此为基础推动数据建设,确保指标字典里覆盖的维度都可区分,指标都可统计。
④基于指标字典,将核心维度和量度注入元数据中心,接入指标提取工具,后续实现不需要写SQL语句即可自助查询及分析需求。
指标:衡量目标的方法,维度(看问题的角度)+汇总方式(衡量问题的方法)+量度(解决什么问题)
量度:对物理量的测定,数字+单位表示
维度:看待问题的角度和方向
4.4.2 指标分类1、基础指标:无上游指标,它的父指标就是其本身
2、普通指标:在单一父指标的基础上通过一些维度上的取值,限定可以定义的指标。
3、计算指标:基于若干注册指标,通过四则运算、排序、累计或汇总等定义的指标。
大数据分析平台的应用
①在开源产品上搭建大数据分析平台,过程繁琐,支持业务扩展,需要修改源码,可迅速搭建,主流产品有Airbnb开源的Superset、Grafana等
②商业版付费大数据分析平台,BI分析平台。
③自建大数据分析平台。
大数据分析平台的构建原则:
①安全性;②可扩展性;③灵活性
大数据分析平台建设的四阶段
①报表分析平台;②自助式分析平台③智能化分析平台④业务场景分析平台
可拓展的报表分析平台大多数停留在后端接口查询数据库数据,前端可视化展示数据。随着业务的增长,需要扩展分析平台,用实现QUeryAdapter的方式解决问题,具体通过前端配置JSON,在API层下添加QUeryAdapter层把API的接口翻译成相应的SQL,通过SQL查询数据库。
前端配置的JOSN需要明确的字段如下:
①DataSource,数据源,包含数据地址、端口、数据库格式、数据库、数据表
②metrics,页面展示的数据指标,包括指标的计算类型、指标ID、指标名称、指标别名。
③simensions,指标维度,相当于SQL中的group,即分析人员希望按照什么分组查看数据。
④filter,过滤,设置查询规则、过滤条件
⑤orders,排序。
自助式分析平台功能主要包含创建数据源、创建单图(核心)、创建看板。
名称应用场景配置规则图例表格展示详细数据、原始数据0或多个维度、0或多个指标折线图
&
曲线图
显示一段时间的趋势1或2个维度,1或多个指标 堆积区域图强调数据量随时间变化的程度,强调总值趋势的变化1或2个维度,1或多个指标 柱状图用来比较2个或2个以上的指标,用于较小数据集的分析。2个以内维度,1个或多个指标饼图显示一个数据系列中各项的大小与各项总和的比例,应用于看不同构成元素之间的百分比情况。1个维度,1个指标,0个维度,多个指标漏斗图适用于业务流程规范、周期长,环节多的流程分析,能够直观发现和说明问题所在。1个维度,1个指标,0个维度,多个指标 留存图用来衡量新用户后续的行为表现,表示后续留存时间情况时间维度以及后续的留存数据 旭日图一种现代饼图,清洗表达层级和归属关系,以父子层次结构展示数据构成情况。里中心点越近表示级别越高,相邻两层是内层包含外层的关系 桑基图一种特定类型的流程图,各个分支宽度表示流量大小,主要用于用户行为路径,能源转流等场景。 词云图把出现频率较高的关键词在可视化页面突出显示,过滤不重要信息,主要应用在舆情热词显示、新闻等领域。 散点图反映相关性或分布关系,用于探索性研究
智能化分析平台让数据智能化,支持数据进行对维度下钻、单图之间数据联动、对数据异常点进行标注、指标异常检测等功能,实现从多维度的数据出发了解业务,让数据发挥更立体的价值。
业务场景分析平台数据报告:明确报告对象
①公司领导层:关键指标是否达到预期;关键指标的表现情况、问题出现在哪里、表现优秀的原因、团队计划
②业务同事:挖掘问题,提出建议或改进方案。用数据驱动团队。
移动端大数据分析平台产品定位
管理层:多维度、立体化移动数据平台,随时查看数据情况,发现问题,输出管理压力,促成业务。
业务层:构建移动数据可视化报表,提供更多业务场景的数据需求。
注意:用户权限控制、平台稳定性和可扩展性
数据内容
数据内容决定产品如何组织目录结构,产品业务的指标架构。重点考虑时间维度、业务指标、数据产出方式(实时计算///离线计算)。
产品结构
层次设计:将数据分层,符合用户获取数据的浏览思路,先看到主要指标,再看详细数据,由总到细,便于用户操作交互体验。
整体架构设计
导航方式
设计方式
①瀑布流平铺方式:将所需展示的内容以平铺的方式展现在程序中。平铺方式如果没有其他导航方式的辅助,则承载内容量与体验成反比。
②名片导航方式:按照业务方向分类,每个名片代表一个业务模块或某个核心指标。点击业务名片,导航到下级页面展示详细数据。
③Tab或下拉切换方式:将数据内容切分成多个部分,每个分层在同一级,每个部分配合其他导航方式继续向下级延伸。
num<1w,显示本身
1w≤num≤1亿,上卷以万为单位
num≥1亿,上卷以亿为单位
英文版num<1k,显示本身
1k≤num≤100w,上卷以千为单位
num≥100w,上卷以百万为单位(M)
第六章 用户行为分析平台实践 6.2用户分析平台的功能主要功能有事件分析、留存分析、转化分析、用户分群、用户行为细查、用户行为路径分析等功能。
6.2.1 事件分析基于事件的指标统计、属性分组、条件筛选等功能的查询分析。
事件:追踪或记录的用户行为或业务过程,一个事件内包含数个事件属性。
公共属性:所有事件都具有的维度抽象出来形成公共属性。分为用户属性和设备属性。
在事件分析前,选择要分析的事件,对事件总次数、总用户数、渗透率、人均次数、事件频次分布、按指标属性求和/平均值/人均值等进行统计分析。还可以创建组合指标,通过指标组合及运算形成新指标
用户早期流失情况严重时,需要让用户快速、容易体验到产品的价值,一旦用户发现产品对自己的价值,就会继续使用和探索新的功能。产品的留存率反映用户对产品的黏度。不仅要关注整体产品的留存率,同时也要关注核心功能的留存率,如复购等。
起始事件:计算留存行为的依据事件,用来圈定留存分析中研究的目标用户群。例如起始事件为app_launch,回访事件为video_play,10.31用户做了app_launch,11.2用户做了video_play,则该用户为该产品10.31日的2日留存用户。
留存率=当日留存用户数/当日目标用户数
分析过程:
①选择参与留存分析的起始事件,设置过滤条件,选择留存分析的回访事件(可选择多个形成对照组)
②选择用户,针对事件的公共属性进行筛选,可以添加不同筛选条件下的对照组进行对比。、
观察用户的留存率一般为次日留存、7日留存、14日留存、30日留存
6.2.3 转化分析转化:当用户向你的业务价值点方向进行一次操作就产生一次转化。业务价值包括但不限于注册、购买、下载等行为。在效果可视化方面,一般使用漏斗图展现这一过程。
窗口期:用户完成转化的时间,用户在设定的窗口期完成完整的转化流程才算转化成功。
统计范围:本次转化分析中研究的用户所在的时间范围。
分析过程:
①设置事件和用户,设置窗口期,可以按照秒、分、时、天的级别设置。
②选择分析的转化事件,设置过滤条件
转化率=上一事件转化人数/本事件转化人数
业务人员进行转化分析时,需要分析影响转化的细节因素,能否进行细分和对比分析非常关键。例如转化漏斗按用户来源渠道进行对比,掌握不同渠道的转化差异,用于优化渠道。进行多漏斗分析有利于多维度的转化率分析,以优化产品。
6.2.4 用户分群用户分群是将全部用户划分成较小的,有共同需求的群组。用户分群称为精细化运营的第一步。
根据用户画像分群,对用户打标签。打标签的标准主要依照用户的社会属性、生活习惯、消费行为等。进行用户画像设计用户基本特征和用户隐性特征,
第七章 AB实验平台实践目前数据的使用方式主要分为先验、后验两种,后验的使用方式在大数据平台和用户行为分析平台中都有使用,先验主要用于AB实验平台。
AB实验的优点:
①根据实验结果可以选择最佳方案,做到用数据说话。
②找到问题的原因,提高排查问题的效率
③建立数据驱动决策,持续迭代优化
④降低新版本或者新功能的潜在风险,及时发现问题,把影响范围降到最小。
⑤实验准确、快速
7.2 AB实验平台搭建 7.2.1 创建流程1、分析现状,通过分析业务数据,确定当前最关键的改进点
2、建立袈裟。对当前情况进行分析,提出优化改进的假设
3、建立实验指标。设置主要目标和辅助目标,衡量实验方案的优劣以及对其他方面的影响情况。
4、设计实验方案。针对方案设计产品原型,完成相关功能的开发,梳理产品的埋点文档,记录用户在每个页面的点击情况,便于后续优化迭代。
5、创建实验。确定实验条件、实验版本及每个线上版本的流量比例,按照流量比例开放线上流量进行实验。流量比例决定实验结果的有效性。由于直接使用线上生产环境的流量,所以实验流量不宜过大。初始阶段,流量设置稍微少点,根据试验情况逐渐增加流量,不宜把流量控制的太小,流量太小可能会引起随机结果,失去统计意义。
6、通过实验平台的数据和报表分析实验结果。实验有效性的判断:根据分流情况确定实验是否有足够的样本量,从而可以在较大的概率拒绝统计错误的发生。通过对比实验组和对照组是否存在显著差异,结算结果指标的置信区间。
7、验证实验结果后,如果实验方案达到预期,可以进一步调整流量,逐渐全量上线实验方案。
7.3 实验分流
AB实验平台分流目标:
①支持更多实验。多个实验并行扩展,不影响实验的灵活性
②保证实验的准确性和合理性。确保分析的实验结果基于合理的用户分流
③更快创建实验。快速获取数据分析结果。
影响用户是否被实验命中的因素有流量分配、流量过滤规则、固定用户标签
①流量分配。建立多个实验分层,将实验分层的相关信息作为分流考量因素从而达到正交效果,每个实验层的流量分成1000份,每份代表0.1%的流量
②流量过滤规则。根据用户的请求参数设定规则,选定目标用户群体,对符合条件的流量返回命中实验,否则不命中。
③固定用户标签。尽让指定用户进入实验,支持实时动态调整。
实验分流过程:
①根据用户设定流量比。判断用户是否落在流量区间,在区间中则进入下一步,否则未命中实验
②判断实验是否固定用户标签。若没有配置用户标签或配置用户标签且完成匹配,则进入下一步。
③根据流量过滤规则判断用户是否被过滤。弱过滤,则未命中实验,否则返回相应的分组信息。
选择实验开始到昨天的历史数据情况,以天对时间粒度
比较准确,指标全面。缺点是更新周期长,当天更新前一天数据,一般用户实验效果的数据分析实时数据报表对应的趋势图为当天各个小时或者分钟某指标的变化趋势,对应的表格为当天各个指标各时或各分钟的累计数据更新快,分钟级更新。缺点是相对不精确,只支持一些核心指标的展现。一般用于实验上线初期的实验数据调试