用数据产品的思维自我管理:滴答清单+爬虫+可视化报告

对于数据产品经理而言,日常工作是聚焦于一个研究对象(一个产品/业务线/业务场景),通过生产、加工、应用数据去监控去运作情况,再通过数据分析方法暴露出长处和不足,从而反馈给研究对象,使其运作得更好。

那么一样的道理:对于一个人来说,他自身就是一个研究对象,他的工作生活,日常行为都是可以生产数据去记录追踪、整理分析,然后评价反馈的。

所以一个人想要自律,就得用数据化运营的方法来管理自己。

数据产品主要的工作流程如下图,此文将逐步讲解如何构建自己的数据产品,以实现对自己的数据化管理。


数据产品工作流

生产数据

要生产能够记录自己日常工作、生活情况的数据,得借助一款好用的时间、日程记录和管理工具。滴答清单是我在同类产品中用得最为舒适的,因为墙裂推荐。

容我先晒(zhuang)成(ge)就(xx)。


滴答清单成就

这款产品的优点有很多,不少文章都有详尽的分析。但我来说,它最能吸引我的点有以下之处:

  • 科学全面的分类体系。清单体系、标签体系、时间体系、优先级体系,这些正交的划分体系基本能将日常大大小小的事情划分得很清晰,无论是记录,查找还是复盘,都十分高效,且一目了然


    分类体系
  • 系统、全面的日历视图,很方便进行每日记录和日程管理


    日历视图
  • 多平台同步,无论是网页端、win/mac的客户端、android/ios端,甚至是智能硬件,都能快速、准确同步,十分适合多场景、碎片化的记录和写作
  • 简约、优美、无广告的UI设计风格

当然还有许多其他小的亮点,构成了这款产品尽管小众但用户忠诚度都比较高的特点。

如果你喜欢并习惯使用这个产品,并且深深地使用它对于日常事项的管理、记录和执行,那么它不仅仅是促进你自律的过程,还产生了自我管理的结果数据。

加工数据

有了数据之后,我们得采集到才能构建数据产品;何况自己生产的数据自己应当拥有,而不是只放在别人的服务器上。怎么采集,python爬虫啊!

稍微观测一下,就很容易发现,滴答清单上的数据都以json形式通过调API来获取;这样就十分容易去采集和解析。

json数据

怎么写爬虫代码,此文就不说了。值得一提的是,滴答清单还有一个优点就在于,它只需要登录一次,cookie寿命很长;这样我们的爬虫代码就只用一次登录过的cookie,都不用频繁换了,十分便于数据采集。

然后我们就是通过爬虫将自己源源不断产生的数据源源不断地取回来存储在自己的数据库里,这里我只爬取已完成的工作项;记录的表结构如下。

CREATE TABLE `dida_done_list` (
    `id` BIGINT(20) NOT NULL AUTO_INCREMENT,
    `title` VARCHAR(128) DEFAULT NULL,
    `createdTime` VARCHAR(64) DEFAULT NULL,
    `tags` VARCHAR(256) DEFAULT NULL,
    `priority` TINYINT(4) DEFAULT NULL,
    `task_status` TINYINT(4) DEFAULT NULL,
    `completedTime` VARCHAR(64) DEFAULT NULL,
    `content` LONGTEXT,
    `scrapyed_time` VARCHAR(64) DEFAULT NULL,
    PRIMARY KEY (`id`),
    UNIQUE KEY `completedTime` (`completedTime` , `title`)
)  ENGINE=INNODB AUTO_INCREMENT=31692 DEFAULT CHARSET=UTF8

分析数据

在有了全部的滴答清单历史数据之后,就可以很容易地查看自己在某个时间点做了什么事——当然我们做数据产品并不是为了缅怀过往,而是定期给自己复盘和总结。

所以从业务(自我管理)的角度来看,复盘时我主要关注以下几个问题:

  • 这段时间的产出如何(任务完成量)
  • 与过去比起来如何(跨时段对比)
  • 哪些方面的产出较为突出,哪些不足(分标签对比)
  • 这段时间所做事情的关键词有哪些(中文分词)

