社区发现之标签传播算法(LPA)

在Graph领域,社区发现(Community detection)是一个非常热门且广泛的话题,后面会写一个系列,该问题实际上是从子图分割的问题演变而来,在真实的社交网络中,有些用户之间连接非常紧密,有些用户之间的连接较为稀疏,连接紧密的用户群体可以看做一个社区,在风控问题中,可以简单的理解为团伙挖掘。

目前的社区发现问题分为两大类:非重叠社区发现和重叠社区发现。非重叠社区发现问题描述的是:一个网络中,每个节点均只能属于同一个社区,这意味这社区和社区之间是没有交集的。在非重叠社区发现算法中,有不同种类的解法:
1)基于模块度的社区发现算法:基本思想是通过定义模块度(Modularity)来衡量一个社区的划分是不是相对比较好的结果,从而将社区发现问题转化为最大化模块度的问题进行求解,后续的Louvain算法会讲到。
2)基于标签传播的社区发现算法:基本思想是通过标记节点的标签信息来更新未标记节点的标签信息,在整个网络中进行传播,直至收敛,其中最具代表性的就是标签传播算法(LPA,Label Propagation Algorithm),也是本文要讨论的算法。
注意:在团伙挖掘的实际应用的过程中,不要寄希望于优化社区发现算法提高准确性,可能永远都解决不了问题,因为关系的形成在实际中太过于复杂,我们更多的关注构图关系的筛选、清洗、提纯,以及分群后进一步加工处理
 

一、LPA概述

Label Propagation Algorithm,也称作标签传播算法(LPA),是一个在图中快速发现社群的算法,由Raghavan等人在2007年于论文《Near linear time algorithm to detect community structures in large-scale networks》中提出。在 LPA 算法中,节点的标签完全由它的直接邻居决定。标签传播算法是一种基于标签传播的局部社区发现算法,其基本思想是节点的标签(community)依赖其邻居节点的标签信息,影响程度由节点相似度决定,并通过传播迭代更新达到稳定。

1、算法的思想

在用一个唯一的标签初始化每个节点之后,该算法会重复地将一个节点的标签社群化为该节点的相邻节点中出现频率最高的标签。当每个节点的标签在其相邻节点中出现得最频繁时,算法就会停止。该算法是异步的,因为每个节点都会在不等待其余节点更新的情况下进行更新。
该算法有5个步骤:
1)初始化网络中所有节点的标签,对于给定节点x,Cx(0)=x。
2)设置 t=1。
3)以随机顺序排列网络中的节点,并将其设置为x。
4)对于特定顺序选择的每个x∈X,让Cx(t)=f(Cxi1(t),…,Cxim(t),…。f这里返回相邻标签中出现频率最高的标签。如果有多个最高频率的标签,就随机选择一个标签。
5)如果每个节点都有其邻居节点中数量最多的标签,则停止算法,否则,设置t=t+1并转到3。
这是一个迭代的计算过程且不保证收敛,大体的思路就是每个人都看看自己的邻居都在什么社区内,看看频率最高的社区是啥,如果和自己当前的社区不一样,就把这个最高频社区当成是自己的社区,然后告诉邻居,周而复始,直到对于所有人,邻居们告诉自己的高频社区和自己当前的社区是一样的,算法结束。所以说对于这个算法,计算复杂度是O(kE),k是迭代的次数,E是边的数量。大家的经验是这个迭代的次数大概是5次就能近似收敛,以实现精度和性能的平衡,能发现这个数字和六度分隔理论里面的数字也差不多。
我们可以很形象地理解算法的传播过程,当标签在紧密联系的区域,传播非常快,但到了稀疏连接的区域,传播速度就会下降。当出现一个节点属于多个社群时,算法会使用该节点邻居的标签与权重,决定最终的标签,传播结束后,拥有同样标签的节点被视为在同一群组中。
下图展示了算法的两个变种:Push 和 Pull。其中 Pull 算法更为典型,并且可以很好地并行计算:
社区发现之标签传播算法(LPA)
我们不再继续深入,看完上图,你应该已经理解了算法的大概过程。其实,做过图像处理的人很容易明白,所谓的标签传播算法,不过是图像分割算法的变种,Push 算法是区域生长法(Region Growing)的简化版,而 Pull 更像是分割和合并(divide-and-merge,也有人称 split-merge)算法。确实,图像(image)的像素和图(graph)的节点是十分类似的。

2、用于图聚类

图聚类是根据图的拓扑结构,进行子图的划分,使得子图内部节点的链接较多,子图之间的连接较少。依赖其邻居节点的标签信息,影响程度由节点相似度决定,并通过传播迭代更新达到稳定。
参考原始论文
https://arxiv.org/abs/0709.2938
https://arxiv.org/pdf/0709.2938.pdf
在算法开始之前为每个节点打上不同的标签,每一个轮次随机找到一个节点,查看其邻居节点的标签,找到出现次数最多的标签,随后将该节点改成该标签。当相邻两次迭代后社区数量不变或社区内节点数量不变时则停止迭代,下面看图解过程
初始化
社区发现之标签传播算法(LPA)
第一轮迭代
随机挑选一个节点(如c),发现其相邻节点有abe,三者出现次数相同,故随机选一个(如a),那么c点的标签被a替代。
社区发现之标签传播算法(LPA)
第二轮迭代
随机挑选一个节点(如b),发现其相邻节点均为a,故将b换成a,重复数次,最终的结果如图所示
社区发现之标签传播算法(LPA)
我们再看一个例子,比如下图:
社区发现之标签传播算法(LPA)
分组后的结果如下,我们得到了独立非重的groupid,这个结果其实是很难在实际场景中应用的,那么我们就的结果就没有意义了么?这个可以帮我们定位到浓度很高的群体,然后再加上部分属性标签,就能轻而易举的识别出问题黑产了。
社区发现之标签传播算法(LPA)

3、用于半监督

该算法也可以作为半监督的分类算法,标签传播时一种半监督机器学习算法,它将标签分配给以前未标记的数据点。在算法开始时,数据点的子集(通常只占很小一部分)有标签(或分类)。在整个算法过程中,这些标签会传播到未标记的点。在标签传播过程中,保持已标注数据的标签不变,使其像一个源头把标签传向未标注数据。
最终,当迭代过程结束时,相似节点的概率分布也趋于相似,可以划分到同一个类别中,从而完成标签传播过程,边的权重越大,表示两个节点越相似,那么label越容易传播过去。我们定义一个NxN的概率转移矩阵P:
社区发现之标签传播算法(LPA)
下面的图来看看传播过程
社区发现之标签传播算法(LPA)
传播结束后的结果如下:
社区发现之标签传播算法(LPA)
LPA使用已标记节点的标签作为基础,并尝试预测未标记节点的标签。然而,如果最初的标签是错误的,这可能会影响标签的传播过程,错误的标签可能会被传播。该算法是概率性的,并且发现的社区可能因执行的不同而不同。
 

二、算法代码实现

这个算法比较简单,有比较多的实现方式,最方便的还是networkx这个库,并用里面的一个简单的数据集进行试验。

1、数据集介绍

