人生如梦

下面的文字摘自别人的channel, 我觉得写得很好,就收录下来,以后多回看,提醒自己

做了一个梦,醒来后我努力回忆,却发现最后一个场景的印象在变淡,倒数第二个场景的印象逐渐消失。

梦就像内存中的数据,如果不能写到硬盘上,断电就消失了。

人生也像一个梦,如果这辈子没有留下文字、声音、图片、视频,没有影响过别人从而留在别人的记忆中,随着时光的流逝,这个人就像从来不曾存在过一样。

古人把立德、立言、立功称为“三不朽”。

过去我看了很多名人传记,常常会为自己不能为世界的进步做点什么而焦虑,我发现很多天才在30岁之前就取得了重大成就,而我在接近这个时间点还一事无成。

其实这个容易理解,我想要做的是对人类有长远意义的事,这需要我爬上前人的肩膀,看清哪里还有我可以帮上忙的,在时机成熟以后,尽自己的绵薄之力。

因为当下人类积累的经验比过去要多得多,爬上前人的肩膀,比过去需要更长的时间。查漏补缺需要时间,因为很多我们想做的,可能都有人做好了或者正在做。

所以,不过三十而已,不必过于焦虑。让我焦虑的是,这些年,我的好奇心越来越淡了。

我感觉中国人整体上很难推动世界进步的原因是,在有好奇心的时候(25岁之前)不能自由选择自己的兴趣和发展方向,在知识和经验、财富积累到一定程度(25~60岁)却没有属于自己的时间,等有了属于自己的时间以后(60以后)却没了好奇心……

大众消费:自买自用的消费市场特点

我们常说研究用户,研究市场,客户第一。消费者和用户究竟是谁?市场如何分化?他们的需求是什么?今天来打破一个常见又容易泛泛而谈的话题妄想。

首先,购买者和使用者有可能是分离的,属于完全不同的个体。就是这么一个细微差别,会衍生出完全不一样的市场。又因为整个买卖过程心理需求和使用需求远不同于个人自用市场,即使是同样的品类的产品,生命周期和技术迭代周期都完全不一样。不过无论变化多么大,总的原则还是一个,基于用户需求出发的营销。

简单的按购买者与使用者分类,可以分化为两种不同的市场,自买自用,自买他用。其中由于用户需求导致的产品需求是不同的,接下来细说自买自用的市场。

作为普通的消费者,我们很多时候就是自己买自己用的消费者。通过购买和使用的过程取悦自己,这个过程也是消费体验非常重要的部分。下面这个章节所说的用户,其实是包括了购买者和使用者。

从购买决策开始,就会有许多分化。有的人喜欢闭着眼买,有的人喜欢比价购买,有的人喜欢研究参数结合种草购买。

根据这种购买习惯,为了触达所有可能购买的客户,商家不仅有自营的渠道,也有第三方的渠道,有线上的,有线下的。线上的不同平台,典型的用户画像也不一样,用户购买决策风格也不一样,举个例子,拼多多,天猫,京东,甚至抖音。然后还有一些种草的平台和比价平台,例如知乎,小红书,什么值得买等。

举个例子,苹果手机,你可以冲动地去店里购买,也可以找全网最低价选定平台购买,可以全款,也可以分期,可以以旧换新抵扣。并不取决于苹果产品本身,而是你是什么样的人。

至于一个品类的产品是否需要覆盖那么多渠道,取决于产品属性。越是通用的产品,用户人群画像只会越来越模糊,取最大公约数,渠道覆盖就应该越广。

目标用户在哪里,渠道就应该铺到哪里。至于渠道上的ROI是否可以长期维持住正向水平,关键在于产品力。

目标用户很容易接触到的渠道,才有进一步了解产品信息的可能。当产品信息能够达到一定的程度,才能更容易触发购买决策。有些产品渠道多,是用户群体和用户需求决定的。有些产品渠道单一,利润也很好,因为它的渠道已经基本覆盖了目标用户,目标用户也觉得方便。

产品信息有什么?

购买决策时的一切感觉。分类按佛家的说法,色声香味触法。

线上购买时,产品的落地页。高清的图,品牌风格强烈的图,能够让用户产生强烈沉浸感受的动态图,视频和音乐,明星代言,都是。

线下购买时,店内装修,陈列,销售员的服装,标准化的服务,现场的音乐等。OV拥有大量的线下店,苹果也有自营线下店,为什么一个是从进店跟着你贴心讲解,一个是等着你提问再回答?用户群体不一样,需求不一样。

