近期思考这个系列,是把我在工作时、上下班的地铁上,所思所想所惑之处写出来。

一、用户增长方法论

  • 用户增长两种:一种是量级的增长,一种是比率的增长
  • 方式也有两种:一种是花钱,一种是不花钱,花钱简单说就是买量,怎么在渠道中投优,不花钱就是提高指标量级或转化率
  • 方法论体系:
    1、 三大部分:大环境、用户、产品
    1.1 大环境涉及社会形势,顺势而为是基础
    1.2 用户是增长的核心对象,用户画像
    包括:
    用户规模:日活跃用户(DAU)、月活跃用户(MAU)
    用户频次:周频次、月频次
    用户时长:总时长、人均时长
    用户收入:广告收入、商品收入、服务收入
    1.3 产品优化是增长的体现形式,数据驱动是方式,定义北极星指标
    增长公式

    E(产品价值与体验)的提高才是根本,具有指数效应。
    A 流量表示能够触达的人群并获得关注与流量
    B 动因 指从流量到完成实际转化消费者的历程
    C 替换成本:生意在时间上的生命力
    D 战略空间:横向规模,纵向细分领域的扩张
    T 时间

用户增长的本质是商业的本质,降低交易成本,所以要把用户增长放到商业体系中考虑。

重点讲讲用户
1、用户价值分层(RMF)
关注忠诚核心用户,保持一般价值客户,挽留低价值客户
2、方式方法
2.1 花钱的
2.1.1 市场投放,哪些渠道,投放的策略是什么,保持单个用户成本可控,或者是商业模式能收回来,简单来说就是考察单个用户的成本和产生的商业价值。
即 分渠道观测新增用户情况,次日留存,ROI、行为等等来判断

举例:
1、投放的广告有多少人点击,点击后的下单率,下单成功,退单,净下单
2、哪个环节客户停滞,环节转化率

主要流程:
追溯客户来源
了解客户需求
分析广告效果
改善产品设计
改善操作流程

2.2 不花钱的
2.2.1 提高各阶段的转化率,
2.2.3 裂变传播,k因子,传播者层级和每个个体的传播力

几种思维
1、对比思维
2、分类思维
3、矩阵思维:swot、象限法、
4、流程化思维:业务流转化情况、AARRR、漏斗图
5、拆解思维:北极星指标的多维拆解
6、公式化思维:

GMV
=销量*单价
=(新用户销量+老用户销量)*单价
=(新用户数*新用户购买频次+老用户数*购买频次)*单价

7、溯源思维:5W2H

举例:网游玩家偏好与行为分析
what:玩家要什么样的游戏
why:用户为什么玩游戏,游戏哪些方面吸引用户
where:用户在哪玩,区域分布如何
when:何时玩,玩的频次
who:谁是大客户、忠诚用户、分群的运营策略
how:用什么样的支付方式、用什么形式推出游戏
how much:如何收费、收多少

8、假设思维:假设检验、ABtest
9、趋势思维
10、相关、因果思维

如何搭建和选取业务指标

OSM* UJM *场景化

1.OSM模型

O 代表业务目标(Object):现阶段,公司层面上对产品的目标是什么,希望解决用户什么问题。
S 代表业务策略(Strategy):我们的业务策略是什么
M 代表业务度量(Measure):反映业务策略执行是否能达成目标的指标
以本公司为例:
1、目标是公司的总收益最高,在不过度折损游戏生命周期的情况下,每个月的流水尽可能提高,解决长期留存和付费习惯的问题
2、策略是通过玩法和活动的更新迭代,保持玩家的新鲜感和兴奋感,同时塑造一些长期的荣誉性目标给玩家追求。

2.UJM模型

简单来说就是用户的生命旅程,从了解、进入、产生兴趣点击、深度体验、付费、分享、复购、流失的全过程
抓住每个环节的痛点,基于业务场景推动指标体系的落地

3.拆分方法(指标推进法、业务拆分法、用户行为法)

