数据产品经理基础技能:数据需求说明文档怎么写?-程序员宅基地

技术标签: 数据分析  编程语言  人工智能  大数据  产品经理  



公众号后台回复“图书“,了解更多号主新书内容
     作者:草帽小子
     来源:一个数据人的自留地

作者介绍

@草帽小子

数据产品经理一枚~

用户画像、埋点、指标体系、BI、广告投放等系列文章作者

大家好,我是你们的老朋友草帽小子。

 

最近身边有很多小伙伴转行了数据产品经理,或者是在转行的路上,大家咨询较多的问题在于数据需求文档怎么写?用户画像需求文档怎么写?有没有数据需求文档(后续简称数据prd)的模板?

 

于是乎,草帽小子专门写了这篇文章,来回答各位的问题。

01

是什么?

01

数据产品经理是什么?

我们先聊一聊,数据产品经理是什么?数据产品经理与产品经理的区别?我们先来看一个小案例:

 

前阵听神策CEO桑总讲到神策2015年成立,他早先认为团队并不需要数据产品经理,研发直接开发的数据能力十分强大,2015-17年间都是由他自己担任数据产品经理/产品经理,他来掌控产品方向,推进产品迭代。

 

但在17年,桑总开始意识到神策的数据分析等技术能力已十分强大,但产品用户体验不佳,很多功能都是一些堆砌,缺乏产品的层次感。这时,他的态度开始转变,他意识到仅靠自己和开发团队来做难以给客户带来更好的产品体验,需要招专业的、懂数据、懂产品的产品经理,来推进神策分析产品的进一步发展。

 

而这里的产品经理则是细分方向下的数据产品经理。

 

从上述案例可以看出什么呢?

一是数据产品经理,其实就是产品经理的角色,他承担着产品规划、产品设计、整体项目进度推进、产品运营推广等责任。而要做好一款数据分析产品,数据产品经理需要具备产品的基础能力,如沟通、协作等能力、prd撰写、原型绘制等等能力。

 

二是数据产品经理跟产品经理又稍有不同,数据产品经理需要懂数据分析,懂一些数据库语言,即sql语言,至少能把数据需求描述清楚。

数据产品经理=产品经理+数据分析,其能力要求80%产品经理,20%数据分析。

 

搞清楚数据产品经理是什么后,那我们来看看数据产品需求说明文档是什么?数据产品需求说明文档跟产品需求说明文档的区别?

 

02

数据产品需求说明文档是什么?

数据产品需求说明文档,是数据产品项目由概念化阶段进入到图纸化阶段的最主要的一个文档。这是对产品需求描述的描述,其内容包含需求背景、价值、产品架构、核心业务流程、功能需求说明、数据需求说明等。

 

总的来看数据产品需求说明文档与产品需求说明文档大体相同,而其差异点主要在于数据需求说明模块。

 

数据产品需求说明文档=产品需求说明文档+数据需求说明文档。

 

文档面向的用户群,决定了文档应该写哪些内容,写的怎么样。数据需求说明文档使用对象主要为:数据分析师、数仓开发、算法、前后端、数据&功能测试、项目经理、交互设计师、运营等其他业务人员。

从这里的用户群可以看出,与业务prd不同点在于,新增了数据分析师;数据prd的开发人员除了前后端开发外,还有数仓开发及算法;测试人员新增了数据测试,当然一般来说数据测试和功能测试都是一个人。

 

用户对象有了新增,则文档的内容势必发生相应的变化,新增了一大模块——数据需求的说明。

 

02

为什么需要数据prd?

prd撰写是产品经理的基础能力,而数据prd撰写是数据产品经理的必备技能;数据prd是数据产品与研发、测试、设计等沟通的桥梁,要是需求描述不清楚,研发难以开发;prd出得不够细致或全面,研发则容易漏需求,导致延期。

 

 

03

如何输出一份高质量的数据prd?

数据prd在基础规范上需达到以下2个要点:

1.全面:描述清楚why-what。在what层面要尽可能地细致,纵向考虑流程链路、横向考虑各个细节功能点以及异常情况,还原用户操作界面