上面所说的一切,都是产品为了卖出去,所做的努力。做图要钱,做视频要钱,做线下店要设计加盟或者自营的商业模式要钱要时间,但现在产品还没卖出去,就要那么多投资。你也可以不顾这些,「只做好产品就可以」,但市场先生一定会很好地反馈给你,你的方法和价值观有没有问题。

用户心动了,线下现在想买了。很方便地支付,也只有支付这个环节,大多数品牌无论头部尾部,都可以做到差不多一样。

打包并且把产品给你,袋子跟街边的袋子都不一样,感觉很结实,而且「很环保」,关键上面有这个品牌大大的logo,没有其它多余的信息。包装袋和包装盒为什么要专门定制?

还是用户的感受。作为品牌商,你不知道用户会带着这个包装漂流在什么街道,被什么样的人重新看见和认识。但是,作为用户来说,这个logo就是一次身份印记,让街道上的人/亲朋好友看到对自己有了重新的印象刻画。用户提着打包的产品,重量和触感,视觉甚至味道也是重要的,他有理由更容易说服自己,这次购买是值得的。

到了使用,产品力开始真正体现。每天都用的东西,就连小孔都会被注意到,总会有人研究,分析。经得起那么多人的拷问和质疑,最终还是靠产品设计。大数定律起效,总体比人家好那么一点的东西,总体的好评就是更多。

一百万人购买并且使用的东西,0.9%的差评与1.0%的差评就是4位数与5位数差评的区别。缺陷的问题会被反复提起,会跟其它品牌反复对比,最终可能影响用户的下一次购买选择。

几年之后,产品功能如果还是正常。用户依然依依不舍,毕竟大家共度了一段好时光。但如果功能已经不正常,用户扔起来毫不留情,也许再次购买同样品牌的欲望会打折。有的品牌想到了这点,把产品生命周期的管理包括了丢弃这个阶段,包括了提供服务和再营销,品牌记忆唤醒等动作。

这类品牌从产品质量设计开始,就已经预留足够长的使用寿命,超过用户期望的质量要求。想扔了?不如给我回收,送你折扣券,加点钱给你个新产品再用几年。对品牌印象有摇摆的用户,也许感受到这种产品的「临终关怀」的温暖,会再次选择同样品牌。

整个用户使用产品的过程,也许你也发现了,用户是购买者,他会关心「值不值」的问题,往小的说,从拿到手使用一段时间后这种下意识判断就会慢慢消失;同时用户是使用者,总是在关心体验好不好的问题,当我们谈用户体验的时候,应该是整个生命周期的用户体验,而不仅仅是产品本身的用户体验。

这里也许能回答,为何市场营销需要分工,又需要合作?一切基于用户的需求。

客户是否第一?取决于企业的价值观和文化。

为什么工厂直接做C端容易做到亏损,往往要交许多学费?他们产品力也许很强,但总是把产品体验放大成整个用户体验,而且认为营销是「脏」东西。这种认知的是否需要改变,市场先生会用时间告诉你答案。

为什么设计重要?因为除开设计师和产品经理,一个团队里还有什么角色的KPI/OKR是考核用户体验?

为什么情感重要?因为情感需求,是用户体验最值得挖掘的价值,也是一个品牌增加黏性的基础。

最后总结一下,购买者和使用者的身份重合,是最常见的大众消费市场。通过整个产品生命周期的体验,用户构建了对品牌,产品的印象和认知。

市场上流传的用户画像,往往就是这些具有个性的用户,他们的个性差异导致大量细分的需求,分化细分市场。最大公约数的通用市场身边,围绕着一大堆独特的细分市场,给了不同的品牌生存的空间。

自买自用市场最核心的一个特点,他们买的和使用的感受可以统一。

一些细微的细节优化就能取悦一群独特的人,进一步增强与品牌的联系。一些细微的缺陷,也会被放大吐槽,从而伤害品牌。这种市场,基数大,容易进入,但是不易做好,毕竟众口难调就是最难的,而且用户时刻盯着你的细节做工,逼着你的品牌时刻保持竞争的状态,跟上市场平均水平以上,也就意味着你前期所赚到的利润,往往要投入下一次的用户体验提升。

市场大,不一定好赚钱。收入多,不一定有利润。利润好,也不意味着自由支配的现金多

注1:文章图片分别源自豆瓣及微信公众号公共图片库