当然肯定还有更多的点可以挖掘,但你输入给数据产品的不能是过于主观、过于发散的问题,而是要具体、可量化、可复用、可程序化计算。

应用数据

对于数据分析师来说,业务周报是一项常见的工作。而我们的产品也可以采用周报的形式,只不过不是人来写,而是程序自动发。(数据分析师与数据产品经理的区别在于:数据分析师必须聚焦于具体的问题和场景,case by case去分析和输出建议;而数据产品经理则关注可复用的、扩展性和适用性强的、高效的场景和解决方案)

自动发邮件是一种常见的数据产品形式,也广泛应用于各公司的数据团队中。所以一个比较清晰的流程就是:

  • 先爬虫并写入数据库
  • 再从库里读取作数据分析,产生分析报告
  • 最后把分析报告自动发送至邮箱

说起分析报告,就不得不提起数据可视化。很多业务人员觉得可视化只是一种形式,并不影响数据和业务的本质,所以没那么重要。我本来也是尊重这个观点的,可是在这个case中,也算是得到了一些教训。

因为我不会前端技术,也不会用Python作数据可视化(最主要的原因还是没啥动力学这些技术),所以最初发送至邮件的报告是很丑的,丑成这样:


一个很丑的报告-part1
一个很丑的报告-part2

没有画形,甚至表格都对不齐,这种报告可读性太差。因为可读性差,连我自己都逐渐懒得看;看都不看当然更不会去思考和总结。可是任务是我记录的,数据是我采集的,分析也是我做的,代码都是我自己写的,如果最后看都不看,那前面这些工作就没多大意义了。

于是转化一下思路:html是保持格式的一种良好的文件格式,也是python自动发邮件程序支持的形式,所以最好是能直接发html形式的邮件(就是把html当作正文,而不是附件);自动发邮件程序里输入的是html源码,虽然不会写html,但是我们可以用更专业的写分析报告的工具r markdown去生成html文件,然后用python读取,传入发邮件的程序里,就可以直接发送html格式的邮件了!

写分析报告的rmarkdown程序
from send_email_html import * 
import os
os.system("e: && cd E:\\R projects\\report_html_email && Rscript -e \"rmarkdown::render('E:/R projects/report_html_email/dida_weekly_report.Rmd',encoding='utf-8',output_dir='E:/Python-Projects/dida_lists')\"")

htmlf=open('dida_weekly_report.html','r',encoding="utf-8")
html=htmlf.read()
send_mail(html,'滴答清单从%s到%s的周报!'%(start_date,end_date),'滴答清单周报')

通过以上的代码,可以在python中调用shell语句,去运行rmd文件,生成html文件;然后读取html文件,将源码传入发邮件函数中,最后成功发送邮件。

最后再看看更新之后的邮件自动发送的周报效果!


优化后的报告-part1
优化后的报告-part2
优化后的报告-part3
优化后的报告-part4
优化后的报告-part5
优化后的报告-part6

现在效果好了很多了,就具备了阅读、分析、思考和总结的基础了!接下来只需要把爬虫、分析、发邮件代码整合在一起,然后上定时调度就行(linux上crontab,windows上schtasks),一般一周采集、分析、报告一次就行。

所以在这里,并没有借助多么高大上的软件产品,而是梳理、坚持一个清晰、简单、可执行、可复用的流程,并辅以少量的技术,就能构建一个属于自己,服务于自己日常工作生活,并有一定指导意义的数据产品了。

最后嘛,自律的人生是比较无趣且疲惫的,因为什么都要有预期规划,然后去努力执行;在这样的影响之下,相对地就会有些排斥变故、意外和风险。不过人生的大多数,本来就是无趣的;自律有助于自己更加明确、低方差地朝目标前进。然而,正如数据本身只能辅助乃至指导业务,它只是业务的反映,而不是业务的本质,业务发展得怎么样并不直接由数据决定。同样地,你是一个什么样的人(或是崇尚自由多变的,或是思维缜密执行力强的,或是对自己足够狠的,或是做什么都难以坚持的),也不由一个产品或一套流程决定的,得由你自己去认清并引导好自己的本质。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容