空手道数据集是一个比较简单的图数据集,下面我们看看其中的边和节点,后面应用这个数据集进行试验。
import networkx as nxG = nx.karate_club_graph() # 空手道G.nodes()NodeView((0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33))
G.edges() EdgeView([(0, 1), (0, 2), (0, 3), (0, 4), (0, 5), (0, 6), (0, 7), (0, 8),(0, 10), (0, 11), (0, 12), (0, 13), (0, 17), (0, 19), (0, 21), (0, 31), (1, 2), (1, 3), (1, 7), (1, 13), (1, 17), (1, 19), (1, 21), (1, 30), (2, 3), (2, 7), (2, 8), (2, 9), (2, 13), (2, 27), (2, 28), (2, 32), (3, 7), (3, 12), (3, 13), (4, 6), (4, 10), (5, 6), (5, 10), (5, 16), (6, 16), (8, 30), (8, 32), (8, 33), (9, 33), (13, 33), (14, 32), (14, 33), (15, 32), (15, 33), (18, 32), (18, 33), (19, 33), (20, 32), (20, 33), (22, 32), (22, 33), (23, 25), (23, 27), (23, 29), (23, 32), (23, 33), (24, 25), (24, 27), (24, 31), (25, 31), (26, 29), (26, 33),(27, 33), (28, 31), (28, 33), (29, 32), (29, 33), (30, 32), (30, 33),(31, 32), (31, 33), (32, 33)])

2、自己实现LPA算法

import randomimport networkx as nximport matplotlib.pyplot as plt # 应该封装成类的形式 def lpa(G): ''' 异步更新方式 G:图 return:None 通过改变节点的标签,最后通过标签来划分社区 算法终止条件:迭代次数超过设定值 ''' max_iter_num = 0 # 迭代次数 while max_iter_num < 10: max_iter_num += 1 print('迭代次数',max_iter_num) for node in G: count = {} # 记录邻居节点及其标签 for nbr in G.neighbors(node): # node的邻居节点 label = G.nodes[nbr]['labels'] count[label] = count.setdefault(label,0) + 1 #找到出现次数最多的标签 count_items = sorted(count.items(),key=lambda x:-x[-1]) best_labels = [k for k,v in count_items if v == count_items[0][1]] #当多个标签最大技术值相同时随机选取一个标签 label = random.sample(best_labels,1)[0] # 返回的是列表,所以需要[0] G.nodes[node]['labels'] = label # 更新标签 def draw_picture(G): # 画图 node_color = [float(G.nodes[v]['labels']) for v in G] pos = nx.spring_layout(G) # 节点的布局为spring型 plt.figure(figsize = (8,6)) # 图片大小 nx.draw_networkx(G,pos=pos,node_color=node_color) plt.show() if __name__ == "__main__": G = nx.karate_club_graph() #空手道数据集 # 给节点添加标签 for node in G: G.add_node(node, labels = node) #用labels的状态 lpa(G) com = set([G.nodes[node]['labels'] for node inG]) print('社区数量',len(com)) draw_picture(G)
迭代次数 1迭代次数 2迭代次数 3迭代次数 4迭代次数 5迭代次数 6迭代次数 7迭代次数 8迭代次数 9迭代次数 10社区数量 3
代码运行结果:
社区发现之标签传播算法(LPA)

3、调包实现LPA算法

networkx集成了这个算法,可以直接调用
import matplotlib.pyplot as pltimport networkx as nxfrom networkx.algorithms.community import asyn_lpa_communities as lpa
# 空手道俱乐部G = nx.karate_club_graph()com = list(lpa(G))print('社区数量',len(com))
com [{0, 1, 2, 3, 7, 8, 9, 11, 12, 13, 17, 19, 21, 30},{4, 5, 6, 10, 16},{14, 15, 18, 20, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33}]

# 下面是画图pos = nx.spring_layout(G) # 节点的布局为spring型NodeId = list(G.nodes())node_size = [G.degree(i)**1.2*90 for i in NodeId] # 节点大小
plt.figure(figsize = (8,6)) # 设置图片大小nx.draw(G,pos, with_labels=True, node_size =node_size, node_color='w', node_shape = '.' )
'''node_size表示节点大小node_color表示节点颜色with_labels=True表示节点是否带标签'''color_list = ['pink','orange','r','g','b','y','m','gray','black','c','brown']
for i in range(len(com)): nx.draw_networkx_nodes(G, pos, nodelist=com[i], node_color = color_list[i+2], label=True)plt.show()
社区发现之标签传播算法(LPA)

三、分群结果可视化

在可视化方面,确实R语言要强,大家有时间可以学习下,活儿全还是有点用处的,我们这里用R的igraph包来展现一些社区发现的结果。
library('igraph')karate <- graph.famous("Zachary")community <- label.propagation.community(karate)# 计算模块度modularity(community)0.3717949
#membership查看每个点的各自分组情况。membership(community)1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 1 1 2 1 2 1 2 2 2 2 2 2 2 2 2 2 2 2
plot(community,karate)
下面为两次跑的结果,可以看到,两次的结果并不一样,这个就是震荡效应导致的结果
社区发现之标签传播算法(LPA)
换一个对比下看看
community <- walktrap.community(karate, weights = E(karate)$weight, steps = 8, merges =TRUE, modularity = TRUE)plot(community,karate)
社区发现之标签传播算法(LPA)
可以用更复杂的数据,画出来还挺好看的,数据集的下载地址:http://snap.stanford.edu/data/egonets-Facebook.html
library(igraph)library(d3Network)igraphDat <- read.graph(file = "/Users/wuzhengxiang/Documents/PPT模板/0.edges", directed = FALSE)
## Simplify to remove duplications and from-self-to-self loopsigraphDat <- simplify(igraphDat, remove.multiple = TRUE, remove.loops = TRUE )
## Give numbersV(igraphDat)$label <- seq_along(V(igraphDat))
## Average path length between any two given nodes(averagePathLength <- average.path.length(igraphDat))
## Community structure detection based on edge betweennesscommunityEdgeBetwn <- edge.betweenness.community(igraphDat)
## Check the transitivity of a graph (probability that the adjacent vertices of a vertex are connected)(transitivityDat <- transitivity(igraphDat, type = "localaverage", isolates = "zero") )
## Set the seed to get the same resultset.seed("20200513")
## Add community indicating background colorsplot(igraphDat,vertex.color = communityEdgeBetwn$membership, vertex.size = log(degree(igraphDat) + 1),mark.groups = by(seq_along(communityEdgeBetwn$membership), communityEdgeBetwn$membership, invisible) )
## Annotatetitle("Stanford Facebook data", sub = "http://snap.stanford.edu/data/egonets-Facebook.html" )text(x = -1, y = -1, labels = sprintf("Average path length: %.2fnTransitivity: %.2f", averagePathLength, transitivityDat) )
社区发现之标签传播算法(LPA)
社区发现之标签传播算法(LPA)
社区发现之标签传播算法(LPA)

四、算法优缺点

作为一个比较简单的算法,其优缺点也是特别的明显。

1、算法优点

算法逻辑简单,时间复杂度低,接近线性复杂度,在超大规模网络下会有优异的性能,适合做社区发现的baseline。
无须定义优化函数,无须事先指定社区个数,算法会利用自身的网络结构来指导标签传播。

2、算法缺点

雪崩效应:社区结果不稳定,随机性强。由于当邻居节点的社区标签权重相同时,会随机取一个。导致传播初期一个小的错误被不断放大,最终没有得到合适的结果。尤其是异步更新时,更新顺序的不同也会导致最终社区划分结果不同。
社区发现之标签传播算法(LPA)
上图中展示了一次标签传播算法的流程:初始化阶段,每个节点都以自己作为社区标签。比如a的社区就是a,c的社区就是c。当进入传播阶段,节点c的邻居节点共4个:a,b,c,d。而社区标签也是4个:a,b,c,d,假设随机取了一个a。
如果是异步更新,此时b,d,e三个节点的邻居节点中社区标签均存在2个a,所以他们都会立马更新成a。如果c当时随机选择的是b,那么d,e就会更新成b,从而导致b社区标签占优,而最终的社区划分也就成b了。
震荡效应:社区结果来回震荡,不收敛,当传播方式处于同步更新的时候,尤其对于二分图或子图存在二分图的结构而言,极易发生。
社区发现之标签传播算法(LPA)
上图中展示了一次二分图中标签传播算法的流程,在同步更新的时候,每个节点依赖的都是上一轮迭代的社区标签。当二分图左边都是a,右边都是b时,a社区的节点此时邻居节点都是b,b社区的节点此时邻居节点都是a,根据更新规则,此时a社区的节点将全部更新为b,b社区的节点将全部更新为a。此时算法无法收敛,使得整个网络处于震荡中。
转自:https://mp.weixin.qq.com/s/DgCK9Ea-Qf00KyB1W8x8Iw