注2:若文章有涉及「他」字,没有特别注明的情况下,一般代指包括所有性别的第三方。

本文转载自:https://zhuanlan.zhihu.com/p/427894648

我的读后感:

做产品要思考注意的事情很多,包括:

  1. 用户需求;能帮用户解决什么问题,产品的差异化在哪里
  2. 用户购买决策;这个需求是大众需求还是小众需求?购买决策链是什么?都有哪些渠道?又分购买前、购买中、购买后几天、使用很长时间后,复购等细分环节;做一个好的产品,这些环节都要考虑到。

京东战略

2018 年京东来到了“至暗时刻”,内外问题的集中爆发将京东推上了风口浪尖,士气一度非常低下。但这也正是自我认知、去芜存菁的契机。我们没有时间哭泣,唯有沉着、冷静、埋头苦干才能走出困境。集团迅速成立了战略决策委员会(SDC)、战略执行委员会(SEC)、HR 委员会(HRC)、财务委员会(FC)、技术委员会(TC)。并且用了一年多的时间按照战略、组织、机制、人才、文化、业务六条线进行了梳理。面向新的环境,提出了 Bigboss 管理体系。今天,无论是集团战略还是各个业务条线战略变得逐渐清晰、明了、聚焦;组织按照积木化组织进行打造,重点是协同和创新;机制层面围绕决策机制、激励机制与淘汰机制展开;人才层面按照京东未来需要的 Bigboss 人才,提出了新时期京东用人标准,淘汰了不符合要求的 10% 以上高管;文化上逐步重新梳理了公司新的定位,新版使命和新的价值观;业务上全面授权给业务领导人,并且逐步达成有质量增长的共识。

决策、执行、HR、财务、技术;BigBoss

技术对于前端客户体验、对后端供应链效率、以及对一线员工福祉的提升,能起到多么大的作用了。

创业认识

没有建立起壁垒就容易在竞争中失败,一定要反复思考项目核心壁垒是什么如何建立壁垒

互联网创业,特别是年轻创业者互联网创业,几乎商业模式本身没有壁垒,虽然在访谈中,所有创始人都提到了自己项目没有核心壁垒类似的描述导致失败,但后来我又接触了上百个互联网项目后,发现其实大多数商业模式是没有壁垒的,甚至说绝大部分商业开始都是没有壁垒的,是在后期如何建立壁垒形成商业的护城河,说到底在互联网创业里就是规模效应的壁垒,如何占领市场认知的壁垒,这是创业者需要反复思考的要点。

优考试是否要建立市场认知的壁垒?!

如果没有竞争,反而要思考是这个领域本身是不是就没有市场,在产品模式和功能无法创新太多的情况下,最应该思考的是如何在运营上走最快也可能最难走的路

在创业过程中,关键的节点要落实在纸上,或者就该自己做,例如京东自建物流等,不然几乎难以执行。创业是条孤独的路,在这条路上,能够完全信任的人少而又少,反过来说,在这个天下熙熙皆为利来与往的世界,如何加强所有连结,去绑定形成利益共同体,本来就是作为一个合格创业者要深刻认知的事项「依赖」在任何场景下都有代价,「共生血盟」才能顽强成长。

原文:30个CEO,烧了42亿,告诉我这9个真相 | TNBT原创

很多产品最后没有跑出来,或者没有大成,不是没有痛点需求,也不是没有广阔市场,而是不够具备稀缺性,导致无法形成良性的商业循环。

稀缺性,早期靠非共识,中期靠执行力,后期靠垄断性。

  • 先行者往往不被主流认可,这个时候只有他在供给这样的产品和服务,稀缺性是天然的。此时最重要的是不断验证和强化这个供给,用大白话说就是「能跑多快就跑多快」。
  • 随着市场慢慢增长,更多玩家也看到了商机冲了进来,稀缺性面临反向稀释,这一阶段保持半步领先就必须靠超强的执行力和少犯错误,行业老炮在这个时期就会比新贵更有优势。
  • 到了后期,市场心智已经占领,网络协同效应开始显现,数据智能反哺产品的高效产出拉开竞争距离,并做到长期垄断生态上下游最核心的资源。

不是所有的公司都可以成功跨越这三个阶段,于是他们不得不面对红海、价格战以及恶性竞争,劣币驱赶良币。从另外一方面看,能够顺利跨过这三个阶段的公司都有一个有趣的特点: 早期有一个创新力极强的创始人,中期有一个行业浸泡多年的合伙人,后期有一个懂得商业模式顶层设计和生态搭建的合伙人。稀缺性,都是由合适的时间合适的人,带来的。

