创业公司如何做好数据驱动的开发工作

创业公司如何做好数据驱动的开发工作

创业公司钱、开发资源有限,考究更少的工作产生更大的价值,更快的迭代mvp。
data -> info -> knowledge -> wisdom

尽量减少拍脑袋的决策。
决策要从过往经验到数据驱动;当没有经验的时候,参考外部、常识、少量测试验证。

数据驱动,不仅仅是采集数据,取数的效率,数据的质量,对数据的验证都是非常关键的。

报表数据

轻量数据

系统架构复杂度决定采用的方式

  • 单体应用,单个应用DB:直接从应用的DB的副本集读取,为防止报表数据的读写影响主系统。
    副本集根据线上应用DB压力、报表DB压力情况选择:

    • 可以直接从DB集群中挑取只读DB来做报表操作
    • 可以通过同步机制(oplog/binlog),同步另外的集群去操作。
  • 跨系统/微服务应用:
    • 通过调用微服务的api来获取数据,缺点:大量数据操作的性能消耗应为来回的消耗在调用方与DB之间,数据操作慢。
    • 通过数据同步机制,同步多个DB源到一个报表DB(HBase/MongoDB)。

BI 报表

由于负责报表的开发的一般是熟悉 SQL/R/Python,所以考虑直接SQL类的数据直接查到时最合适的(投入时间少、熟悉度高)。[!img]图
BI 报表我们可以选择类似Redash/SuperSet 这类工具,来快速定制业务的报表。

数据分析系统建立的阶段

stage 1: 有效利用第三方统计平台
baidu/google
umeng
漏斗、留存、热点、bug、网络、用户的画像(自己也要分析)

例如通过推广活动热点数据,可以发现有些用户体验(UX)上,设计与实际有用户逾期有误。

stage 2:
热点、漏斗、行为
fullstory/appsee/mouseflow
GrowingIO/诸葛IO

stage 3:
建立自己的数据分析平台

基本漏斗:访问、注册、下载、交易、复投
常见的业务指标:
获客、留存率
生命周期:流失型、成长型、新用户
金融的指标:标签,欺诈分数(自定义),价值分数(自定义)

系统的指标监控

几个需要关注的维度

  • Nginx
  • APP Log
  • DB Log 报表
  • ELK 报表
    • 定制自己的业务应用系统维度
  • Grafana 报表

    维度:

  • 机器的性能
  • 容器的性能

异常报警

数据可供业务方访问

物理部署给报表DB到业务方
小量: excel/csv 导出,方便分析
BI自助:提供模板BI自取
大量:API SDK 调用方式,方便Python/R分析

excel ,自己lookup
界面自定义查询
提供一定的sql,开发、业务方自主到查询
提供一定的data sdk ,开发、业务方自主到查询

AB test