千金藤素和东北亚疫情

原创:叶立华
来源:求实处(ID:QIUSHICHU-
死亡笔记向来是不想对朋友用的,但有的时候我们没有办法,只能眼睁睁的看着朋友离去。布林肯要对欧佩克动手,立华我预警过一次。
但他的效率远超我们的想象,他出手了,就有人没有了。
钱是要挣的,挣钱值不值得付出生命,对大多数人来说都是问题,打的一拳开免的百拳来,前提是打着一拳的时候能抗住流出来的血。欧佩克还有多少血可以流,是个问题。
欧佩克还能撑多久,也是个问题。
布林肯这么着急,原因是德国人对俄罗斯妥协了,主义再大大不过取暖,德国人开始用卢布支付天然气。泽连斯基也是个软骨头,普京那边特别军事行对,没有对乌克兰宣战,泽连斯基也就没有对俄罗斯宣战。
打了两个月,马上要三个月了,两个国家都不在战争状态,乌克兰境内的过境天然气管道还好好的,俄罗斯自己不炸,泽连斯基也不去炸。
像极了蒋介石,日本人侵略了半个中国,蒋介石就是不对日本宣战,贸易还没有断,这叫什么事情?
泽连斯基没有骨气,至今不敢宣战,德国人又要对俄罗斯妥协,再不让欧佩克吃几刀子,怕是他们都不知道花儿为什么这样红了。
政客会左摇右摆,但政治家杀伐果断。出来混十分的讲诚信,说杀你全家,就杀你全家,红线给欧佩克画出来了,谭德赛的烟幕弹一打,紧接着就是动手。
普京在国际上取信于人了,乌克兰不要加入北约,否则就打。后来乌克兰要加入北约,普京就打了。
现在布林肯第二个在国际上取信于人了。欧佩克要配合美国的计划,否则就要出事。后来欧佩克不配合美国的计划,于是就出事了。
红线划出去,有人踩过来一点,就不顾一切铁血打击,这才是底线。普京和布林肯都取信于人了,事情就不好办了。
一个政客会被官僚集团带着走,官僚集团是理智的。还比较好预测。
但有决心的政治家可以将大权独揽到自己手里,普京取信于人,布林肯又取信于人,局面的走向就迷幻了起来,变得难以预测。
局面维系于组织,组织好预测,局面维系于个人,历史的进程就要扑朔迷离起来。
我们只能在这不确定性中寻找最大的确定性,来应对这不确定的未来。
于是,我们拿出了一个研究了十几年的东西,叫做千金藤素,这个药物的抗病毒效果十分良好,比瑞德西韦的效果要好很多。
我国的产能很大,现在需要的就是临床的证实,如果我们通过临床证实了千金藤素能够在人体上有效的帮助人体抗掉新冠病毒,我们就在一个方面立于不败。
我们正在考虑把东三省和天津市的良港、技术调动起来,结合他们的劳动力,让他们也加入世界经济循环中,在亚太建立我坚固的桥头堡。如果我们能和他们团结起来,各尽其才,我们就在两个方面都立于不败。
要不然,看看东北亚的小兄弟都能被搞成这个样子,指不定要出多大事。

本文授权转载来自公众号:求实处(ID:QIUSHICHU-)讲政治,靠得住,没有关系低保户。

转自:https://mp.weixin.qq.com/s/0ZJifuCENmdYXm7x7D2pkQ

我和我的上海邻居

◎作者 | 姜婉茹 魏荣欢 罗晓兰 邹帅
编辑 | 毛翊君 陶若谷
◎来源 | 极昼工作室(ID media-fox
我和我的上海邻居送89岁的奶奶一幅梵高,“独居是要付出代价的,耳聋,牙少,眼一只坏”。
 
 涂妍,31岁,窗外不远处是杨浦大桥 
 
我住在上海内环,是个很老的小区,大大小小的楼有50栋,人口密集,光我们楼就大约350人,老人很多。
 
我做了一个月志愿者,印象最深的是10楼的漪安奶奶。她89岁了,个子小小的,一只眼睛不好,戴着助听器,走路慢慢的。
 
上门做核酸的时候,她显然已经被多次打扰过了,情绪非常激动,甚至推搡大白,让门口的人滚。“我都快90了,不做核酸又怎么样,让我死了算了”,又骂女儿已经两周没来看她了,“养女儿没用”。
 
我去安抚她,得知奶奶一个人住,家政阿姨被封在外面,她这几天都没什么东西吃,看起来也没向任何人求助过。
 
她给我看了假牙,很多东西吃不了,“就吃了点花生酱”,说着就开始抹眼泪。我打开冰箱,看见吃到一半的花生酱,也开始哭。奶奶说想吃软软的蛋糕,我答应帮她买,买不到的话,就自己烤一个给她。
 
漪安奶奶情绪慢慢平复下来,她说最近吃不好,痔疮犯了,很怕弄脏裤子和床,难以清洗,所以情绪很崩溃,骂了人。大白给她做核酸时,她又跟人家道歉。
 
回到家我疯狂刷外卖平台,抢到了蛋糕。第二天给漪安奶奶送去时,她为了准确地介绍自己,在一张纸上写下:中学美术老师,教到68岁。
 
后来走动愈发频繁,看到她家床窄窄的,像个行军床,却有很多橱柜用来存放电影碟片、书籍、画册。
 
她说,“我这个人爱好比较奇怪,还想喝点咖啡,速溶的就可以了。”我就在楼里众筹了一大袋子咖啡,又给奶奶送了痔疮膏和卫生巾。
 
想到奶奶家里有梵高的画,我送给她一幅自己画的《星月夜》,没想到她说“你没学过画画吧”,近景要明确,远景要模糊。
 

我和我的上海邻居

●我的《星月夜》和奶奶回赠的梵高英文画册。讲述者供图
不过她很开心,拉着我从门口昏暗的客厅进到里屋,那是她写字画画的角落。欧洲旅行带回来的威尼斯面具、拖着降落伞的巫婆,在家里挂了十几年,看上去很旧了。
 
她还打开日记本,有一页纸上画了丁真,她说喜欢线条优美的人体、大卫、裸女这些,很少有人能理解她。
 
日记本里还有时事新闻,比如最近坠毁的东航客机。
 
清明节封在家里,她画了一个衣袂飘飘的捧花少女,站在青草间的墓前,配文“死非永诀,遗忘才是”,少女是画的她自己。
 
最新的几页写着“新冠肺疫,上海正在封闭”,还有一身落花的女孩向樱花伸出手去——奶奶想看花了,配文“樱花走了,桃花又开,春天呀!春天”。

我和我的上海邻居

我和我的上海邻居

●奶奶的日记。讲述者供图
最近有天早上,漪安奶奶来敲门,怕打扰我上班,放下一本梵高原版画册就要走。她说看不懂英文,所以把侄女从美国寄来的画册送给我,请我收下不要有负担。我邀请她一起吃早餐,她连连说“不打扰”,放下就走了。
 
打开画册,里面夹着一封手写信——“独居是要付出代价的,耳聋,牙少,眼一只坏”。我逐字看了好几遍,站在客厅里哭。
 
漪安奶奶在她的精神世界里,一定很孤独吧,拉着我倾诉了许多话。但我自己的事情太多了,很多时候都没能考虑到她,可能也没办法抵达她丰富的内心世界。

我和我的上海邻居

●奶奶的手写信。讲述者供图
我和我的上海邻居
邻里“被迫”走动了起来,“没事的啦,告诉居委会了,他们会帮忙解决的”
 
 季瑶,28岁,永康路附近 
 
我之前做代购,待在上海图个交通方便,疫情后基本是待业状态。现在住徐汇“网红街”永康路附近一座“老公房”里,对门住着一对老人。以前只知道,爷爷88岁,奶奶87,还养了一只猫。
 
偶尔会看见爷爷骑着一辆电动三轮车,后座载着奶奶。他的白色眉毛很长,腿脚不太方便,拄着一根拐杖出门,但都穿得整整齐齐。有次看见他下楼做核酸,穿了白衬衣和西装马甲,戴着一顶黑色贝雷帽,顶上有个“小揪揪”。
 
虽然觉得爷爷很酷,但我不爱跟邻居多说话、打听别人的事。有时候爷爷买了菜,爬5层楼梯很慢,碰到了我会帮他拎菜上楼,这是我们以前仅有的交集。
 
上海封控前,跟我合租的姐姐担心老人买不到东西,送过一些蔬菜,他们回赠了豆腐皮,一泡水就变得很薄、很软。平时做核酸,遇到爷爷我都会问他缺不缺东西,他每次都说东西够的,不用担心。
 
直到听另一个邻居说,两位老人有基础病,药快吃完了。再遇到爷爷时,我问起买药的事,他说没事的啦,告诉居委会了,他们会帮忙解决的。
 
一个星期后,爷爷来敲我家门,原来居委会没给买到药。他递来一张已经有不少折痕的信纸,上面写着8种药名,用于治疗糖尿病、心脏病、高血压等。
 
爷爷有点不好意思,说要是太麻烦的话,只买前面4种就好,那些是奶奶的药。
 

我和我的上海邻居

●爷爷列着药物清单的信纸。讲述者供图
爷爷有一个文件袋,里面整齐地放着医保卡、病历本、药品的纸盒。
 
我试过掌上药店,里面链接和定位查询功能是坏的,又尝试预约医院挂号,但不知怎么买药。有邻居叫过跑腿小哥,也找药困难。
 
幸好打听到附近药店老板的微信,帮忙问了下,爷爷的药大部分都有。药店大约离这2公里,我决定趁着做核酸、小区大门打开的那几个小时,偷偷溜出去。
 
万一遭遇盘查,打算扮演出门买药的小区志愿者,怎么反应、什么说辞我都想好了。好像也不算骗人,要是有正常渠道买药,也就不用冒险违反规定了。
 
我跟爷爷说了计划,他挺激动的,当即决定骑电动三轮带我一起去。好久没出“远门”了,没想到是以这种魔幻的方式。我坐在后座给爷爷导航,他是“老上海”,比我熟悉路,还纠正了我说错的方向。
 
爷爷骑车比想象中快得多,叫我“不用怕”。一路畅通无阻,街上很空旷,只有零星的几辆车,也没人拦我们。封城的时候,街上的树还光秃秃的,17天之后,树变绿了,花也开了。
 
到了药店,人不多,爷爷有些耳背,我怕他说不清楚,替他去排队。他坐在三轮车上晒太阳,还跟另一个满头白发的老人聊起了天。爷爷的药很顺利就买到了,只缺两种不太急的,但是后面一个老人就没这么幸运了。
 
现在每次做核酸,爷爷都会敲门提醒我,领物资时我也帮他们拎上楼,关系比之前亲近了不少。听别的邻居说,爷爷有次逮到他一顿夸我。
 
不过说心里话,我宁愿大家都是“点头之交”。只有秩序混乱、个体无法靠自己解决问题时,邻里才“被迫”走动了起来,这是一种倒退。
 
我喜欢大城市人与人之间的“距离感”,如果偏爱人情社会的话,我呆在熟悉的小圈子里就好了,何必选择上海呢?
 
我和我的上海邻居
对房东,从投诉到不舍,“我们没有对方微信,直到4月8号”
 
 Emma,30岁,复兴中路街边 
 
我们小区是上海复兴中路街边一组矮房子,最高五层。住的大多是中老年人,不讲究穿着,没事会坐在外面大声聊天。
 
我一般尽量回避他们目光,但他们似乎很喜欢掌握邻居的信息,比如我下楼取快递,就会有人探出头来看,有时候还会问。
 
房东Lina就是这样,我每次拎箱子经过她门口,总会突然被问要干嘛去。
 
朋友来找我,她也会问,然后热心指一下路。我觉得蛮烦的,关你什么事情。
 
我是北京人,毕业来上海工作,在这个弄堂住了将近两年。我那栋三层,每层两户,我和另外一对小夫妻租户住在顶层,是改造过的法式屋子。
 
Lina和她爸爸一人一间住在二楼,他们的屋子很暗,没有阳台,挂着老式厚重的刺绣窗帘,木头家具是砖红色。一楼右手边是她厨房,她很会烧菜,香味会顺着楼道飘上来。
 

我和我的上海邻居

●从阳台看见的邻居家一角。讲述者供图
Lina40多岁,是老上海人,黑色齐肩卷发,虽然打扮朴素但收拾得很干净。她基本不关门,平时也不怎么出去,每隔两天和邻居在家打麻将,常到夜里一点,打完之后站在楼道里聊天,声音都能清晰地传到楼上。有次把我吵醒了,我还去跟中介投诉。
 
我们没有对方微信,直到4月8号中午,她通过中介加了我。那会儿我听到楼外很吵,心想是不是要测核酸还是有物资要发。
 
因为已经过了原定解封日期,居委会还没有发东西过来,所有的网购平台也订不到,早上我是饿醒的。
 
走到阳台上,我听见楼下传来Lina响亮的声音,周围邻居也都跟她说上海话,我不能完全听懂,大概知道是想把大家拉进物资团购群。
 
我刚进去看只有30多个人,不够团购的数量。我一直觉得我们小区搞不起来团购,因为人少又年龄大,没想到房东这种古朴的沟通方式奏效,几分钟又涌进来十来个人。
 
几天后Lina突然敲门,给我和对门送来一锅咖喱鸡。她很热情地说,以后要是买来的食材不会烧,可以找她帮忙。
 
咖喱特别好吃,我在微信上感谢了她。下楼丢垃圾碰到她爸爸,又说起这事,他跟我介绍了独特而复杂的工序。
 
现在那个群里已经有大概150个人了,除了团必需品,还能买到咖啡,甚至肯德基。现在话题多了些家常,我的回复也从“好的”变成“来咯”。
 
后来政府发的大米我直接给楼下送过去了,我不怎么吃米饭。之后他们只要一做饭就会叫我。路过二楼,我会很自然停下来跟他们聊两句。
 
居委会在楼下发东西,Lina也直接帮我领回来。我爱喝咖啡,她给了我一袋越南产的,告诉我速溶不好,“你管我要就好了,我对咖啡很讲究很挑剔的,我不是一个随便喝咖啡的人”。
 
我们会站在楼道里聊会儿天,我原本打算四月初搬家,没想到被滞留下来,现在反倒舍不得走了。
 
我和我的上海邻居
给医生的孩子做蛋糕,“脸上是护目镜留下的印子,眼圈很红”
 
 尚文姬,90后,闵行新小区 
 
我是黑龙江来的沪漂,传媒行业,住1504,搬来2年多了。这是个十几年的新小区,我租了间十平米的小卧室,除了合租室友,在小区谁都不认识,也没有了解这里的想法。
 
4月8号,群里有人说想吃好吃的,我发了张之前做的蛋糕照片。
 
901@我,说孩子Molly要在13号过5岁生日,她和爱人都是医生,在抗疫一线,问我能不能帮忙做蛋糕,一直道谢。
 
我挺有压力的,要送给别人,怕搞砸了不好意思,本来想着谁会做,我辅助就行,但大家都默认是我做了。材料来自十几户人家,很多东西都买不到。整栋楼只有一罐奶油了,就改做慕斯的。但做着吉利丁不够了,又临时向群里求助。没人主动提供水果,后来Molly的家人送来一袋之前囤的芒果。
 
我很久没吃水果了,之前几乎每天吃,家里只剩最后一个凤梨,我切成小块放着,闻着味儿,实在忍不住了才吃一口。
 
条件太有限了,只做了个6寸的,最后揪了室友的绿植,也不知道是什么植物,挑了最嫩的两片叶子。
 
13号中午,我就把蛋糕装好盒子,将气球打好气,字母串好,连同邻居送的礼物一起挂到Molly家门口。
 

我和我的上海邻居

●蛋糕成品。讲述者供图
当晚,在邻居的帮助下,女孩的姥爷学会了群直播,我第一次认真看见Molly的样子,有点像贾乃亮的女儿甜馨。她一点也不怯场,嘴唇上沾着蛋糕屑,一边吃一边说谢谢楼里的人。我也挺开心的。
 
我们楼一共32层,128户,群里200多人,观看的人数最多时过半了。
 
Molly的妈妈在群里说蛋糕太好吃了,还收到好多礼物。姥爷一条一条@送礼物的邻居,说谢谢。
 
加上Molly妈妈的微信后,她一直很忙,我们只联系过两次,一次是刚加上,另一次是她告诉我送来了芒果,看朋友圈她在一线连轴转。
 
孩子生日那天,她晒了一家人群聊截图。爸爸妈妈脸上都是戴护目镜留下的印子,眼圈很红,尤其是爸爸。
 
她发了很长一段文字,说虽然爸爸妈妈不能陪在小Molly身边,但有这么多邻居,过了一个难忘的生日。我觉得好心酸。
 
之后小区有次团购水果,可能箱子破了,我们的没有了,有人知道后就送了两个苹果过来,说不能让热心的人吃亏。
 
做蛋糕后,感觉和群里的邻居更熟了,刚发了新菜,都互相问今天谁家要做好吃的,还有人问能不能跟我订蛋糕。
 
以前有人看我的头像是韩剧里的老奶奶,会叫我阿姨,现在知道我很年轻,改叫我“可爱的文姬女士”。
 
我和我的上海邻居
“105”的东北老乡,“每天都很期待嫂子做的饭”
 
 张珍怡,25岁,松江某公寓 
 
原来105号那家住着一对夫妻,跟我一样也是辽宁人。现在,我叫他们“哥哥”、“嫂子”。我们这层楼一共四户,我住在102号,搬来这里三个多月了,对邻居们几乎一无所知。也曾想过是不是要认识一下邻居,又觉得尴尬,很难鼓起勇气。
 
去年10月毕业后,我就在上海工作,4月开始独自在家隔离,没什么吃的了,只好在群里求助。103的男生买了牛排,给我们这一层的分了下,还拉了一个小群。
 
一开始很陌生,后来一人一句的,105的嫂子知道了我们都不会做饭。当时跟她还不是很熟,只知道是老乡。
 
结果第二天,她在外面敲门,我打开看到嫂子端着意面、炒饭还有牛奶,让我吃早饭,我特别开心,吃得光光的。
 
嫂子看我愿意接受她的善意,也很开心,说最开始给隔壁的男生送东西,他还老不要。
 
后来嫂子做好饭,就会在群里叫我们。每天都很期待嫂子做的饭,就像拆盲盒一样——炸丸子、饺子、包子、炸鸡、东北菜,只有想不到,没有嫂子做不出来。我每一顿都盛得特别满,吃完再拍一个光盘发给他们。
 
哥哥嫂子今年都30多岁,去年从老家到上海来打拼,做房地产销售,恨不得把所有好东西塞给你那种。
 
嫂子做我们好几个人的饭,早上9点就在厨房,一直忙到下午5点。后来团的一些水果蔬菜我们也会送过去,但是他们总不让,跟我们说别花钱。
 
我们住在一楼,房子会带一个小院子,后来可以在小区内活动了,同层的四家人会在105的小院里一起吃饭。
 
嫂子做了炸鸡、薯条,我们打游戏,漫无目的地聊天,像在自己家里一样。
 

我和我的上海邻居

●嫂子做的炸物。讲述者供图
我和我的上海邻居
年轻人单独拉了小群,“我们只是意外进入人情社会的‘游客’”
 
 魏苇,29岁,静安区老弄堂 
 
我住在静安区一个老弄堂里,只有两栋楼,住户大多是上海中老年人。
 
到了4月6日,毫无解封的迹象,有独居老人敲门,说最后一粒米已经吃完,我把半包米倒进了他手里的锅。
 
要封控那天,我11点去超市,发现货架上就剩一点苹果和菜叶子,街上所有的店突然都在卖菜。我一个人住,怕囤多了食物会坏,也没抢太多。后来我一天只敢吃一顿饭了。
 
接着,小区拉了一个换物团购群,一共才50个人进群,很多东西要150份起送。楼上的女生小艾加了我好友。她问:
 
你头像是不是《我的天才女友》?
 
我俩就聊了起来,原来她已经没什么东西吃了,想拿咖啡换点食物,看我头像是可能要咖啡的人。第二天我拿鸡蛋换了她的咖啡。
 
小艾是个很直爽的姑娘,带点东北口音,跟我是老乡,也是做广告的。我们比较聊得来,一起交流缺物资的焦虑,还有小区的“魔幻新闻”。
 
哪儿有黑市、几点手速快能抢到菜,新鲜事全靠“口口相传”。也互相提醒做核酸,万一错过一次,就有可能变成群里挨骂的主角。
 
我和小艾都不喜欢群里的氛围,比如传闻有阳性的孩子来这个全阴小区投奔爸爸,其实没证实是阳性,隔壁楼的就很紧张,到处举报,要求把孩子转运到方舱。
 
还有人在群里谴责一个“没测核酸的人”,一群人跟着附和,说要把这人揪出来,实行“经济制裁”,不带他团购了。
 
虽然最后也不知道存不存在这样一个人,这个氛围让我很害怕,好像为了预防自己的生活变困难,不惜先把别人的生活变得特别困难。
 
我们大约跟15个年轻人拉了小群,团了一些饺子、方便面、水果、甜食等等。有个男生送了我一点电子烟,放到信箱上面让我自取。
 
还有个女生家囤了很多零食,我透过她家小橱窗的栅栏,买到了一些话梅、面包,混成“黑市VIP”,她送了我一包特别稀缺的垃圾袋。
 
之前钱能买到大部分服务,每个人都相对独立,现在这种环境下,感觉必须要有“同盟”。
 
小艾和她室友在我家搭伙做饭,谁先工作完就谁先做,每人做一点非常节省时间,还能吃到4个菜,虽然都是素的,吃完饭一起看电影、聊天
 
因为是全阴小区,饭后还能一起去院子里遛弯,看看天气怎么样,梨花开了没。我们只有一根跳绳,就轮换着跳。
 
我们都是年近30的独居女性,“被疫情偷走了三个春天”,身在上海疫情中,有太多需要排解,愈加依赖邻居提供的“情绪价值”。
 
一次,小艾在群里声讨群管理员“搞特权”,贿赂保安溜出小区。之后,支持她的年轻人全部被移出群聊。小艾说,“要正式考虑搬家了,我就是要一个平等”,还很生气我和她室友不去帮架。
 
我觉得没有必要正面冲突,我们只是意外进入人情社会的“游客”。邻里关系和上海一样,应该都会回归原来的样子吧。
 
前两天小艾跟我借了3个鸡蛋、跟室友借了2瓶牛奶,加上早早团到的面粉,给自己做了一个生日蛋糕。她一直着急想团个蜡烛,但我们都没找到办法。
 
在原本的计划中,她打算去个有海的地方,约一群朋友开个大party。但是那天小艾还加了班,然后我们3个“饭搭子”邻居一起,庆祝了她“没吃没喝没朋友”的30岁生日。
 
*(文中人物均为化名
转自:https://mp.weixin.qq.com/s/dNg2QuRM-QEmFgd4y2BtqQ

有些数据无法“造假”

记得多年前,我还在体制内做宏观研究的时候,曾经问过一位著名外资机构的经济学家,“关于中国经济,你最喜欢看什么数据?”
 
他几乎是脱口而出,“社融数据”。
 
再问他为什么,他狡黠的朝我眨了眨眼说,“因为这是为数不多的、能够高频观测的、且难以篡改的big data”。
 
哦,那是一个big data还不会被翻译成大数据的时代。他指的是这个数据足够宏观、足够全面,甚至能反映出中国在某一时间点上的经济面貌。
 
所以当2022年4月的社融数据在昨天被公诸于世时,对于从业人员来说,无异于平地起惊雷。
 
问了几个相熟的经济学者怎么看,大多的回答是:
 
“情理之中,意料之外。”
 
“想到差,没想到这么差。”
 
昨夜今晨看了很多机构对此发布的研究报告,语言大多是克制而隐忍的,一如这个时代的注脚。
 
只在个别字眼和语句上,才能够体会到屏幕前那些学者的痛心疾首。比如平安钟正生的“触冰”论,比如中金陈健恒的“独木支撑”论,再比如瑞银汪涛在整个后市研判中用的都是“xxxx,不过xxxx”的句式。
 
更多的朋友则只是沉默的在朋友圈转发人民银行官方的数据发布文。
 
因为在当下,不加一句评论,也是一种评论。
 
1
 
其实从社融数据的季节性规律来说,四月的数据比较弱属于情理之中,特别是在三月放出天量之后。
 
有些数据无法“造假”
 
从上表可以看出,每一次社融天量之后,下个月的数据都会出现环比大幅下降。而在今年一季度有两个月的社融都创出新高之后,本就没有人对四月数据有太多的期待。
 
但还是没有想到,情况会如此的糟糕。
 
对于新增社融规模,财新公布的一致预期是2.12万亿,彭博公布的一致预期是2.2万亿,可最终的结果是8231亿。
 
而对于其中最核心的一个分项,也就是新增人民币贷款,之前的一致预期大概分布1.49万亿到1.53万亿之间,而最终的结果是6454亿。
 
由于对数据过多的延伸和解读可能会引来显而易见的结果,所以在本文中,我也只会就事论事的去讲这些数据自身的情况,同时对那些不太了解这些数据背后含义的朋友,做一些基础的解释工作。
 
2
 
在开始解释之前,先让我们回到文章开始的那个问题——为什么社融和贷款数据是业界公认的真实数据?
 
原因也很简单,因为社会融资总量是一个自下而上整合的数据项,而底层的金融机构放贷、股票和债券发行等等数据都是有迹可循的。
 
此外,金融行业的数据在各个行业中相对而言也最为公开透明,再加上这一系列数据按月发布已有十余年之久,因此早已成为很多机构跟踪中国经济情况的重要依据。
 
想要进行太多的数据美化和修饰,是一件比较困难的事情。
 
一般而言,社融和贷款数据是一个略微领先于经济增长的指标,比如2008年就比GDP领先小半年触底,而2010年又比GDP领先两个月见顶。因此很多人,特别是机构投资者,会把这几个金融数据看做是观察中国经济接下来走向的领先指标。
 
不过这些年来,随着实体经济借了太多的钱,实体赚钱的机会又没有以前那么多,因此融资对于经济的拉动效应有着非常明显的边际递减,对经济情况的预示作用也就没那么突出了。
 
有些数据无法“造假”
 
因此,如今大家再来看社融数据,往往会拿放大镜拆开了看,看里面很多具体分项的变化,从而映射出中国经济的一些微观情况。
 
举个例子来说,社融数据主要可以分为表内贷款、表外融资、直接融资和其他融资四部分,这其中最重要的几个科目分别是表内贷款里的人民币贷款,表外融资里的委托贷款,另外就是这几年占比正在逐级扩大的直接融资。
 
由于中国经济依然是一个银行占大头的融资体系,因此在这其中,人民币贷款自然而然就成了大家关注的重中之重。
 
负责公布数据的人民银行也非常配合的,又将其拆解成了居民住房贷款、消费贷款、经营贷款,以及企业短期贷款、中长期贷款等等一系列分项。
 
从这一系列数据的起起伏伏中,研究者可以看到居民的行为在发生什么样的变化,而企业又在采取哪些行动应对市场形势。
 
例如在这个月的数据中,居民全面去杠杆的趋势就非常明显,因为无论是居民户房贷、非住房消费贷还是经营贷,均出现了负增长,其中个人按揭贷款更是出现了历史上第二次的“净偿还”。
 
……住户贷款减少2170亿元,同比少增7453亿元。其中,住房贷款减少605亿元,同比少增4022亿元;不含住房贷款的消费贷款减少1044亿元,同比少增1861亿元;经营贷款减少521亿元,同比少增1569亿元。

公众号:中国人民银行2022年4月金融统计数据报告
 
这不但反映出居民的购房和消费意愿大幅下滑,还反映出大多属于服务业的个人工商户、小微企业主正遭受明显的负面冲击。
 
其实,冰冻三尺非一日之寒。
 
三月的天量社融背后,住户的中长期贷款和短期贷款就已经出现了同比20%以上的下滑。
 
而到了这个月,就直接出现了断头铡。
 
3
 
而对于企业端,大家更多看的是所谓“信贷结构”。
 
一般来说,在企业的信贷结构中,中长期贷款比短期贷款更重要。因为中长期贷款意味着企业借来用于扩张生产和资本开支的钱,而短期贷款更可能是为了维持现金流,为了活命。
 
而在这个月,信贷结构出现了非常明显的恶化——短期贷款新增8089亿元,同比只减少了2.5%,而中长期贷款新增2652亿元,同比下降了60%,与2020年同期相比也下滑了50%多。
 
根据中金的研究报告,这一数据的新增绝对量是2017年以来的最低值,同比少增幅度更是有数据以来的相对高点,且还是在没有基数扰动的情况下。
 
“独木支撑”的是所谓票据融资,比前两年有明显增长。但票据融资指的是企业拿供应链上的“欠条”去银行贴现换成现金,恰恰反映出的是企业现金流紧张,因为比起欠条,企业宁愿打折也要换成现金。
 
更令人深思的是,央行在答记者问中还特别解释道,“1-4月企业贷款利率为4.39%,同比下降0.25个百分点,保持在有统计记录以来的低位。”
 
央妈的初衷当然是为了说金融机构很好地贯彻了政府对于降低小微企业贷款利率的要求,但却从侧面反映出另一个问题,那就是——
 
利率这么低,大家还是不愿意借钱。
 
4月份当月人民币贷款增长明显放缓,同比少增较多,反映出近期疫情对实体经济的影响进一步显现,叠加要素短缺、原材料等生产成本上涨等因素,企业尤其是中小微企业经营困难增多,有效融资需求明显下降。

公众号:中国人民银行中国人民银行有关负责人答记者问
4
 
除了社融数据,同批公布的另一个广受关注的金融数据当然是广义货币增长和狭义货币增长,也就是所谓的M2和M1。
 
从数据来看,这两个值表现得非常稳定,双双回升,其中M2同比增速上行0.8个百分点,重回10%以上。
 
市场普遍认为,这一方面体现了央行结存利润上缴财政形成的基础货币投放,另一方面则是4月底全面+定向降准的功劳。不少机构也因此喊出了政策向措施落地的“现在进行时”。
 
不过中金的研究则提供了另外一个视角。
 
它认为,M2的“异常上升”主因可能是居民去年同期进行的很多金融产品投资转化为了存款导致的。
 
因为如果去看3、4月份合计的居民存款规模,会发现明显高于去年同期水平,这很难解释为居民工资多发或者支出锐减,因此大概率是去年同期在理财和基金类的金融投资变成了今年的存款。由于存款可以清晰地反映在M2里,而金融投资比较难,因此这一次的M2出现了显著的上升。
 
但这就带来了一个问题。
 
如果M2的上升不是政策发力的结果,而是类似理财转移之类的短期因素,那么就意味着到目前为止的货币和财政政策发力,并没有对冲掉居民和企业同时去杠杆带来的负面影响。
 
如果政府认为目前的政策力度已经足够避免“明斯基时刻”,恐怕会功亏一篑。
 
5
 
最后必须说的是,尽管金融数据不容易“造假”,但如何解读却可以见仁见智。
 
悲观的人看到的是万马齐喑,而乐观的人看到的却可能是央妈有了更多理由放水,甚至监管也有了更多的理由放松。
 
比如前四个月金融数据中委托贷款与信托贷款规模的“微微抬头”,似乎就在暗示着,金融监管的实施力度正在悄然松动。

 

祸兮福所倚。

转自:https://mp.weixin.qq.com/s/w7kokKFru03_W5eiGC9fyg

贝壳这一年:亏损、裁员、过冬

本文来源 | 深燃(shenrancaijing)
作者 | 唐亚华
编辑 | 沐风
登陆纽交所不到两年时间,贝壳找房(下称“贝壳”)回港“双重上市”。
此前在5月5日,贝壳曾发布公告,拟将其A类普通股以介绍形式于港交所主板双重主要上市,不涉及新股融资,无发售环节,继续在纽交所保持主要上市地位并交易。业内人士普遍认为,这可能是因为前不久美国资本市场将贝壳等多家企业列入“预摘牌名单”。贝壳回港算是一个出于公司在资本市场上安全考虑的“备份”行为。
贝壳回港上市这一节点,也正是贝壳创始人左晖去世一周年。过去一年来,贝壳受到房地产行业的下滑态势影响,2021年前半年营收增幅放缓,后半年更是营收下降,由盈转亏,全年净亏损5亿多元。
上市近两年,贝壳的股价相比发行价已经腰斩,相比最高点更是大变脸。公司背后的软银、高瓴资本也一再减持。
整体上,由于公司规模的不断扩大,贝壳过去三年来的基本面得以维持。但重金投入的大家居和普惠居住业务,目前成效甚微。下一步,面对刚刚铺开的新蓝图,考验其组织能力和执行能力的时候才刚开始。
贝壳这一年:亏损、裁员、过冬
贝壳这一年:营收下滑,开始亏损
左晖离开一年,贝壳的业绩表现怎么样?
2022年3月10日,贝壳发布未经审计的2021年第四季度和全年财务业绩。据财报显示,2021年贝壳找房全年成交额(GTV)为3.85万亿元,同比增长10.1%;全年营收为808亿元,同比增长14.6%;净亏损5.25亿元,同比下降118.9%,经调整后净利润为22.94亿元。
分开来看,2021年第一季度和第二季度,贝壳的营收、净利润和增速均表现尚可。一季度,公司营收206.97亿元,净利润10.59亿元;二季度营收241.74亿元,净利润11.15亿元;到了第三季度,营收下降为180.96亿元,净亏损17.66亿元,第四季度,营收进一步降至177.9亿元,净亏损为9.33亿元
贝壳这一年:亏损、裁员、过冬
制图 / 深燃
可见,2021年后半年,贝壳营收开始下降,亏损数字也不低,进而导致了全年业绩的亏损。
贝壳的收入来自三个方面,和存量房相关的有销售的佣金、其他经纪公司的平台使用费、一些特许使用费和增值服务费;销售新房向开发商收取的佣金;包括家装和金融在内的其他业务。
收入下滑,主要是主营业务的规模下降带来的。贝壳财报显示,贝壳连接的门店和经纪人数量在下滑,截至2021年9月30日,贝壳共连接5.39万家门店、51.55万经纪人,而到了2021年12月31日,贝壳共连接5.1万家门店、45.45万经纪人。也就是说,第四季度贝壳连接的门店相比第三季度减少了2908家,经纪人减少了6.1万人。
随之而来的是平台交易量的下滑,2021年第三季度,平台GTV同比下滑20.9%,第四季度同比下滑34.6%。
房产行业从业者张扬分析,房地产行业近年来发展低迷,贝壳是房地产服务企业,自然也会受到影响。还有一个直观的原因就是,贝壳的利润有一大部分来自新房销售业务,从2021年下半年开始,一批民营房企出现债务爆雷,来自开发商的佣金自然也受到了影响。“另外,二手房交易和租赁,也受到了政策、企业发展、个人收入状况等因素的影响,比如很多互联网企业裁员,挫伤了消费者的信心。”
事实上,2021年,贝壳确实遭遇了现任董事长彭永东坦言的“充满挑战,史无艰难”的一年。
业绩紧张带来的压力从贝壳的动作中也能看出端倪。近年来网传贝壳有过好几轮裁员,据新浪财经报道,2022年3月份,贝壳启动了新一轮裁员,涉及二手和新房交易服务事业群,部分主管接到通知需要优化部门10%的员工。
“此外,去年10月以来,已经有20多名中层、高层陆续离职,包括一名金融副总裁、两名总经理,另有高级总监和总监等,部分管理层放弃期权离开。”报道还提到,上一轮优化主要是一线房产经纪人,合计优化总数超过3万人,平台职能部门大约2000人。
2021年底贝壳回应称,“2021年以来,行业环境发生较大变化,公司对上海地区金融等部分业务进行调整。”2022年3月23日,贝壳再次回应,受疫情防控常态化影响,贝壳各城市进行组织动态调整,不存在比例、数量等要求。同时,公司在发力租赁、家装、家居等领域业务,为员工提供内部转岗机会。
5月10日,贝壳再次传出“启动新一轮裁员”的消息,有的甚至提到贝壳最新裁员比例达50%,不过这一消息未得到官方证实。
一同披露的招股书显示,贝壳的股权结构已较两年前美股上市时发生了较大变化。
2019年3月,链家升级为贝壳后,贝壳曾宣布完成了两轮36亿美元融资,高瓴资本、腾讯、红杉基金、软银集团等都在列。2020年8月,贝壳找房在纽交所上市。招股书显示,当时左晖持股占比46.8%,彭永东持股为3.6%。在机构类股东里,腾讯以12.3%的持股比例排在第一位,软银10.2%、高瓴5.3%紧跟其后。
2021年以来,不少机构纷纷减持,融创中国在半年时间里两次减持贝壳,合计套现约为10.84亿美元。据新华财经数据显示,从2021年2月8日至年末,软银旗下机构减持约3200万股,高瓴资本减持约8700万股,持股比例降至3.3%。
最新披露的股权书,港交所上市完成后,彭永东持股占比4.8%,左晖家族持股23.3%,腾讯持股10.8%,软银、高瓴资本的名字已看不到。
贝壳这一年:亏损、裁员、过冬
行业动荡,守住基本面了吗?
两年前,贝壳在纽交所的发行价为20美元/股,上市当天市值便达到了431亿美元。此后,贝壳的股价一路高涨,最高时曾达到79美元/股,市值970亿美元,跻身互联网企业市值前十行列。
然而,好景不长。2021年5月,贝壳二十年掌舵人左晖因病离世,彭永东担任公司董事长兼CEO。此后,房产行业的形势变差,叠加中概股整体颓势以及疫情的影响,种种因素之下,贝壳的股价一路下跌。
截至5月10日,贝壳美股报11.37美元/股,几乎是发行价的一半,较最高点跌去了85%,总市值148.8亿美元,相较于高点蒸发800多亿美元。
最新招股书显示,过去的2019年、2020年和2021年,贝壳分别实现营收460.01亿、704.81亿和807.52亿元,净亏损分别为21.80亿、27.78亿和5.25亿元。经调整后,净利润分别为7.75亿、50.31亿和10.14亿元。
贝壳这一年:亏损、裁员、过冬
制图 / 深燃
房产领域从业者叙言对深燃分析:“从2020年下半年整个行业都进入了调整期,在行业艰难的情况下,贝壳营收还在增长,已经不易。”据他观察,这几年贝壳的增长主要来源于规模的扩大,贝壳在全国各地有几百个加盟或合作的品牌,规模扩大也带来了收入增加。
某互联网房产平台前员工张扬提到,贝壳对行业做的贡献是有目共睹的,他们把数据采集、行业信息规范都做好了。“贝壳业务中,链家一直都是赚钱的,公司最扎实的也还是长期居于行业头部的链家的房产中介业务。目前虽然房地产市场可能阶段性到达天花板了,但未来行业交易需求还在,这也是个利润空间不错的行业。贝壳依然有立足空间,只是规模可能会受行业影响,公司只要继续做好中介业务,基本面就是在的。”
在房屋交易主业的基础上,链家近年来的新动作是升级了门店。
也许你在经过链家门店时会发现,其空间布局越来越不像传统意义上的中介门店,以往的小空间、格子办公区、不停打电话的销售场景被如今的窗户前的吧台高脚凳、一侧的书架、暖光色调下的会客区所取代,卖房的同时门店兼具共享办公和读书卡座的功能。
大部分链家门店还专门辟出了帮周围居民收发快递的架子,门口放有备用雨伞,门店内还能免费打印。甚至于,有的链家门店已经开始试点社区便利店服务了,常见的饮料、零食、方便食品、米油面、纸巾都有出售,还有门店成了社区团购的自提点。这是链家一再强调的邻居属性,他们要“在社区里和邻居打成一片”。
张扬分析,贝壳这样做的逻辑是因为房屋交易是低频行为,链家门店升级为社区服务站,把所有的高频服务叠加进来,去做商业化的变现。在他看来,链家有门店有人,成本天然就被摊低了,做零售,人货场能解决,有的门店每天有几百个快递,也有流量,理论上来说胜算比别人大一点。
但是据他了解,“贝壳的新业务推进过程中,来自老业务负责人阻力太大了,首先,在用人原则上,他们倾向于用链家的资深员工做负责人,公司的理念是,‘中介是最难的事情,链家人既然能把中介干好,别的事情也能干好’,导致新业务欠缺专业的人来做;第二,公司对新业务持续投入信心不足,很多门店做了升级,后续的运营没有跟上。而目前来看,公司也在裁员,能够支撑放手做新业务的底气不太足了。”
叙言则认为,链家便利店的做法,对于主业很难有直接的促进作用,无非是增加邻里之间的关系,会换来好的口碑和声誉,更多的是品牌宣传的作用。
尽管房地产市场降温,入局的玩家却还在增加。龙湖“塘鹅”、万物云“朴邻”、富力物业“富邻”、碧桂园的“有瓦”等开发商旗下品牌也来分一杯羹。2020年9月,阿里和易居官宣成立天猫好房,一年后推出单边委托服务 “无忧卖房”,仅收取一万元服务费。另外有消息称,字节跳动旗下房产板块“幸福里”并购房产经纪公司麦田的程序也在进行中。
房产中介这门老生意,还在进行新的战争。
贝壳这一年:亏损、裁员、过冬
突破新业务还需时日
老业务基本稳定,贝壳的新业务表现如何?
2021年11月25日,贝壳正式提出“一体两翼”战略,“一体”即二手和新房交易服务赛道,“两翼”分别为整装大家居事业群与普惠居住事业群,号称要采用已被验证的“先纵再横”的拓展模式重塑家装家居行业。
事实上,左晖还在任时,贝壳就推出了家居服务平台“被窝家装”,2021年,被窝家装向客户交付了超过3500个家装项目。同时,2021年贝壳还推出了自有的Home SaaS家装家居系统。
最近,贝壳在家居方面又有了大动作,4月20日,贝壳宣布完成对家装家居品牌圣都的收购,价格约折合人民币80亿元。公开资料显示,圣都家装成立于2002年,主营业务房屋整装,业务主要集中在江浙地区。截至2021年末,圣都家装在全国31个城市开设110余家门店,累计服务超15万家庭。
彭永东在贝壳2021年报业绩会上称,“贝壳家装业务已经实现了从0到1,圣都将让贝壳家装业务更快实现从1到100的规模化复制。”
叙言认为,贝壳的战略方向没有问题,“理论上说,房产中介非常懂房子,客户买完房,下一步就是设计、装修、买家具,房产交易是这里面最早的一环,也是流量的发源地,买房是低频业务,掌握了这个流量之后把后续的价值利用起来,思路是对的。”
问题出在专业性上。“装修的环节多,供应链长,又是一个劳动密集型行业,要靠管控,对于一个没有这样基因的公司,有非常多的坑等着要踩。”他举例,曾经就有很多企业放下豪言壮语要入局,像国美,最后碰了一鼻子灰。
“收购圣都,说明贝壳很想通过引入专业的人让公司补齐专业能力,实际上,圣都在浙江通过比较长的时间做出来了自己的品质和口碑,但这些东西很难快速复制。东易日盛在北京做得就很不错,但走了全国的扩展之路后发展并不理想。”他认为,自己的品牌往外裂变都非常难,如果品牌再杂交,实现起来就更难了,“如果能坚持下去,也有机会,但需要耐心。”
至于贝壳所提到的另一翼,“普惠居住事业群”,具体表现是,2021年底,贝壳推出“贝壳租房”,进军长租行业。2022年2月10日,贝壳宣布其投资共建的首个青年公寓项目在上海徐汇区落地,由老旧厂房改造而来,项目总体量达2978套。
有人提问贝壳此举是否会跟从事长租公寓业务的兄弟公司自如引起内部竞争,贝壳方面的回复是:“贝壳租房将和自如开展更多合作,在面向租房业主时共同提供多元化服务模式。”
张扬了解到,贝壳租房的业务以公寓项目为主,“目前主要承接的是一些政府相关的工程,很难赚钱。另外,受蛋壳等爆雷事件影响,用户对集中式公寓还有一点戒备心。”
从贝壳2021年第四季财报来看,包含家居装修和房屋租赁在内的新兴服务收入为5亿元,对营收贡献短期内还有限。
不过,两位业内人士一致认为,比起以上问题,贝壳更大的挑战在于团队。
叙言提到,本身贝壳规模变大有很大一部分原因在于“买买买”,他们在全国范围内通过收购或加盟引进过来很多品牌,比如上海的德佑、广州的满堂红、大连的好旺角、四川的伊诚、深圳的中联等。“他们来自不同的地方,业务能力都不错,但缺乏凝聚力。而贝壳内部山头、派系文化不休,越位、抢功、抢资源、抢权力等现象可能严重影响团队的稳定和凝聚,未来,如果贝壳处理好人员关系,业务上的困难都好克服,但如果过不了这一关,挑战会更大。”
整体上来看,贝壳的新老业务呈一攻一守之势。老业务虽有下滑,但在行业整体下行的大背景下,贝壳算是守住了自己的阵地;再看新业务,贝壳重拳出击的第二增长曲线,目前还没有明显成果。
*题图来源于网络。应受访者要求,文中张扬、叙言为化名。
 

—【 THE END 】—

转自:https://mp.weixin.qq.com/s/_Jco19MYMPkDI9zEUC_4ug