Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控

 

文 | 某某白米饭

来源:Python 技术「ID: pythonall」

Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控

psutil 是一个跨平台库(http://pythonhosted.org/psutil)能够获取到系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。主要用来做系统监控,性能分析,进程管理。支持 Linux、Mac OS、Windows 系统。

本文以 psutil 模块获取系统信息开发一个监控 Mac OS 系统的平台。

Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控

准备工作

技术选择

  • 监控的系统是 Mac OS 系统
  • 监控系统模块选择 psutil 模块
  • Web 框架选择的是 Flask 框架
  • 前端 UI 选择的是 Bootstrap UI
  • 动态可视化图表选择 Pyecharts 模块

安装 psutil

  •  
pip3 install psutil

安装 Flask、pyecharts、Bootstrap

  • Flask 的教程是在公众号文章:Web 开发 Flask 介绍
  • Pyecharts 的教程在公众号文章:Python 图表利器 pyecharts,按照官网 (http://pyecharts.org/#/zh-cn/web_flask) 文档整合 Flask 框架,并使用定时全量更新图表。
  • Bootstrap 是一个 前端的 Web UI,官网地址是 (https://v4.bootcss.com)

Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控

获取系统信息

CPU信息

通过 psutil 获取 CPU 信息

>>> import psutil
# 获取当前 CPU 的利用率>>> psutil.cpu_percent()53.8
# 获取当前 CPU 的用户/系统/空闲时间>>> psutil.cpu_times()scputimes(user=197483.49, nice=0.0, system=114213.01, idle=1942295.68)
# 1/5/15 分钟之内的 CPU 负载>>> psutil.getloadavg()(7.865234375, 5.1826171875, 4.37353515625)
# CPU 逻辑个数>>> psutil.cpu_count()4
# CPU 物理个数>>> psutil.cpu_count(logical=False)2

在监控平台上每 2 秒请求 url 获取 CPU 负载,并动态显示图表

cpu_percent_dict = {}def cpu():    # 当前时间    now = time.strftime('%H:%M:%S', time.localtime(time.time()))    #  CPU 负载    cpu_percent = psutil.cpu_percent()    cpu_percent_dict[now] = cpu_percent
# 保持在图表中 10 个数据 if len(cpu_percent_dict.keys()) == 11: cpu_percent_dict.pop(list(cpu_percent_dict.keys())[0])
def cpu_line() -> Line: cpu() # 全量更新 pyecharts 图表 c = ( Line() .add_xaxis(list(cpu_percent_dict.keys())) .add_yaxis('', list(cpu_percent_dict.values()), areastyle_opts=opts.AreaStyleOpts(opacity=0.5)) .set_global_opts(title_opts=opts.TitleOpts(title = now + "CPU负载",pos_left = "center"), yaxis_opts=opts.AxisOpts(min_=0,max_=100,split_number=10,type_="value", name='%')) ) return c
@app.route("/cpu")def get_cpu_chart(): c = cpu_line() return c.dump_options_with_quotes()

示例结果

Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控

内存

通过 psutil 获取内存和交换区信息

# 系统内存信息 总内存/立刻可用给进程使用的内存/内存负载/已使用内存/空闲内存/当前正在使用或者最近使用的内存/未使用的内存/永久在内存>>> psutil.virtual_memory()svmem(total=8589934592, available=2610610176, percent=69.6, used=4251074560, free=387874816, active=2219110400, inactive=2069094400, wired=2031964160)
# 交换区内存 总内存/使用的内存/空闲的内存/负载/系统从磁盘交换进来的字节数(累计)/系统从磁盘中交换的字节数(累积)>>> psutil.swap_memory()sswap(total=2147483648, used=834404352, free=1313079296, percent=38.9, sin=328911147008, sout=3249750016)

在监控平台上每 2 秒请求 url 获取内存负载,并动态显示图表

def memory():    memory = psutil.virtual_memory()    swap = psutil.swap_memory()    # 在 Mac OS 上 未使用内存 = 总内存 - (空闲内存 + 未使用内存)    return memory.total, memory.total - (memory.free + memory.inactive), memory.free + memory.inactive, swap.total, swap.used, swap.free, memory.percent

def memory_liquid() -> Gauge: mtotal, mused, mfree, stotal, sused, sfree, mpercent = memory() c = ( Gauge() .add("", [("", mpercent)]) .set_global_opts(title_opts=opts.TitleOpts(title="内存负载", pos_left = "center")) ) return mtotal, mused, mfree, stotal, sused, sfree, c
@app.route("/memory")def get_memory_chart(): mtotal, mused, mfree, stotal, sused, sfree, c = memory_liquid() return jsonify({'mtotal': mtotal, 'mused': mused, 'mfree': mfree, 'stotal': stotal, 'sused': sused, 'sfree': sfree, 'liquid': c.dump_options_with_quotes()})

示例结果

Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控

磁盘

通过 psutil 获取磁盘大小、分区、使用率和磁盘IO

# 磁盘分区情况>>> psutil.disk_partitions()[sdiskpart(device='/dev/disk1s5', mountpoint='/', fstype='apfs', opts='ro,local,rootfs,dovolfs,journaled,multilabel'), sdiskpart(device='/dev/disk1s1', mountpoint='/System/Volumes/Data', fstype='apfs', opts='rw,local,dovolfs,dontbrowse,journaled,multilabel'), sdiskpart(device='/dev/disk1s4', mountpoint='/private/var/vm', fstype='apfs', opts='rw,local,dovolfs,dontbrowse,journaled,multilabel'), sdiskpart(device='/dev/disk1s3', mountpoint='/Volumes/Recovery', fstype='apfs', opts='rw,local,dovolfs,dontbrowse,journaled,multilabel')]
# 磁盘的使用情况 磁盘总大小/已使用大小/空闲大小/负载>>> psutil.disk_usage('/')sdiskusage(total=250790436864, used=10872418304, free=39636717568, percent=21.5)
# 磁盘IO 读取次数/写入次数/读取数据/写入数据/磁盘读取所花费的时间/写入磁盘所花费的时间>>> psutil.disk_io_counters()sdiskio(read_count=26404943, write_count=11097500, read_bytes=609467826688, write_bytes=464322912256, read_time=7030486, write_time=2681553)

在监控平台上每 2 秒请求 url 获取磁盘信息,并动态显示图表

disk_dict = {'disk_time':[], 'write_bytes': [], 'read_bytes': [], 'pre_write_bytes': 0, 'pre_read_bytes': 0, 'len': -1}def disk():    disk_usage = psutil.disk_usage('/')    disk_used = 0    # 磁盘已使用大小 = 每个分区的总和    partitions = psutil.disk_partitions()    for partition in partitions:        partition_disk_usage = psutil.disk_usage(partition[1])        disk_used = partition_disk_usage.used + disk_used
now = time.strftime('%H:%M:%S', time.localtime(time.time())) count = psutil.disk_io_counters() read_bytes = count.read_bytes write_bytes = count.write_bytes # 第一次请求 if disk_dict['len'] == -1: disk_dict['pre_write_bytes'] = write_bytes disk_dict['pre_read_bytes'] = read_bytes disk_dict['len'] = 0 return disk_usage.total, disk_used, disk_usage.free # 当前速率=现在写入/读取的总字节-前一次请求写入/读取的总字节 disk_dict['write_bytes'].append((write_bytes - disk_dict['pre_write_bytes'])/1024) disk_dict['read_bytes'].append((read_bytes - disk_dict['pre_read_bytes'])/ 1024) disk_dict['disk_time'].append(now) disk_dict['len'] = disk_dict['len'] + 1 # 把现在写入/读取的总字节放入前一个请求的变量中 disk_dict['pre_write_bytes'] = write_bytes disk_dict['pre_read_bytes'] = read_bytes # 保持在图表中 50 个数据 if disk_dict['len'] == 51: disk_dict['write_bytes'].pop(0) disk_dict['read_bytes'].pop(0) disk_dict['disk_time'].pop(0) disk_dict['len'] = disk_dict['len'] - 1
return disk_usage.total, disk_used, disk_usage.free

def disk_line() -> Line: total, used, free = disk() c = ( Line(init_opts=opts.InitOpts(width="1680px", height="800px")) .add_xaxis(xaxis_data=disk_dict['disk_time']) .add_yaxis( series_name="写入数据", y_axis=disk_dict['write_bytes'], areastyle_opts=opts.AreaStyleOpts(opacity=0.5), linestyle_opts=opts.LineStyleOpts(), label_opts=opts.LabelOpts(is_show=False), ) .add_yaxis( series_name="读取数据", y_axis=disk_dict['read_bytes'], yaxis_index=1, areastyle_opts=opts.AreaStyleOpts(opacity=0.5), linestyle_opts=opts.LineStyleOpts(), label_opts=opts.LabelOpts(is_show=False), ) .extend_axis( yaxis=opts.AxisOpts( name_location="start", type_="value", is_inverse=True, axistick_opts=opts.AxisTickOpts(is_show=True), splitline_opts=opts.SplitLineOpts(is_show=True), name='KB/2S' ) ) .set_global_opts( title_opts=opts.TitleOpts( title="磁盘IO", pos_left="center", pos_top="top", ), tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"), legend_opts=opts.LegendOpts(pos_left="left"), xaxis_opts=opts.AxisOpts(type_="category", boundary_gap=False), yaxis_opts=opts.AxisOpts( type_="value", name='KB/2S'), ) .set_series_opts( axisline_opts=opts.AxisLineOpts(), ) )
return total, used, free, c
@app.route("/disk")def get_disk_chart(): total, used, free, c = disk_line() return jsonify({'total': total, 'used': used, 'free': free, 'line': c.dump_options_with_quotes()})

示例结果

Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控

网卡

通过 psutil 获取网络接口和网络连接的信息

# 获取网络字节数和包的个数 发送的字节数/收到的字节数/发送的包数/收到的包数>>> psutil.net_io_counters()snetio(bytes_sent=9257984, bytes_recv=231398400, packets_sent=93319, packets_recv=189501, errin=0, errout=0, dropin=0, dropout=0)
# 获取当前的网络连接 注意:net_connections() 需要用管理员权限运行 Python 文件>>> psutil.net_connections()[sconn(fd=6, family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_STREAM: 1>, laddr=addr(ip='192.168.5.31', port=50541), raddr=addr(ip='17.248.159.145', port=443), status='ESTABLISHED', pid=1897), sconn(fd=12, family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_STREAM: 1>, laddr=addr(ip='192.168.5.31', port=50543), raddr=addr(ip='17.250.120.9', port=443), status='ESTABLISHED', pid=1897), sconn(fd=6, family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_DGRAM: 2>, laddr=addr(ip='0.0.0.0', port=0), raddr=(), status='NONE', pid=1790),sconn(fd=10, family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_DGRAM: 2>, laddr=addr(ip='0.0.0.0', port=0), raddr=(), status='NONE', pid=1790),sconn(fd=11, family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_DGRAM: 2>, laddr=addr(ip='0.0.0.0', port=0), raddr=(), status='NONE', pid=1790),...sconn(fd=30, family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_DGRAM: 2>, laddr=addr(ip='0.0.0.0', port=137), raddr=(), status='NONE', pid=1),sconn(fd=31, family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_DGRAM: 2>, laddr=addr(ip='0.0.0.0', port=138), raddr=(), status='NONE', pid=1)]
# 获取网络接口信息>>> psutil.net_if_addrs(){'lo0': [snicaddr(family=<AddressFamily.AF_INET: 2>, address='127.0.0.1', netmask='255.0.0.0', broadcast=None, ptp=None), snicaddr(family=<AddressFamily.AF_INET6: 30>, address='::1', netmask='ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff', broadcast=None, ptp=None), snicaddr(family=<AddressFamily.AF_INET6: 30>, address='fe80::1%lo0', netmask='ffff:ffff:ffff:ffff::', broadcast=None, ptp=None)], ..., 'utun1': [snicaddr(family=<AddressFamily.AF_INET6: 30>, address='fe80::b519:e5df:2bd4:857e%utun1', netmask='ffff:ffff:ffff:ffff::', broadcast=None, ptp=None)]}
# 获取网络接口的状态>>> psutil.net_if_stats(){'lo0': snicstats(isup=True, duplex=<NicDuplex.NIC_DUPLEX_UNKNOWN: 0>, speed=0, mtu=16384), ...'utun1': snicstats(isup=True, duplex=<NicDuplex.NIC_DUPLEX_UNKNOWN: 0>, speed=0, mtu=2000)}

在监控平台上每 2 秒请求 url 获取网卡IO,并动态显示图表

net_io_dict = {'net_io_time':[], 'net_io_sent': [], 'net_io_recv': [], 'pre_sent': 0, 'pre_recv': 0, 'len': -1}def net_io():    now = time.strftime('%H:%M:%S', time.localtime(time.time()))    # 获取网络信息    count = psutil.net_io_counters()    g_sent = count.bytes_sent    g_recv = count.bytes_recv
# 第一次请求 if net_io_dict['len'] == -1: net_io_dict['pre_sent'] = g_sent net_io_dict['pre_recv'] = g_recv net_io_dict['len'] = 0 return
# 当前网络发送/接收的字节速率 = 现在网络发送/接收的总字节 - 前一次请求网络发送/接收的总字节 net_io_dict['net_io_sent'].append(g_sent - net_io_dict['pre_sent']) net_io_dict['net_io_recv'].append(g_recv - net_io_dict['pre_recv']) net_io_dict['net_io_time'].append(now) net_io_dict['len'] = net_io_dict['len'] + 1
net_io_dict['pre_sent'] = g_sent net_io_dict['pre_recv'] = g_recv
# 保持在图表中 10 个数据 if net_io_dict['len'] == 11: net_io_dict['net_io_sent'].pop(0) net_io_dict['net_io_recv'].pop(0) net_io_dict['net_io_time'].pop(0) net_io_dict['len'] = net_io_dict['len'] - 1

def net_io_line() -> Line: net_io()
c = ( Line() .add_xaxis(net_io_dict['net_io_time']) .add_yaxis("发送字节数", net_io_dict['net_io_sent'], is_smooth=True) .add_yaxis("接收字节数", net_io_dict['net_io_recv'], is_smooth=True) .set_series_opts( areastyle_opts=opts.AreaStyleOpts(opacity=0.5), label_opts=opts.LabelOpts(is_show=False), ) .set_global_opts( title_opts=opts.TitleOpts(title="网卡IO/2秒"), xaxis_opts=opts.AxisOpts( axistick_opts=opts.AxisTickOpts(is_align_with_label=True), is_scale=False, boundary_gap=False, ), )) return c
@app.route("/netio")def get_net_io_chart(): c = net_io_line() return c.dump_options_with_quotes()

示例结果

Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控

进程

通过 psutil 可以获取所有进程的信息

  •  
# 所有进程的 pid>>> psutil.pids()[0, 1, 134, 135, 138, 139, 140, 141, 144, 145, 147, 152, ..., 30400, 97792]
# 单个进程>>> p = psutil.Process(30400)
# 名称>>> p.name()'pycharm'
# 使用内存负载>>> p.memory_percent()12.838459014892578
# 启动时间>>> p.create_time()1587029962.493182
# 路径>>> p.exe()'/Applications/PyCharm.app/Contents/MacOS/pycharm'
# 状态>>> p.status()'running'
# 用户名>>> p.username()'imeng'
# 内存信息>>> p.memory_info()pmem(rss=1093005312, vms=9914318848, pfaults=7813313, pageins=8448)

列出所有不需要权限的进程

def process():    result = []    process_list = []    pid = psutil.pids()    for k, i in enumerate(pid):        try:            proc = psutil.Process(i)            ctime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(proc.create_time()))            process_list.append((str(i), proc.name(), proc.cpu_percent(), proc.memory_percent(), ctime))        except psutil.AccessDenied:            # 需要管理员权限            pass        except psutil.NoSuchProcess:            pass        except SystemError:            pass                # 按负载排序        process_list.sort(key=process_sort, reverse=True)
for i in process_list: result.append({'PID': i[0], 'name': i[1], 'cpu': i[2], 'mem': "%.2f%%"%i[3], 'ctime': i[4]})
return jsonify({'list', result})
def process_sort(elem): return elem[3]
@app.route("/process")def get_process_tab(): c = process() return c
@app.route("/delprocess")def del_process(): pid = request.args.get("pid") os.kill(int(pid), signal.SIGKILL) return jsonify({'status': 'OK'})

示例结果

Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控

process.gif

总结

本文以 Psutil + Flask + Pyecharts + Bootstrap 开发一个简单的系统监控平台,可以算做是本公众号内容的一个学以致用。在 Psutil 还有许多方法文章没有列举感兴趣的小伙伴可以去尝试并使用。

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

走,上快手做教育去

♪ 作者|芥末堆 梅初九

♪ 来源|芥末堆看教育

走,上快手做教育去

一、每一天,都有很多人在快手讲课

2020开年,教育行业的最大黑马,应属快手无疑了。

每天晚上7点到10点,打开快手,会看到各个学科、各个学段的老师,开着直播,讲课,每天一个知识点,一个直播间几十上百个老铁学生。

芥末堆自己也在3月底开了自己的快手账号,每天日更三条教育相关的资讯和新闻。非常有意思的是,在快手,芥末堆的用户占比中,12-26岁的用户比例占到了76.3%,其中,绝大部分观众都在如河北保定、山东淄博类的二三四线城市。

而我自己也参加过一次快手官方举行的教育掌门人活动,直播2个小时,直播数据是:收到黄钻320万,得到8100次点赞,直播观看人数46500人。目前,我的个人号粉丝才3000人出头。

这种情况并不是孤例,在快手上,目前已经是普遍现象。原来做线下体能的小飞教练,在快手说健康,他2020年开的号,现在26000粉丝,快手课堂里上架了5个付费视频课。他说:“我每天除了在快手收入平均800多人民币之外。还有一部分转化到线下高价课的客户。”小飞教练线下收费为2000元一小时。

垂直于教育行业的早期投资机构北塔资本,创始合伙人沈文博从2月1日开始,每天晚上十点在快手开聊天室,主题只有一个:来快手,做教育。不光是北塔资本,北塔所投的上百个初创公司,也纷纷在快手上开了自己的号。据内部消息,北塔资本已经陆陆续续投资了几个在快手运营的早期创业项目,其中一个早期项目已经成功实现在快手月收入千万。

二、进化后的快手,正成为教育的流入地

快手大数据研究院发布的“2019快手内容生态报告”,更新了快手的内容生态发展状况,涵盖平台增长、12个垂类发展、生态升级等最新变化。通过分析快手2019年在内容、用户、生态方面的进化,报告归纳了三个最重要的变化:往高处行,向深处游,自当下始。日活用户持续增长,一二线城市成“新用户池”。

在教育领域的表现则为:教育类短视频累计高达2亿,教育短视频作者已超过99万,覆盖用户1个亿。快手官方显然注意到教育领域在快手上的指数增长,2019年9月启动“教育生态合伙人计划”,11月宣布对“快手光合·教育生态合伙人计划”进行全面升级,在春节前拿出66.6亿流量进行精准扶持,助力快手教育账号冷启动。

这是快手第一次正式向“人人皆用户”的万亿级市场教育行业,伸出的第一根橄榄枝。

2020的疫情“黑天鹅”,更是加速了快手布局教育的决心,上线快手教育生态“停课不停学”专栏,联合32家教育机构为K12学生、职场人士等用户提供免费课程。好未来、跟谁学、爱学习、网易有道、学霸君、猿辅导等40余家教育机构与快手达成合作。课程品类涵盖K12、学前教育以及职业教育,课程数量达2万门以上。业内普遍认为,这是“快手教育”进入教育行业的标志性节点。随后,快手趁热打铁,又给予教育行业50亿流量扶持,并与开封市教体局达成合作,针对开封市初三、高三年级学生推出覆盖全科、全免费的假期在线辅导课程。根据官方披露数据,人均听课时长超过30分钟,观看总人次29.8万。

至此,继腾讯、阿里、华为、字节、网易、百度之后,快手成为互联网又一大户进入教育,这个传承千年但仍旧生机勃勃的长青领域。

同时,数万家教育机构,数百万名线下教育从业者,也纷纷蜂拥至快手。

三、疫情期间没开门,但我快手用户百万了

疫情影响对无数线下店产生了巨大影响,一部分危机感极强的教育公司和创始人,敏锐地抓住快手这个机会。

悠贝早教的创始人林丹告诉芥末堆,疫情期间线下业务全部暂停,“我们发现了快手的下沉渠道,尤其是同城这一块非常强,这种属性比较适合人带人,以地域为单位去覆盖用户,和我们的教育业务天然匹配。”从3月开始,悠贝全力奔赴快手,目前在快手上已拥有500多个账号。

对于线下少儿美术品牌宝贝计画创始人杨帅来说,也是如此。“我们的线下店,特殊时期响应政府号召暂不开业,加上短视频红利期,所以选择了快手。”目前宝贝计画的主账号“杨帅教画画-宝贝计画”粉丝数量已达86.7万。在变现上,宝贝计画转化到小班直播课学员,已实现月均30万左右,并且还在增长中。在投入上,宝贝计画也就2个人在做,一个画画老师,一个视频剪辑,纯粹靠内容吸引,没有涨分成本,目前日新增一万以上。“我自己现在每天晚上八点还在快手直播讲艺术大师课。我一直有一个心愿,讲艺术普世普惠更给多人。”杨帅笑着说:“马上没几天我也是百万大号了,没想到在快手这么快就现实照进理想了!”

他们的经历和思考,对于快手的原生教育号“老黄说英语”的老黄来说,在快手做教育更是天经地义的一件事。“我从2016年就开始做快手了。到现在300多万粉丝,我没有团队就我一个人,平均月收入在60万左右吧。”

在“新东方洪哥”还未在快手开直播之前,另外一个教烹饪的新东方教育,已在快手耕耘多年成大户:做视频,开直播,招生获客,品牌宣传。

粉丝数量仅仅是第一步,新入驻的教育公司或是老师们还要同步解决变现问题。林丹告诉芥末堆,目前测试下来,快手上有三个比较合适的变现方式,卖书、卖付费课程,以及接入供应链之后的带货分销。“五月时我们预期是百万量级的收入。”

林丹等并非是在快手第一波吃螃蟹的人,但的确是享受到第一波快手教育红利的人。在最近一次悠贝在快手上的比赛活动中,累计14天,悠贝快手矩阵带动老铁们共同参与,#牛娃养成记#标签中上传作品5573个,累计播放量8312万次。悠贝矩阵整体涨粉4万多,平均每个账号精准涨粉在120上下。涨粉成本略等于无。

四、用户有需求,供给端还是蓝海

林丹告诉芥末堆,“我们很清晰,上快手并不是为了品牌宣传,而是直接作为一个新的生态业务布局来投入。教育在快手这个板块上肯定会越来越好,因为用户上来之后,他的各种需求肯定都有,走过第一轮野蛮生长之后,后面的用户需求也会分门别类和找到更好的产品满足。比起担心快手教育的市场,我们现在更为专注于内部中台能力的构建,以期届时能承接住快手用户的需求满足。”

这就好像沈文博在“场长教育主播圈”聊天室时,总会接到很多从业者咨询时的隐忧:“快手适合做教育吗?”

沈文博的经典回答是:“3亿dau,要啥没有?干就完了。”沈文博认为,“快手+教育为代表的短视频+直播教育是2020年教育领域创业一个最大的机会。”北塔资本已经在重仓快手上的教育创业项目,同时,北塔资本还联合快手官方一起帮助教育创业者发掘在快手上的机会。

本质上,快手目前存在两类用户:一是有进阶优秀产品需求的老铁,二是新涌入的一二线用户。两类用户的共性都是需求有,而目前快手上教育的优质供给不足。

坊间有一种戏谑总结:刷抖音,玩快手。

“玩”和“一起玩”构建出快手的社区社交属性,本质上也天然契合于教育里人和人构建信任的属性。2011年创办的快手,已经形成了自己独特的社区文化——老铁文化。主播和用户之间,长期通过直播互动建立起深厚信任关系,所以,快手用户,当他们喜欢一个主播的时候,他们会在自己的名字后面加上一个后缀:某家军,这就是铁忠粉。对于教育领域而言,这便是极大的优势,教育的核心之一是信任,客户选我,认真交付,继续选我,用户生命周期就可以很长。

教育培训行业两家大公司,新东方、好未来,无一不是这样耕耘出来的。

五、认真做课,普通人也有机会和可能

正因为此,在快手上做教育,就并不是简单粗暴的投放逻辑。

2014年的时候,百度来自教育的投放收入就是新东方好未来净利之和还多一些。他俩加起来30个亿不到,百度教育的广告费,30多个亿。

算起来,这都是血淋林的吃骨者,教育领域高居不下的获客之痛,基本上盘剥走了整个行业收入的40%,甚至更多。

但是目前,在快手,这笔费用投入是不存在的。所需要做的事情非常简单:认真做号,认真拍视频,认真开直播。给到用户物超所值的在线付费课程和服务。

一位不愿透露名字的独角兽创业公司创始人告诉芥末堆,“我们内部算过一笔账,把过往的市场投放费用预算,转到快手m

1.观念转变挑战,即为开篇提到的,教育领域目前大部分感知都是快手土味、娱乐化、不适合教育等等。在撰写本文之前,我在自己的朋友圈做了个小调查:票圈调查,留言你对快手教育的观点。得到的回复是:没印象类+2;不清楚类+5;快手不是只有老铁吗类+7;杂而不精类+4;少数头部玩家和手艺人的机会类+1;势不可挡类+1。

我个人微信超过5000好友,99%是来自教育各个领域的从业者。这虽然不是严谨意义上的批量市场调查,但我认为它有一定的典型代表:如何看待快手。

2.组织迭代挑战。对于中心化运作的教育机构而言,快手做号的组织形态在根本上发生了变化,更像是类mcn机构且去中心化。老师与机构的关系很大可能不再是纯粹的雇员拿课时费的关系,老师在视频和直播的同时,也完成了原本销售和市场的招生获客工作,包括售后服务和长期客群维护,也都发生了本质变化。如何以新的更适合快手生态逻辑的组织方式来调整和发展业务,也是一大挑战。

当然还有一个原因,对于近几年惯于烧钱迅速获取市场的在线教育而言,在快手上做教育,未必显得太慢了。对于已经初步被工业化作业的部分教育公司而言:批量大额投放广告,巨量callcenter团队转化,老师在线服务,班主任和辅导老师跟单客户续费。这样的流水线作业和迅速起量,更为性感也更受资本青睐。快手不然,快手需要耕耘。教育的慢与教育市场的快。我想这应该是教育行业留给官方待思考和解决的核心问题,尤其对于想成为教育新基建的快手而言。

这是快手自己的挑战。并且,快手同样也需要思考自己的边界:是选择成为教育的新基建之一,生态维护者,还是像隔壁家一样,相信大力出神迹,有用户、数据、团队、充足资金,教育的什么品类看着不错有前(钱)景,自己也下海做做?

但无论怎样,正如一位在快手上做了很多年的素人老师所说,“快手挺适合做教育的。一个认认真真的教育主播,哪怕成不了百万千万大号,但是有个10万20万粉丝,每个月就算只通过打赏和卖课,也能月入1-2万。快手,是每个普通人的机会和可能。”

走,上快手做教育去

本文作者:梅初九 

芥末堆 跑堂小二兼首席外卖官

产品讨论狂人,商业模式爱好者。

转自:https://mp.weixin.qq.com/s/5CUsNOT44LCMU7AC-GT4cw

日本最大灰产:年收入是美国赌城30倍

 

日本最大灰产:年收入是美国赌城30倍

 

作者:正解局

来源:正解局(ID:zhengjieclub)

 

有种说法,在日本,除了色情业外,最能展现人欲望的就是“弹子房”。

 

实际上,安倍发迹和弹子房也有着密切关系,而且,日本弹子房流行背后还有一股来自朝鲜的势力。

 

据说,日本人每年花在弹子房上的钱高达2000亿美元,几乎是拉斯维加斯赌博收入的30倍。

 

那么,弹子房(パチンコ)到底是个什么东西?

 

01

把政府防疫要求,当作耳边风

 

可能出乎很多人的意料,日本现在成了整个东亚疫情最严重的地区,现存确诊病人超过1.1万(相比之下韩国是1300多,中国更只剩700多)。

 

安倍也不得不宣布,把紧急事态宣言期限延长到5月31日。

 

不过,有意思的是,在“紧急事态”下,弹子房店却照常营业,政府干着急,也没办法。

 

像大阪府知事吉村洋文就在政府网站和新冠疫情通报会上,直接点名几家弹子房,呼吁大家不要去。

 

不过,讽刺的是,在第二天一大早,弹子房门口就有一两百人排起了长龙,连停车场都快停满了。

 

等一开门,店里人数就增长到了300多人。

 

日本最大灰产:年收入是美国赌城30倍

 

店家在接受媒体采访时,更是强硬表示:即使被点名批评,但也会照常营业,而且还能替我们宣传,扩大知名度。

 

像神奈川、茨城、群马县都先后公布了不听政府劝告而坚持营业的弹子房,结果一样,不但没有起到制裁震慑的作用,反而刺激了这些违规店铺的销售。

 

02

其实,就是赌博机

 

弹子房到底有什么魔力,让矜持的日本人,不顾疫情,非要排长龙去玩两把?

 

弹子房,是日本最流行的娱乐场所。

 

多流行呢?曾有统计,日本有10000多家弹子房,在一些小城市的核心地带,可能没有便利店,但你总能很快找到弹子房。

 

弹子房里常见的机器有两种,一种叫“柏青哥”,另一种叫“柏青嫂”。

 

其中,柏青哥在日语里就是弹子。

 

具体玩法是,玩家用现金买了弹珠,然后在机器前,拨动扳手,努力把弹珠送到机器的小孔里。如果成功进入指定区域,就会出现精美的游戏画面并开始抽奖,中奖后就会滚出更多的弹子。

 

日本最大灰产:年收入是美国赌城30倍

 

弹子房装修普遍都很华丽,各种灯光、气球、音效,加上昏天黑地的氛围,人进去后,很容易就没了时间的概念,沉迷于游戏当中。

 

店内门外还经常会有穿着性感的美女揽客。

 

在疫情发生之前,弹子房基本上都是24小时营业,路人很容易被吸引,进去玩两把。

 

日本最大灰产:年收入是美国赌城30倍

 

而且,日本室内基本禁烟,但弹子房却可以自由吸烟,所以,很多老烟民也愿意去玩。

 

一颗弹珠的单价并不高,1—4日元不等(1日元不到人民币7分钱),很多人会误以为玩这个并不会花很多钱。

 

但,事实完全不一样。

 

新手玩基本上就是白忙活。

 

有长期生活在日本的网友就介绍,短短十来分钟,就输掉了2万日元(相当于人民币1300多块)。

 

而这只是开始,连续输钱会激发人本性中不愿意服输的精神,只认为自己一时运气不好。

 

所以,经常是一开始只是输小钱,当反应过来想回头时,往往已经输了成百上千万。

 

想必大家也明白了,这就跟赌博一样。

 

日本最大灰产:年收入是美国赌城30倍

 

而柏青嫂,就直接差不多等同于老虎机。

 

所以,简单地说,弹子房就是一种赌博场所。

 

03

“三店模式”规避了日本刑法

 

日本人对弹子房的痴迷,有时都让人感到吃惊。

 

赌博容易成瘾,弹子房也一样。

 

2017年,日本静冈县湖西市就发生过一起悲剧,一个孩子的父亲带着1岁的儿子去玩柏青哥。

 

因为怕孩子打扰到自己玩游戏,就把孩子留在了车里。

 

这个父亲在弹子房玩了2个小时,回到车里时,发现孩子已经中暑身亡。

 

同样的事情,在日本几乎每年都会发生。

 

我们知道,日本禁止赌博。

 

但弹子房,为什么还能堂而皇之地开店呢?

 

其实,这就牵扯到弹子房的兑换机制,也就是“三店模式”。

 

日本最大灰产:年收入是美国赌城30倍

 

简单地说,在每一家弹子房的周围都会有两家这样的店铺,一家叫做“景品交换所”,另一家叫做“景品问屋”。

 

玩家到弹子房赌博,如果赢了,赢的也只是钢珠。

 

钢珠能在弹子房里兑换等值的特殊礼品,现在为了简便,弹子房直接可以用弹子兑换代币牌。

 

这些牌子大部分都是塑料的,也有用18K黄金填充的。

 

日本最大灰产:年收入是美国赌城30倍

特殊代币,内含18K黄金

 

用户拿着这些特殊礼品或者代币牌,就可以去附近的景品交换所,换取相应的现金。

 

而景品交换所可以拿着这些特殊的礼品或者代币牌,交给景品问屋。弹子房再从问屋回购这些礼品,从而形成三家循环。

 

在这个过程中,三家店铺分属不同的公司运营,以钱换物,以物娱乐,再以物换钱。

 

日本刑法规定,赌博参与者处以50万日元以下罚款,但重点是不包括以一时娱乐为目的,以物作为赌注的情况。

 

也就是说,大家不赌钱,赌点劳力士手表、苹果手机什么的,都不算直接以金钱为赌注,不触犯赌博罪。

 

弹子房正是利用了法律的灰色地带,明目张胆地干着赌博的生意。

 

有媒体说,日本人每年在弹子房挥霍掉的钱高达2000亿美元,差不多是拉斯维加斯赌博收入的30倍。

 

在日本,每年因为弹子房,也会引发无数悲剧。

 

04

先吃白道

 

有人会问,那为什么不修改法律,堵住漏洞?

 

或者,为什么在疫情肆虐之时,日本无论官方还是民间对于弹子房依旧这么忍耐,还能让它们违规开业?

 

其实,主要有三方面原因。

 

首先,最直接的原因,就是弹子房对于日本经济真的很重要。

 

日本最大灰产:年收入是美国赌城30倍

 

在2018年,日本有10060家弹子房。

 

这桩被看作庸俗、肮脏的行业,员工数量超过了日本所有的汽车制造厂商。

 

在最鼎盛的1995年,全国弹子房的营业额达到了30兆9000亿日元,直到现在弹子房产业每年都产生近25万亿日元的经济效益。

 

占日本总GDP的4%以上。

 

可想而知,疫情期间歇业就是等死,损失的不光是GDP,还有成千上万的人会失业。

 

更重要的是,弹子房和日本政界有着坚实的利益链接机制。

 

在日本,各个行业都有自己的协会,像弹子房这么庞大的产业当然也有自己的全国性质协会,叫做パチンコ·チェーンストア協会(弹子房连锁协会),简称PCSA,基本上所有的弹子房都是这个协会的会员。

 

打开这个协会的官方网站,能看到40个日本参众两院的议员,位列“特约顾问”。

 

比如,有曾任自民党农林水产大臣的山本有二,国内曾广为宣传喝马桶水的野田圣子等等。

 

其中,不但有执政的自民党议员,也有来自在野的民主党、维新会的议员。

 

可见,弹子房在日本政界的渗透有多厉害。

 

日本最大灰产:年收入是美国赌城30倍

来自执政党自民党的部分“特约顾问”

 

而弹子房的直接审批机构,叫保安通信协会。

 

这个机构的人大都是来自原日本警视厅响当当的人物。

 

这又牵扯到日本警界一个不成文的规矩派遣制度(天下り):原警视厅即将退休或者已退休的,都会内定安排在这样的协会,待遇还是非常丰厚。

 

所以,弹子房又得到了警察的庇护。

 

甚至,安倍晋三家族和弹子房也有密切联系。

 

安倍政坛发迹的山口县下关市,安倍竞选总部的房屋所有权就属于一家名为東洋エンタープライズ的公司,这家公司自己就经营弹子房连锁店。

 

换句话说,安倍竞选总部的房子,都是从一家弹子房公司租用的。

 

而且在安倍父亲参政时,这家公司就是安倍家族的有力支持者。

 

在2018年,横滨市的一家弹子房开业,有人发现了安倍晋三送来的贺喜花篮。

 

日本最大灰产:年收入是美国赌城30倍

 

真的很难想象,一个国家的最高政府首脑会给一家赌博店送花篮,但在日本的确发生了。

 

05

也吃黑道

 

弹子房不但在白道玩得开,背地里的黑道势力同样不可小觑。

 

在日本,大部分的弹子房经营者都有黑道背景,而且主要为在日本的朝鲜族人。

 

日本最大灰产:年收入是美国赌城30倍

日本绝大多数的弹子房都掌握在日的韩国和朝鲜人手中

 

先前,日本殖民朝鲜半岛,不但掠夺资源,对朝鲜人也实行同化教育,大量掠夺朝鲜劳动力。所以,在二战后,有相当多的朝鲜族人没有返回祖国,而是留在了日本。

 

在那个时代,语言不通,民族不同,他们饱受歧视,所以,很多人无奈干起了烤肉店、拉面店,还有这种弹子房。

 

经过打打杀杀和原始积累后,他们有了现在的成就。

 

日本有一个机构名叫日本朝鲜人总联合会,至今已有六七十年历史。因为日本和半岛北面没有建交,据说,这个联合总会其实就差不多扮演了外交机构的角色。

 

而它的一大半成员,来自遍布全国的弹子房。

 

据说,朝鲜很大一部分外汇收入也来自这里。

 

06

结语

 

对于弹子房的风靡,日本社会学教授加藤英敏曾说:日本是一个人满为患、群体意识浓厚的社会,而弹珠机恰恰是日本人罕见独自一人的活动,你玩的那台机器就是属于你的独立空间。

 

实际上,弹子房是日本最喧闹、最拥挤的地方,人与人紧密地坐在一起,背景音乐动感而嘈杂,巨大的音乐伴随着弹子跌落的声音。

 

在这里,不需要与旁边的人交流,更多的是借这台机器逃离现实的烦恼,将自己全身心地投入到一场又一场的赌博当中。

 

在工作、家庭的双重压力下,弹子房反而成为了一种释放自我得到解脱的好地方。

 

只是,在每个喧闹的街头,在数百万个金属球的碰撞声中,多少人正在其中醉生梦死,又有多少家庭会因此家破人亡。

 

而相关利益者,却各得其所。

 

本文授权转载自:正解局(ID:zhengjieclub)。正解局,一个有见识、有深度、有诚意的时势财经大号,华尔街见闻、雪球、蚂蚁金服、世界经理人等10多家主流财经社区特邀入驻。每天全网阅读超过100万人次,在这里,穿透信息迷雾,正解中国成长的力量。

 

– END –

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

全世界的汽车,都在等待中国人民的拯救!

 

 

过去10多年,高速成长的中国市场,以及中国人民对拥有一辆汽车的强烈渴望,让外资品牌享受到饕餮盛宴,让一众缺乏核心能力的本土品牌都在风口上飞,让中国成为全球车企紧抱的大腿。

但现在,中国人民再也不需要,更救不了那么多的车了。

 

 

01

水土不服

新年伊始,从一只大提琴箱偷渡回祖国后,身在黎巴嫩这座囹圄的卡洛斯·戈恩,依然有些“意难平”。

作为全球汽车业最成功的企业家之一,卸任掌门人之前,他率领日产-雷诺-三菱联盟于2018年达成销量1036万辆,名列汽车集团全球第三。

这个成绩,不但将通用、现代等一众巨头甩在身后,还迎来了与大众、丰田贴身搏杀的关键机会。

遭日方“清退”后,戈恩一手缔造的联盟,业绩正在土崩瓦解:2019年,他见证了自己从破产边缘挽救的日产汽车,销量由565万辆滑落到517万辆;2020年,又见证了雷诺品牌乘用车,将彻底退出中国这一关键市场。

全世界的汽车,都在等待中国人民的拯救!

▲前日产-雷诺-三菱联盟掌门人戈恩

2020年4月14日,东风股份一纸公告,宣布与雷诺的7年“婚姻”走到终点。

如果情感意志可以左右企业进退,东风雷诺是不会作别中国的。

毕竟戈恩在任时,对中国市场几乎事必亲躬。

2016农历小年,他千里迢迢跑到武汉跟东风董事长竺延风聚首,见证了雷诺在中国首家合资工厂竣工、首款合资车落地;担任清华大学经管学院顾问后,又六度走进北京高校,为联盟招徕顶尖人才。

进军中国,一直是戈恩的远大抱负:“未来几年,雷诺会将重心转移至中国,无论建厂还是产品投放。”

但在2017年达到7.22万辆的销量顶峰后,东风雷诺转身跌落。今年1-3月,销量分别为586辆、24辆、53辆。

不知道的,还以为这是一家4S店。

感情上,雷诺在中国本该受到欢迎。2月初,它还向武汉协和医院交付了一批防静电服、防化眼罩等防护用品。

这笔捐赠数额不大,但考虑到企业自身的惨状,这是一次珍贵的捐赠:因坐落武汉,复工延期,其现金流几乎停滞。

但情感对消费的带动很有限,尤其对动辄几十万的汽车来说。

全世界的汽车,都在等待中国人民的拯救!

▲2015年广州车展,东风雷诺请到红极一时的范冰冰来站台

问题出在哪?

中国战略的水土不服,或是关键。

2004年,雷诺就宣布,要在2006年实现国产车型落地,但因为工厂选址、合资条件等细节分歧,这个项目竟然全面停滞。直至2016年实现国产化销售,雷诺彻底错过了中国汽车产业的“黄金十年”。

利益博弈,让定价饱受争议。中方认为,第一辆车定价不能太高,要用销量打开市场;法方坚决反对,认为雷诺有实力高举高打。

于是,雷诺“科雷嘉”以16-22万的定价落了地。

但精明的中国消费者很快发现,与同出“CMF平台”的日产逍客比,两者发动机、变速箱、车身尺寸相差无几,价格却要贵整整1万块。

凭什么?

因为,法国人把雷诺定位为普通消费人买得起的豪华品牌,将其定义成“轻奢”概念。但在中国人看来,这简直是“冤大头”的代名词。

东风雷诺French design & easy for life(法系设计和轻松生活)的宣传语,不如“技术日产”简单实际,卖点突出;一直借以傍身的F1赛事,在中国也知者寥寥。

全世界的汽车,都在等待中国人民的拯救!

▲“法兰西玫瑰”苏菲玛索为长安PSA旗下DS品牌代言

东风雷诺之前,标致、雪铁龙等法系品牌已步入下滑区间,PSA(标致雪铁龙)集团全球CEO唐唯实就曾坦言:“传播方式和对中国消费者的需求理解确实有误。”

此外,还有与中大型车潮流背道而驰的长安铃木、除了法系浪漫别无他物的DS品牌、至今尚未摆脱暴发户标签的捷豹路虎……

这些不能真正在中国市场本土化、难以克服文化鸿沟的合资品牌,要么走向边缘,要么已经出局。

 

 

 

02

技术空壳

当创立于1899年的雷诺、1920年的铃木撤出中国市场时,小众车主还在扼腕叹息,因为赛车、越野的百年技术,一直是他们心中的“白月光”。

但部分中国品牌摇摇欲坠时,看客们反倒风轻云淡。毕竟,外资品牌还可以归结于本土化战略不当,但天时、地利、人和占尽的中国品牌,只能归结于不够努力。

“良心企业”众泰,就行走在暴雷的路上。

众泰的存在,有其合理性。用10万块人民币,国外群众可买不到“途观”、“途锐”和“奥迪Q3”。

2017上海车展,众泰展台引来保时捷CEO Oliver Blume参观。当他站在SR9前,一张带着“谜之微笑”的照片,登上了当天的微博热搜。

10.88万元起的众泰SR9,竟然与最低售价54.5万元的保时捷Macan颇为相似。

全世界的汽车,都在等待中国人民的拯救!

▲保时捷CEO参观众泰汽车展台时“面露不解”

众泰靠“借鉴”一战成名,让保时捷出离愤怒,并公开扬言,要把众泰告上法庭。虽然最终不了了之,但保时捷依然撂下一句狠话:众泰能抄袭外在,抄袭不了内涵。

结果,一语成谶。

2019年,众泰预亏60至90亿元,与前年盈利7.99亿的表现大相径庭;乘联会销量显示,2019年众泰仅售11.66万辆,几仅腰斩。

去年10月,网传的“平安银行展开内部风险排查”通知中,众泰也赫然在列。

盈利时不升级技术,当排放标准由国五向国六切换时,直接导致产品断供、新车难产。接着就是欠薪维权、销量暴跌、负债高企,一连串的连环雷,让众泰的运营体系几近崩溃。

全世界的汽车,都在等待中国人民的拯救!

▲网传有关众泰汽车“风险排查的通知”

华晨汽车,也不复当年之勇。

2019年,旗下华晨中华品牌销量仅4.82万辆,尚不足一款热销车型的单月销量。如何用技术追赶宝马,而非业绩依靠宝马,这位车圈的“富二代”,一直没有找到明确答案。

如今,它连找答案的资格都快要失去。

随着合资股比开放政策落实,华晨宝马的外资持股已由50%提升至75%。这意味着,华晨集团可能没有机会摆脱“代工厂”的命运了。

同样,江淮、银翔、宝沃等稍有耳闻的本土品牌,或因不注重核心技术,或因一味的模仿抄袭,存在时间也所剩无几。

全世界的汽车,都在等待中国人民的拯救!

全世界的汽车,都在等待中国人民的拯救!

▲前途汽车的国产超跑K50

不过,造车新势力的大浪淘沙,不能简单归咎于对技术的毫无渴求。

2018年8月8日,一款名为前途K50的国产超跑上市,该车在外观设计、电气技术、轻量材料等应用上实现了自主研发。

但凭借前途汽车的技术、品牌,完全撑不住68.68万元的高价(补贴后)。消费者们直呼“好贵”,意味着企业没有足够的现金流,让价格亲民的第二款车型K20实现落地。

造车新势力们,也面临着被技术团队架空的风险。

4月初,蔚来汽车高级副总裁黄晨东被曝离职,电动力工程研发部门面临重组;此前,小鹏汽车自动驾驶研发副总裁谷俊丽也挂冠而去,而特斯拉Autopilot 2.0正出自她的团队之手。

技术无法立足,品牌难以落地,销售渠道困难,融资几近干涸……“性命攸关”,几乎可以形容所有的新创车企。

2020年4月,前途汽车董事长陆群,和贾跃亭一样登上“老赖”名单。而贾跃亭Faraday Future汽车要量产,更是遥遥无期。

技术,原本是汽车业赖以生存的最大资本。如今,却成了中国品牌死生一线的“鬼门关”。

 

 

03

产业冰河

2020年开年刚过,上汽董事长陈虹,也面临着前所未有的难题。

上汽集团的两则公告,犹如声声惊雷。

产销快报显示:2019年上汽销量623.8万辆,跌破700万辆的关口,同比下滑11.54%。企业14年连增后,迎来首次下滑。

业绩预告也成色不足:归母净利256亿元,较去年骤减104亿元。受此牵连,上汽股价应声降至近年来的冰点。

究其原因,还是“华晨”和“东风雷诺”衰落风险的叠加。

上汽“三驾马车”中,上汽通用、上汽通用五菱止步在200万辆红线面前,分别下颓18.78%、19.42%;上汽大众降幅为3.07%,将保持5年的中国乘用车“销冠王”的位置,拱手让人。

更惨的是长安汽车,因“利润奶牛”长安福特暴跌19万台,集团净利急转直下,由前一年的6.54亿迅速跌至-26.47亿。

自主业务缺乏支撑,合资企业基盘失稳,上汽、长安这样的集团巨头都压力山大,汽车产业的前途之难可见一斑。

全世界的汽车,都在等待中国人民的拯救!

▲2019年底上汽与广汽开始“抱团取暖”

中国车市怎么了?消费者不禁要问。

除去品牌、技术等内部因素,市场迎来拐点、技术加速变革、产业政策重构等外部因素,也是导致车市趋寒的关键原因。

2018年,中国汽车市场的高歌猛进戛然而止,连续28年的增长红线首度拐头。乐观的人们认为,之后或是一条缓慢滑落的曲线。但2019年,产销量较峰值骤减300万,意味着中国车市“一夜入冬”。

总之,存量竞争加剧,汽车产业淘汰赛拉开大幕。

其实,全球市场也都笼罩在一片萧杀之下:2017至2019年,全球车市销量从9566万辆,缩窄至9506万辆、9030万辆。

美国汽车咨询机构LMC数据显示:2019年,全球前10的汽车集团,销量增长的只有2家,全球行业都进入下行周期。

▲福特全球CEO韩恺特(Jim Hackett)此前在采访中表示:

我们没落后,自动驾驶也没啥,我们的技术也是最好的。

销售持续下滑,转型却投入巨大,全球汽车企业都加速瘦身,这正是东风雷诺们退华的诱因。

2019年夏天,福特CEO韩恺特再度签署精简员工告知函:全球裁员7000人,包括20%高层管理人员。这一年,它撤出俄罗斯,关停法国、威尔士工厂。未来,它要将欧洲生产基地从24家减至18家。

通用也开始全球大甩卖。2020年2月16日,它将泰国工厂出售给长城汽车;此前1个月,其位于印度的塔里冈工厂,也被长城收入囊中。

 

 

 

04

重拾趋势

通用、福特的求生动作,正是源于中国市场的经营危机。

2016至2019年,福特在华销量,由127.3万辆缩水至56.79万辆。与之对应的是,长安福特此时又遭遇了长达3年的产品空窗期。当其他品牌靠新品龙争虎斗时,企业止步不前,等于把客户拱手送人。

福特也觉得,这么干肯定是不成了。

2019年8月,福特在上海举行“FUN DAY”品牌日。但在企业内部,这次活动的代号是“D-DAY”。

“二战”时,D-DAY特指盟军发起诺曼底登陆那一天。

这一天,三款福特新车在中国落地,如此动作前所未见。这也意味着,福特正式吹响了反攻的号角。

重视中国,这是全球车企维持基本盘的关键;押注中国,则是企业延展希望的所在。

东风雷诺依依作别,远隔重洋的马斯克,则因中国市场的大利好笑得合不拢嘴。

最新公布的销量清单中,特斯拉以10160辆的成绩,刷新了在华月销纪录;4月10日,续航最长的Model 3在华上市,补贴后最低售价仅33.9万,成为业绩增长的又一引擎。特斯拉Model3标准续航升级版基础售价在2020年5月1日调整为29.18万元,补贴后售价27.155万元。

良好的销量背后,特斯拉的经营策略并不讨好。

1月末,众多车企加班生产负压车、改造产线造口罩、为疫区捐款之时,特斯拉只是宣布“免费开放超充站充电权限至疫情结束”。一片“鸡贼”、“口惠而实不至”的讨伐后,500万元捐助才姗姗来迟。

3月,它又未提前告知,把Model 3控制器硬件HW3.0芯片临时替换为低配版的HW2.5。车主发现后,才被迫道出“零部件断供”的缘由。

尽管饱受争议,特斯拉咬定中国不动摇。马斯克曾放话出来,要在中国新建设计中心,让产品进一步满足中国人的口味。

全世界的汽车,都在等待中国人民的拯救!

▲1月7日,马斯克在上海Model 3交付仪式上大展舞技

马斯克的坚持,反映了车企对“新趋势”的重重期待:新能源技术转型,将从中国发展起步;出行方式迭代,也将在中国生根结果。

前途、江淮在新能源领域败下阵仗,正因特斯拉、比亚迪、威马、蔚来、北汽等品牌的厮杀围猎;众泰、华泰等“代步车”轰然倒下,也为具备智能出行、无人驾驶等创新能力企业的突围培育土壤。

正如“能量守恒定律”告诉我们:当有人享受着光热,就有人要承受酷寒。

只见新人笑,不闻旧人哭,如今坟头草,春风吹又生。

一句插科打诨,道尽了现实的残酷。

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

就这一招,你的房子至少大了50%!

 

今天我的御用中介小A神秘兮兮的跟我说,最近在她手上成交了同一个小区的两套房子,虽然户型楼层面积都差不多,但是价格却差了30%!

我问她是不是多付钱的那个买家不懂行情?她笑着说,不是的,而是卖家使用了一招特别的小技巧
我好奇的问什么技巧啊,她继续卖关子,先把成交价较低的那套房子的照片发给了我。
就这一招,你的房子至少大了50%!
这种房子给人的第一感觉就非常不好,装修陈旧不说,每个空间还被各种杂物占满了,买家一进门肯定会感到浓浓的压抑感。小A又把另一套房子的照片发给我。
就这一招,你的房子至少大了50%!
上图来自贝壳
不就是“凤变冰”吗,我不屑一顾的说。“才没这么简单呢!”小A白了我一眼接着说,她让我仔细看图中那个画了红框的柜子,她告诉我像这样一直延伸到顶部的柜子屋里还有很多,并且每个柜子摆放设计都非常的巧妙。
有了这些柜子不仅增加了居住的收纳空间,而且更是赏心悦目的装饰品,所以每次有人来看房,即使家里弄得很乱,业主都可以把那些杂物立刻塞到这些柜子里,让家里顿时焕然一新。
小A告诉我这套房子的主人是个资深室内设计师,那天下午他拿出房子的设计图一点点算给小A看,没想到通过这些收纳的技巧竟然比原先增加了整整50%的使用空间!所以今天我要一口气把小A偷师来的这些干货全部说给大家听!
01
不知道大家有没有这种感受,在刚毕业那会还在租房子的时候,自己的东西其实并不多,基本一两个箱子就搞定了。但是自从买了第一套房子以后,家里储存的东西就一发不可收拾了,即使是房子越换越大但总觉得还是有很多东西没地方放。
所以在生活中你可能会经常遇到这样的场景:
家里东西实在太多了,感觉永远也放不下!
不管怎么收拾,没过多久家里都会一下子又乱掉了!
换季的衣服无处存放,只好把柜子塞得满满当当,直到柜门都关不上!
想扔掉一些旧东西,但是家里的老人会阻拦,甚至扔掉的还会被捡回来!
你可以想象下,当你劳碌一天下班回家,心想着总算可以好好休息一下了,但看到家里堆得到处都是杂物,甚至连落脚的地方都没有,这时你要么就是强忍着疲惫自己默默的收拾干净,要么就是和家里另一位大吵一架,总之身心俱疲。
就这一招,你的房子至少大了50%!
02
其实我们选择买房子而不是租房子的初衷都是为了能让自己居住得更宽敞、更舒服一点,但是我们辛辛苦苦攒钱,花几万块一平方买来的房子却要被那些根本用不到的杂物侵占,想想都有点得不偿失。
就像吃东西一样,我们选择品种更多样,更高级的食材本来就是为了提高生活品质,但是如果不加以节制,摄入了过多的能量,不仅会让自己的身体变得臃肿难看,更有可能患上高血糖、高血脂、高血压这样的疾病,实在是本末倒置。
所以就像我们需要经常清空自己,管理自己的健康一样,如果我们希望自己的房子变得更大,第一步应该是给自己的房子来次彻底的“减肥”!
把家里那些没有用的东西统统扔掉,这些没用的东西包括了:
已经覆盖了厚厚一层灰的东西!
在平时使用率并不高的东西!
有重复使用功能的东西!
肯定不会再穿的衣服!

 

就这一招,你的房子至少大了50%!
上图来自居住进化
当你忍着痛把这些东西打包处理掉以后,看到更加宽敞的居住空间,就会像一下子减掉30斤一样,整个人的状态都变得通透了!
但是光扔还不行,你还得学会控制得住自己的消费习惯,随着国内网购平台的日益多样和物流体系的不断完善,足不出户就买买买变得唾手可得,你应该像提防卡路里一样去提防自己的购买欲,或者干脆选择买一件新的就丢掉原先一件旧物品的原则。
 
03
在我们扔掉那些不必要的东西以后就可以来重新审视家里的收纳空间是否合理,这时有人会说,我们又不是专业的室内设计人员应该怎么评估呢?其实,你只需要一张户型图和一支荧光笔!
拿出你家的房屋户型图,用荧光笔把家里现在所有的收纳空间都涂出来,就像下面这张图一样。
就这一招,你的房子至少大了50%!
上图来自逯薇《小家越住越大》
完成后你再把这些涂色的收纳空间用剪刀剪下来,然后整齐的排在户型图的一边,比较一下这些收纳的空间占到整个房屋空间的比例是多少,一个合理的比例应该是大于等于12%,至少不能低于10%。
而且越小的房子收纳比例应该越高,比如那种30-40平米的小公寓,只有收纳比例占到30%以上才基本够一对小两口安稳舒适的居住。
设定完最小的收纳比例后我们应该注意,每一个功能空间是不是都设置了收纳空间,记住,是每一处功能空间都应该有收纳的地方!比如我之前看到过这样户型图。

 

就这一招,你的房子至少大了50%!
上图来自居住进化
如果按照原始的户型图进行布置,不仅会浪费玄关、客厅以及大量设备平台的空间,更重要的是这样的设计是违背最小收纳比例原则,而且并没有合理的在各个功能区设置收纳空间!
但是只要对这样的户型稍加改造,比如下面这套设计方案。就这一招,你的房子至少大了50%!
上图来自居住进化
这张图就可以明显的看出在玄关、厨房、餐厅、儿童房、客厅、主卧和阳台每一处功能区域都增加了大量的收纳空间,不仅让每个区域的功能鲜明,提高了利用率,最重要的事你不会再为很多东西找不到地方可以放而发愁了。
如果这张图还不是很明显的话,我们可以像前面说的一样把两张图的收纳空间剪下来比较一下。

 

就这一招,你的房子至少大了50%!
上图来自居住进化
经过小小的加工,收纳空间竟然多了整整一倍!
 
04
我不知道大家有没有仔细观察上面那张改造图的一些细节,比如在餐厅和电视墙的地方都用了整面的收纳空间,这种整面的大柜子,从头到尾、顶天立地,不仅可以极大的提升收纳空间,而且本身就是一种很大气的装饰,就像下面这张照片里呈现的效果一样。
就这一招,你的房子至少大了50%!
上图来自居住进化
整个墙面都顿时显得高端大气,而且张弛有度。但是我们如果只是放两个拼接起来的柜子,不仅会浪费大量的收纳空间,而且更会割裂整个空间的完整度。
就这一招,你的房子至少大了50%!
当然如果能在装修的时候就为这些柜子设置好内嵌入墙体的空间,那么所有的柜子都能和墙面保持在同一水平线上,不仅显得更加完整,而且不会占用过道的空间。
就这一招,你的房子至少大了50%!
上图来自居住进化
05
其实除了大空间上的收纳技巧,有很多提升收纳空间的小物品我也非常推荐,比如这种可以放在玄关柜里收纳鞋子的架子,是相互交错摆放的,可以充分利用空间收纳更多的鞋子
就这一招,你的房子至少大了50%!
又比如这种可以收纳进柜子里的折叠床,在使用的时候可以拉下来增加休息的床位,不用的时候就可以直接收纳进柜子中变身成一个小书桌的空间,特别适合只有一室但是又希望能兼顾卧室和书房功能的家庭使用。
就这一招,你的房子至少大了50%!
最后我要强烈推荐在衣橱里使用这种透明的盒子来分类摆放可以折叠的衣物,这种盒子不仅一眼就可以看出不同衣物摆放的位置,更重要的是可以总是让我们的衣橱里保持整洁,不会刚收拾完没多久因为胡乱堆叠又一下子把柜子弄乱了。
就这一招,你的房子至少大了50%!
其实让小家变大的技巧还有很多,如果大家喜欢这个话题的话不妨点个在看,今后我还会继续展开这类话题。希望大家在学到这些干货以后,不仅能住的更舒服,将来有一天也能把自己的房子卖出更好的价钱!
以上是正文,来自南山。

转自:https://mp.weixin.qq.com/s/1XaKtEQo7ZOgBEJNnvWULg