用户行为法:指的是用户行为路径(不适合我们)
业务拆分法:按业务模块,生态布局拆分(不适合我们)
指标推进法:找到北极星指标,进行公式法或者结构化拆解
指标的定位标准:

引入期–留存、
快速成长期–用户转化、
成熟期–提升ROI、营收、

4.以今日头条为例

  • 前期:用户留存
    ** 所有的产品策略应与市场匹配,不断提高用户aha时刻的转化率
    ** aha时刻:所有看到的新闻正好都是我想看的
    ** 策略:完善产品功能、分析用户数据,优化推荐算法提高留存,绑定预装拿到大量用户
  • 中期:DAU+使用时长
    ** 验证市场,留下来后,让用户上瘾长时间使用
    ** 每日用户阅读时长
    ** 策略:优化算法,新功能,优化体验
  • 后期:有效的内容分发
    ** 增加更多有效内容,让生产和消费供给平衡
    ** 由分发平台转向生产平台
    ** 策略:围绕新增内容数,优质内容占比,配合剪映等进行补缺

其他要点
1.多看竞品的差评和自己的差评
2.用户的留存率有时候可以用各个主要功能的用户分群留存的总和来看
3.

商业模式 产品 可能的指标
内容 知乎、抖音、头条、快手 内容量级、时长
电商 淘宝、京东、拼多多 GMV(GMV=流量X转化率X客单价流量)
社交 微信、陌陌 互动、时长
工具 高德、墨迹天气 活跃度
游戏 王者荣耀、绝地求生 ARPU、付费率、留存等等

4.变现模式
广告、金融、电商、增值


Pyspark DataFrame 操作指南

增/删/改/查/合并/统计与数据处理
1、查
1.1 对行操作

df.show(30) # 指的是要打印的行数
df.count() # 获取总行数
df.select (A,B,C) # 按顺序取所需字段
df.字段名.alias('新字段名') # 取别名
df.printSchema() # 查询字段类型
df.select('columns').distinct().show() # 去重操作from pyspark.sql.funtions import is null
df.filter(is null('字段')) # 查询某列中为null的行

1.2 对列操作

选择一列或多列
df.["age"]=df.age=df.select("age")
df.select(df.a,df.b,df.c)=df.select(df["a"],df["b"],df["c"])

2、排序
orderBy 和 sort ,按指定字段排序,默认升序

df.orderBy(df.age.desc()).show() #按年龄逆序输出

3、按条件筛选 when/between
when(condition, value1).otherwise(value2)联合使用

from pyspark.sql import functions as F
df.select(df.name, F.when(df.age > 4, 1).when(df.age < 3, -1).otherwise(0)).show()df.select(df.name, df.age.between(2, 4)).show()

4、新增数列 withColumn
withColumn是通过添加或替换与现有列有相同的名字的列,返回一个新的DataFrame,一定要指定某现有列

df.withColumn('字段名',0)
举例:
df.withColumn('Purchase_new',df.Purchase/2.0).select('Purchase','Purchase_new').show(5)
Output:
+--------+------------+
|Purchase|Purchase_new|
+--------+------------+
|    8370|      4185.0|
|   15200|      7600.0|
|    1422|       711.0|
|    1057|       528.5|
|    7969|      3984.5|
+--------+------------+
only showing top 5 rowsdf=df.withColumn("xx",1) # 修改原有df.xx列的值为1
df=df.withColumn("year2",df["year1"].cast("int")) # 修改year1列的类型为int 并赋值到year2列
jdbcDF.withColumnRenamed( "id","idx" ) # 修改列名

5、过滤数据
过滤数据(filter和where方法相同)

df = df.filter(df['age']>21)
df = df.where(df['age']>21)jdbcDF.filter(“id = 1 or c1 = ‘b’” ).show() #多个条件筛选from pyspark.sql.functions import isnan, isnull
df = df.filter(isnull("age"))  # 把age列里面数据为null的筛选出来(代表python的None类型)
df = df.filter(isnan("age"))  # 把age列里面数据为nan的筛选出来(Not a Number,非数字数据)