2.可读性强:书写风格和内容清晰。书写风格上有条理,读者能按导航快速找到相应模块,运用清晰的编号,分小模块介绍;书写内容上有逻辑,运用专业的书面语言,看图说话,复杂问题最好通过举例子方式说明

 

01

数据prd包含哪些模块?

一份数据prd的组成如下:

第一模块:需求概述,讲清楚需求背景及价值,解决为什么做这个需求的问题

第二模块:项目总览,明确项目边界及项目预期上线时间,避免后续砍需求或是加需求

第三模块:产品总览,展示产品结构和全局说明,让读者较为清晰的从整体上接收此需求

第四模块:功能需求说明,介绍每个功能的使用场景/用户故事,前置和后置条件,正常和异常处理

第五模块:数据需求说明,介绍本期的数据需求对应的逻辑,取数的表等

第六模块:运营计划,列出后续的一些运营推广计划、相关人及时间点

附录:历次沟通意见汇总,规范记录每次需求变更及变更人,在一定程度上可以减少变更

 

除第五模块外,其他各模块均为业务prd的基础组成,产品经理同学对这些基本是轻车熟路,市面上相应的资料比较多,在这我就不展开介绍。草帽小子接下来主要聊聊数据需求怎么写。

 

03

数据需求分类

而要聊如何写数据需求,就不得不从数据产品经理的工作内容聊起。数据产品经理工作内容上从下层数据采集到上层数据应用,可分为数据埋点方向、BI分析方向、用户画像方向;

对应的需求文档分别为:

1.埋点数据需求文档,偏向于埋点事件的描述说明(这个文档我在之前【探寻one piece的埋点之旅】03埋点文档设计——橡胶jet鞭这篇文章有详细介绍,此处暂不展开)

2.指标数据需求文档,偏向于对指标、维度、取数逻辑的说明

3.标签数据需求文档,偏向于对标签业务含义、取数逻辑的说明

04

标签数据说明文档怎么写?

索隆是负责用户画像平台方向上的数据产品经理,其工作内容主要为标签体系的搭建,用户画像平台建设。

 

01

标签数据说明文档总览

标签数据说明文档包含:

1.标签主题:标签主题通常按对象划分,例如电商中的对象有消费者、商家、商品等对象,不同主题对象下划分的标签类别不一

2.标签类别:标签所属的分类,如基础信息

3.标签名称:标签中文名,如性别

4.标签值:标签的枚举值,如男、女

5.数据类型:标签可分为文本型标签、数值型标签。文本型标签通常为文本类型的枚举值,可用string表示;数值型标签通常为数字类型,可用int表示。此项通常由开发人员填写

6.标签含义:标签的业务含义,这通常是业务人员比较关注的一栏

7.标签使用场景:标签在什么场景下用,需业务人员在提出标签需求时填写清楚,没有应用场景的标签开发出来浪费人力物力,最终也是没人用。

8.标签计算逻辑:通常由数仓开发或是算法工程师填写,从技术的角度说明清楚该标签是如何一步步得出的。

9.依赖数据表和字段:针对事实或规则类标签,产品经理可列出标签所需的上游数据表及字段,方便开发人员写逻辑。这就需要产品经理较为熟悉底层的数据表及业务字段,最好是联合需求方一块梳理,业务上表的状态字段很多都难以区分,产品经理随便写上去,最终可能不是业务想要的结果。

总体来看,产品层面需要描绘业务语言,把标签的业务含义、使用价值等说清楚;研发层面列出标签的计算规则,增强标签的置信度, 一期可先在线下维护起来,后续可以开发标签管理系统,将标签在系统中管起来。

 

其中业务价值及使用场景决定了是否要做该标签,以及标签如何定义。如,商家“累计签约次数”标签,其使用场景一在于:对于多次签约的商家给予一定力度的优惠,提升一定的留存率。

 

统计“累计签约次数”标签是很简单粗暴的方式,其好处在于营销人员可灵活圈选“累计签约次数>1、2、3…”的商家分群,且规则简单。但其劣势在于标签值分段不直观,容易给营销人员造成困扰,到底是对“累计签约次数>1还是2”的商家给予优惠呢?分别给予多少优惠?没有明确的业务策略,以至于这个标签开发出来没人用。

 

因而产品经理需要进一步思考,基于这个场景,标签是否还有其他更好的实现方案?

 