Bloom Filters by Example

[原文] https://llimllib.github.io/bloomfilter-tutorial/

A Bloom filter is a data structure designed to tell you, rapidly and memory-efficiently, whether an element is present in a set.

The price paid for this efficiency is that a Bloom filter is a probabilistic data structure: it tells us that the element either definitely is not in the set or may be in the set.

The base data structure of a Bloom filter is a Bit Vector. Here’s a small one we’ll use to demonstrate:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Each empty cell in that table represents a bit, and the number below it its index. To add an element to the Bloom filter, we simply hash it a few times and set the bits in the bit vector at the index of those hashes to 1.

It’s easier to see what that means than explain it, so enter some strings and see how the bit vector changes. Fnv and Murmur are two simple hash functions:

Enter a string: 

fnv: 
murmur:

Your set: []

When you add a string, you can see that the bits at the index given by the hashes are set to 1. I’ve used the color green to show the newly added ones, but any colored cell is simply a 1.

To test for membership, you simply hash the string with the same hash functions, then see if those values are set in the bit vector. If they aren’t, you know that the element isn’t in the set. If they are, you only know that it might be, because another element or some combination of other elements could have set the same bits. Again, let’s demonstrate:

Test an element for membership: 

fnv: 
murmur:

Is the element in the set? no

Probability of a false positive: 0%

And that’s the basics of a bloom filter!

Advanced Topics

Before I write a bit more about Bloom filters, a disclaimer: I’ve never used them in production. Don’t take my word for it. All I intend to do is give you general ideas and pointers to where you can find out more.

In the following text, we will refer to a Bloom filter with k hashes, m bits in the filter, and n elements that have been inserted.

Hash Functions

The hash functions used in a Bloom filter should be independent and uniformly distributed. They should also be as fast as possible (cryptographic hashes such as sha1, though widely used therefore are not very good choices).

Examples of fast, simple hashes that are independent enough3 include murmur, the fnv series of hashes, and HashMix.

To see the difference that a faster-than-cryptographic hash function can make, check out this story of a ~800% speedup when switching a bloom filter implementation from md5 to murmur.

In a short survey of bloom filter implementations:

How big should I make my Bloom filter?

It’s a nice property of Bloom filters that you can modify the false positive rate of your filter. A larger filter will have less false positives, and a smaller one more.

Your false positive rate will be approximately (1-e-kn/m)k, so you can just plug the number n of elements you expect to insert, and try various values of k and m to configure your filter for your application.2

This leads to an obvious question:

How many hash functions should I use?

The more hash functions you have, the slower your bloom filter, and the quicker it fills up. If you have too few, however, you may suffer too many false positives.

Since you have to pick k when you create the filter, you’ll have to ballpark what range you expect n to be in. Once you have that, you still have to choose a potential m (the number of bits) and k (the number of hash functions).

It seems a difficult optimization problem, but fortunately, given an m and an n, we have a function to choose the optimal value of k(m/n)ln(2) 23

So, to choose the size of a bloom filter, we:

  1. Choose a ballpark value for n
  2. Choose a value for m
  3. Calculate the optimal value of k
  4. Calculate the error rate for our chosen values of nm, and k. If it’s unacceptable, return to step 2 and change m; otherwise we’re done.

How fast and space efficient is a Bloom filter?

Given a Bloom filter with m bits and k hashing functions, both insertion and membership testing are O(k). That is, each time you want to add an element to the set or check set membership, you just need to run the element through the k hash functions and add it to the set or check those bits.

The space advantages are more difficult to sum up; again it depends on the error rate you’re willing to tolerate. It also depends on the potential range of the elements to be inserted; if it is very limited, a deterministic bit vector can do better. If you can’t even ballpark estimate the number of elements to be inserted, you may be better off with a hash table or a scalable Bloom filter4.

What can I use them for?

I’ll link you to wiki instead of copying what they say. C. Titus Brown also has an excellent talk on an application of Bloom filters to bioinformatics.

References

1: Network Applications of Bloom Filters: A Survey, Broder and Mitzenmacher. An excellent overview.

2: Wikipedia, which has an excellent and comprehensive page on Bloom filters

3: Less Hashing, Same Performance, Kirsch and Mitzenmacher

4: Scalable Bloom Filters, Almeida et al