6、合并join/union

df.join(item_cost,["role_id","remark", "scene"],"outer") # df与item_cost两表外连接,通过共有的role_id、remark、scenedf.join(item_cost,df.id==item_cost.role_id,"inner") # df与item_cost两表内 连接,通过不同字段名# 并集
newDF = df1.select("sentence").union(df2.select("sentence"))
newDF.show()+--------+
|sentence|
+--------+
|     asf|
|    2143|
|  f8934y|
|     asf|
|    2143|
|    rfds|
+--------+# 并集 + 去重
newDF = df1.select("sentence").union(df2.select("sentence")).distinct()
newDF.show()+--------+
|sentence|
+--------+
|    rfds|
|     asf|
|    2143|
|  f8934y|
+--------+

7、groupBy方法整合

df.groupBy('vip_lv').agg({'amount':'sum'}).show() # 各vip的总充值
df.groupBy('vip_lv').agg({'amount':'mean'}).show() # 各vip的平均充值
df.groupBy('vip_lv').agg(countDistinct('role_id')).sort('vip_lv')show() # 各vip的总人数from pyspark.sql import functions
df.groupBy(“A”).agg(functions.avg(“B”), functions.min(“B”), functions.max(“B”)).show()整合后GroupedData类型可用的方法(均返回DataFrame类型):
avg(*cols)     ——   计算每组中一列或多列的平均值
count()          ——   计算每组中一共有多少行,返回DataFrame有2列,一列为分组的组名,另一列为行总数
max(*cols)    ——   计算每组中一列或多列的最大值
mean(*cols)  ——  计算每组中一列或多列的平均值
min(*cols)     ——  计算每组中一列或多列的最小值
sum(*cols)    ——   计算每组中一列或多列的总和

8、删除


df = df.na.drop()  # 扔掉任何列包含na的行
df = df.dropna(subset=['col_name1', 'col_name2'])  # 扔掉col1或col2中任一一列包含na的行填充NA包括fillna
df.vip.fillna(0) # 填充0

9、去重

df.distinct()
df.select('Age','Gender').dropDuplicates().show()

10、格式转换
pandas-spark.dataframe互转

pandas_df = spark_df.toPandas()
spark_df = sqlContext.createDataFrame(pandas_df)
转化为pandas,但是该数据要读入内存,如果数据量大的话,很难跑得动

11、读写CSV
在Python中,我们也可以使用SQLContext类中 load/save函数来读取和保存CSV文件

from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
df = sqlContext.load(source="com.databricks.spark.csv", header="true", path = "cars.csv")
df.select("year", "model").save("newcars.csv", "com.databricks.spark.csv",header="true")
其中,header代表是否显示表头。

文章参考
文章参考

保持渴求,不要沉寂