02

标签树状分级结构

划分标签的主题,以及标签所属的类别,简而言之,也可以理解为划分标签的一级分类、二级分类。为什么要做这样的划分呢?

 

而索隆率先建设消费者画像,初期做了十几个标签,如性别、年龄、所在城市、偏好等,最开始没做分类。接下来索隆又丰富了消费行为类、偏好类标签,做了上百个标签。为了让营销人员更快的找到对应的标签,索隆将消费者标签划分了几大分类,整个消费者体系的画像雏形基本建设完成,营销人员则可灵活的对这类群体进行精细化运营。

从营销侧来看,标签树状分级的缘由在于帮助营销人员,快速从成百上千个标签中找到自己所需标签;从管理侧来看,标签分级结构可拓展性强,方便管理标签。

这时面向商家对营销人员开始眼馋了,看着面向消费者侧有如此个性化的服务,商家侧也需要建设一份商家画像,因而,索隆也开始着手搭建商家画像体系。当然商家营销关注的业务与消费者侧并不一致,因而所建立的标签体系也会有所不同,如建设商机行为、签约行为等标签。

 

从索隆建设标签树状分级结构过程,可以看出:从营销侧来看,标签树状分级的缘由在于帮助营销人员,快速从成百上千个标签中找到自己所需标签;从管理侧来看,标签分级结构可拓展性强,方便管理标签。

 

了解了做标签分级的原因,建设初期要注意的是层级不必生搬硬套,划分过细,需根据标签建设实际情况来。如公司只有几十个标签,则划分至二级足矣,过细反而累赘。

 

03

标签名称和标签值

用户标签,即对用户某个维度属性的描述。其标签值具有高度概括、相互独立以及可枚举穷尽的特点。标签由【标签名称】+【标签值】组成,如性别:“男、女”。

 

例如,在职场视角,你被贴上如责任心强、积极上进、技术型产品等标签;在整个社会视角,你被贴上如白领、高收入人群、IT互联网、宅女等标签。这里的“高收入人群”即是文档中标签值的概念。

 

按标签值类型的不同,可将标签分为两种类型:数值型标签、文本型标签。

 

1.数值型标签:标签值为数字,跟指标一致,标签命名通常由【时间】+【用户行为】+【统计方式】组成,如,近30天购买次数:0、1、2、3…10+

2.文本型标签:标签值为文本,也称为字符串,标签命名无特定方式,注重简约直观,如,用户价值:高价值、中价值、低价值

 

05

小结

整篇文章草帽小子介绍产品经理与数据产品经理、业务prd与数据prd;相信你可以认识到数据产品经理其实就是产品经理的角色,其承担着产品规划、产品设计、整体项目进度推进、产品运营推广等责任。

 

因而与数据产品经理相对应数据prd与业务prd整体结构相同,都包含需求概述、项目总览、产品总览、功能需求说明、运营计划等常规模块,数据prd额外增加数据类需求的详细说明。

 

而数据类需求整体来看的要点是,尽可能写清楚数据的计算规则、来龙去脉。把库表字段、取值范围等说明清楚。工作做到细致到位,这样才能更好的保障数据的质量。想了解更多的朋友,也欢迎关注公众号“一个数据人的自留地”,加入“数据产品交流群”进行交流

 

整体来看,产品基本功打好了,写数据prd并不难。建议从业务产品转数据产品的朋友,可学一些简单的SQL,这样基础的数据可以取来分析;建议数据开发/数据分析师转数据产品的朋友,可以学习产品方法论,不忘业务导向…

有更多想了解的内容,欢迎与草帽小子交流~

◆ ◆ ◆  ◆ ◆
麟哥新书已经在当当上架了,我写了本书:《拿下Offer-数据分析师求职面试指南》,目前当当正在举行活动,大家可以用相当于原价5折的预购价格购买,还是非常划算的:


数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。
管理员二维码:
猜你喜欢
● 卧槽!原来爬取B站弹幕这么简单● 厉害了!麟哥新书登顶京东销量排行榜!● 笑死人不偿命的知乎沙雕问题排行榜
● 用Python扒出B站那些“惊为天人”的阿婆主!● 你相信逛B站也能学编程吗
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_38753213/article/details/119193841

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签