金融公司,模型指标,不要猜测,去证实。
工具:
- ab test(https://github.com/xavimb/ab-testing)[!img]图
- apphoc

数据质量

全公司的事:
防止错误数据进入prod
业务方与数据开发的同理配合

作为开发,需要关心业务

读懂业务的指标 :
普通(DRU、DAU)
专业(ROC、AUC、GINI)
数据全栈工程师

需求

需求避免拍脑袋。

理想的情况下,除了有各种的报表维度,对数据可以导出or在线热查询,以便业务人员自己解决自己的需求。

迭代的效果回顾

ROI!!!

原文地址:https://www.cnblogs.com/no7dw/p/9508258.html

时间: 2024-11-10 23:12:33

创业公司如何做好数据驱动的开发工作的相关文章

浏览器内核引擎开发工作的主要关注点

浏览器内核引擎开发工作的主要关注点 跳转至: 导航. 搜索 目录 1 稳定性 2 性能 3 功能 4 其他因素 稳定性 对Android浏览器这种既有Java代码又有C++代码来说,稳定性意味着: Java代码不应该有NPE(空指针异常) C++代码不能出现内存错误,包括: null deref 指针越界访问 重复delete.free后use.循环引用.不对齐访问 等等 在某些情况下,空指针来自于有线程安全问题的代码(存在竞争条件),这类问题无法稳定再现,必须做好设计.review.编码规范,

如何做好自己的开发任务

如何做好自己的开发任务 经过这一周的集成,发现以前做的工作的确是远远没有达到预期. 马上这周就要结束了,很明显计划的任务完不成了. 那为什么到了集成的时候手忙脚乱,甚至要改设计,改代码? 为什么之前的工作没有做好? 为什么甚至之前自己觉得做的挺好的地方,甚至都出了很多问题? 总结起来其实就是细节,但是说要把细节做好,好像总是没有什么实质性的帮助. 好像总是需要自己不断地跳坑,填坑才能长上记性.既然跳坑不可避免,那么尽量少跳几次吧. 这里列举一些个人算是细节的地方. 需求说明书 就是标准.做开发不

ubuntu 下anroid开发--工作备忘

1 使用命令 查询字符串(搜索所有文件)grep mobile_provisioning * -r 2 删除一些没有git add 的文件即 git rm Untracked filesgit clean -f 3 全编anroid源码时,编译加速 export USE_CCACHE=1 ubuntu 下anroid开发--工作备忘,布布扣,bubuko.com

怎样做好基层技术管理工作?

近期有朋友与我探讨了软件基层技术管理工作方面的话题,借此从动机和方法双方面谈谈我的看法. 动机 要做好基层技术管理工作,首先要确保自己有良好的动机,即明确自己为何要走上技术管理岗位.做管理的根本是为了获得权力,但获得权力的动机却存在非常大的区别. 第一种单纯是为了利己.有相当数量的人往技术管理岗位"挤",是为了获得以后在工作中能够少做或挑做工作内容的权力:也有的人是为了更快.很多其它地获得公司动向的资讯,以体现"领导"的"与众不同":还有人是为了

近期开发工作的一点心得体会

近期,本人加班加点地完成了多个软件版本的开发工作.总结起来,有以下心得体会: 第一,软件的第一个程序版本非常的重要,它直接决定了产品的好坏.就像大楼的地基一样,软件后续版本的需求都是在第一个版本的基础上完成的,如果"地基"没有打牢,后面对程序的增删改都会很困难,让人感到似乎掉进了一个"无底洞"里面. 第二,软件的详细设计文档非常重要,千万不要将之放在无足轻重的位置.要想对程序的基本功能有一个大致的.快速的了解,最普遍的做法就是查看它的详细设计文档.如果这个文档写好了

如何做好基层技术管理工作?

最近有朋友与我探讨了软件基层技术管理工作方面的话题,借此从动机和方法两方面谈谈我的看法. 动机 要做好基层技术管理工作,首先要确保自己有良好的动机,即明白自己为何要走上技术管理岗位.做管理的根本是为了获得权力,但获得权力的动机却存在很大的差别. 第一种单纯是为了利己.有相当数量的人往技术管理岗位"挤",是为了获得以后在工作中可以少做或挑做工作内容的权力:也有的人是为了更快.更多地获得公司动向的资讯,以体现"领导"的"与众不同":还有人是为了更高的

我是做linux开发工作的,第一次来51cto,各位多多照顾

先说说本人的情况吧.我是从事linux系统开发工作的,目前主要方向项目是EDM邮件系统的搭建工作,用到了linux的框架,在这方面已经算是小有所获.如果有从事这方面工作的朋友,可以一起交流一下. 想结交一些从事这方面技术开发朋友,包括linux和EDM系统技术开发.还有就是对EDM感兴趣的朋友,或者正在研究的大牛,也可以交个朋友一起交流哦. 以后的博文方向主要是linux EDM系统开发中的一些问题和经验分享,没有心灵鸡汤,只有技术干货,以及一些不明白的问题也会咨询大家.希望大家多多关注. 本人

Java后端开发工作 - 写接口

我在公司的工作内容是,对于一个BS应用,负责服务器端开发工作,Java语言.与前端开发人员合作,最终提供给前端RESTFUL接口,保证页面正常响应. 经验之谈 一个接口可以理解为一个业务逻辑,一个业务逻辑可以由1-n个SQL组成.一个优质的接口,应该是通用的接口,一旦需求变了,给过来的参数有变化,那我尽量做到接口不变,你多给我一个参数或者某个参数变化一下,我就可以给出你要的结果. 后端提供给前端的接口,要尽量少.最好我给你一个接口,你可以用这一个接口做很多事,拿很多数据.这样对前端开发人员比较友

如何做好手机游戏开发产品的推介

厦门欧页科技 在游戏圈,推介(Pitch)被从业者普遍认为是一种营销行为--研发团队需要向发行商.渠道或投资方推介自己的产品,以获得资金或推广方面的支持.但加拿大独立工作室Kitfox Games总监谭雅 舒特(Tanya X. Short)对此提出了不一样的看法.舒特在Gamasutra的一篇文章中指出,游戏推介既关乎设计,也关乎营销,手机游戏开发团队必须通过推介行为,准确地传达产品的真正价值.设计师和营销人员都希望游戏具备高水准,但双方对游戏水准的评判标尺并不一定. "营销人员更关注销量和炒