【读书笔记】0423 近期思考相关推荐

  1. 【读书笔记】好好思考-成甲

    文章目录 01 引言 我们最熟悉的决策方式 这个时代最厉害的决策方式 打破学科间的壁垒 02 多元思维模型:终身学习者的利器 构建深度思考力的底层逻辑 什么是多元思维模型 查理·芒格眼中的多元思维模型 ...

  2. 读书笔记:《思考的乐趣:Matrix67数学笔记》第4章 统计数据的陷阱

    <思考的乐趣:Matrix67数学笔记>第4章讲了几个统计学上的陷阱,由于现在流行的大数据与统计学很有渊源,所以认真读了这一章,在<大数据时代>中指出只考虑相关性就够了,而不考 ...

  3. 读书笔记-精准努力-思考时间和精力的分配

    如果真的去做金钱投资的话,大家肯定不会相信这样的鬼话:往哪儿投资都一样,投哪个项目都行,只要坚持投资就可以.可是为什么在投资自己的时间跟精力的时候,就会相信只要坚持,在哪儿努力都一样呢?每一个人的时间 ...

  4. 【读书笔记】代码思考

    目录 前提: 类: 变量: 变量的名字:名字应该要能完整.准确地描述变量所代表的含义. 变量的作用域:作用域是指变量的有效范围,我们也可以简单的认为是变量使用之间的行数. 方法: 方法的名字:好名字非 ...

  5. 【读书笔记】【思考总结】《AKF15条架构原则》

    N + 1设计 永远不要少于两个,通常为三个.比方说无状态的Web/API一般部署服务器至少>=2个.(高可用) 回滚设计 确保系统可以回滚到以前发布过的任何版本.可以通过发布系统保留历史版本. ...

  6. 《Silverlight揭秘》暨《ASP.NET高级程序设计(第2版)》有奖读书笔记征集

    <Silverlight揭秘>暨<ASP.NET高级程序设计(第2版)>有奖读书笔记征集 近期图灵公司出版了两本微软技术大作<Silverlight揭秘>和< ...

  7. 《娱乐至死》读书笔记

    <娱乐至死>读书笔记 将要进行思考的问题: 1 书中介绍了3个时代,分别是口述时代,印刷机时代和电视时代,各有什么特点? 2 如何一句话去理解书名的意义? 3 通过前面三个时期的总结,如何 ...

  8. 《引爆社群》读书笔记

    推荐指数:五颗星 反正对于我这样的小白来说这本书确实不错,从思维到方法上都给予了一定的指导,比较接地气,推荐大家阅读. 主题:本书的主题其实就是围绕4C理论来讲解如何进行营销,其中夹杂这一些案例. = ...

  9. 表达、思考和解决问题的逻辑(金字塔原理-高质量读书笔记)

    表达.思考和解决问题的逻辑(金字塔原理-高质量读书笔记) https://www.toutiao.com/i6944713042139742733/?tt_from=weixin&utm_ca ...

最新文章

  1. 直流UPS供电系统在数据中心机房中的应用分析
  2. nextcloud安装教程
  3. 使用 read_graphviz 将 GraphViz Dot 文本图加载到 BGL adjacency_list 图的简单示例
  4. EASCII码对照表(建议收藏)
  5. getSlotFromBufferLocked: unknown buffer: 0xf3d94ca0
  6. 哈希表中能有相同元素吗_最小删除以使用哈希表使所有元素相同
  7. 【Spark Summit East 2017】使用Spark MLlib和Apache Solr构建实时实体类型识别系统
  8. 假如啤酒只有七天生命
  9. 谷歌CEO皮猜:我们想服务中国用户,但是没想好提供何种服务
  10. Linux基础教程(第二版)课后答案自主整理
  11. raw数据拆分成rggb四通道,拆分与合成
  12. redis雪崩、穿透、击穿的原因和解决方案
  13. 【问链财经-区块链基础知识系列】 第四十三课 区块链+保险,最全最深入的设计思路就在这儿了!
  14. 阿里旗下的咸鱼是什么盈利模式?很多人真的不知道!
  15. 无线降噪蓝牙耳机评测,南卡、JBL、OPPO、荣耀降噪蓝牙耳机推荐
  16. 百度JS实现文本语音朗读
  17. 算法【链表】 | 【链表尾部重合问题】
  18. 数量金融学(7):连续复利
  19. 【剧透高亮】最最最完整剧透加剧情详细解析
  20. Android基础知识 — 1.3-ARM和Thumb指令详解1

热门文章

  1. Alexa排名对新闻网站的参考作用(转)
  2. Simulink代码生成——多速率任务调度
  3. 品牌“我时代”的营销策略
  4. ddt 接口示范以及报告生成html案例
  5. 【论文阅读】[ICCV 2019] Point-Based Multi-View Stereo Network. [pytorch] [rec.]
  6. 【数据集处理】Python修改图片为.jpg格式批量修改名字为000000格式
  7. 华为p9 android版本,【华为P9评测】基于Android 6.0的EMUI 4.1_华为 P9_手机评测-中关村在线...
  8. 超声波测距传感器模HG-C40U工作程序图文详解
  9. 【schedule】立即手动执行定时器任务
  10. jquery实现文件上传及loading加载效果