详解SaaS产品的5类核心指标-程序员宅基地

技术标签: 数据分析  java  人工智能  编程语言  大数据  

354acb35fdc024ee7849645d319cfce8.gif

导读:在SaaS的经营中,对数据的整理和分析可以帮助我们有效地了解企业经营现状和可能存在的发展机遇。对于企业的不同角色和不同发展阶段,其需要关注的数据指标会有所不同。下面我将根据自己多年从事SaaS产品设计的经验,介绍SaaS常见的5类核心指标。

作者:胡文语

来源:大数据DT(ID:hzdashuju)

fb0bc005c2ffd46e0aaaf23eb010b978.png

01 经常性收入

1. 什么是MRR/ARR

经常性收入(Recurring Revenue)是未来持续可获得的收入,就SaaS而言,经常性收入来自客户的持续订阅,具有稳定、可预测、高度确定的特点。通过统计MRR/ARR可以清晰地呈现业绩状况和收入变化。

在SaaS业务中,通常按月或按年签订合同。

  • 对于按月签订合同及少量的年度合同,采用MRR(Month Recurring Revenue,月度经常性收入)。MRR用于衡量每月订阅收入,如果包含了一些年度订阅收入,先除以12,再分摊到每月来计算MRR。

  • 按年合同及少量的多年合同,采用ARR(Annual Recurring Revenue,年度经常性收入)。多年合同除以合同年限,再分摊到每年来计算ARR。

在MRR/ARR统计中,并不会计算一次性收入,例如定制的功能费用。

2. 如何计算MRR

将每个客户每月支付的费用相加得出MRR,公式如下。

MRR=SUM(每位客户每月支付费用)

例如,当月共拥有2个客户,每个客户支付100元/月,那么MRR=100+100=200元。下个月又增加了1个客户,那么MRR=100+100+100=300元。

同时,我们也要注意套餐不同,月费不同的情况。

例如,当月拥有1个客户,支付100元/月,那么MRR=100元。在下个月,增加了1个客户,订阅1000元/年(ARR),那么相当于83元/月(MRR),虽然2个客户的总收款为1100元,但MRR=100+83=183元。

3. MoM MRR增长率

MoM MRR增长率(MoM MRR Growth Rate)是按月计算MRR增长率,用于衡量SaaS业务增长速度、市场吸引力和业务扩展情况的指标,公式如下。

MRR增长率=(MRRt-MRRt-1)÷MRRt-1×100%

例如,上个月产生了1000元的MRR,本月产生了2000元的MRR,我们的MRR增长率=(2000-1000)÷1000×100%=100%

4. 净新增MRR

通过拆解MRR的各个组成部分,帮助我们了解到具体业务收入进和出的状况,以及导致MRR波动的原因。MRR主要包括如下内容。

  • 新增MRR:新客户产生的MRR。

  • 扩展MRR:对现有客户向上销售或交叉销售所增加的MRR。

  • 重新激活MRR:老客户重新使用其订阅的MRR。

  • 客户流失MRR:客户取消订阅后的MRR。

  • 客户收缩MRR:客户降低订阅后的MRR。

利用以上信息,我们可以计算净新增MRR(Net New MRR),公式如下,示意图如图1所示。

净新增MRR=(新增MRR+扩展MRR+重新激活MRR)-(客户流失MRR+客户收缩MRR)

例如,当月产生了1000元的新MRR,又产生了1000元的向上销售收入,由于客户流失而损失了500元MRR,那么我们的净新增MRR=1000+1000-500=1500元。

36771381991833c468ab108d1596276f.png

▲图1 净新增MRR

5. 确认收入

确认收入(Revenue Recognition)是非常重要的财务知识,在SaaS业务中,确认收入与合同金额(Bookings)、收款金额(Billings)有很大的区别。

例如,按年收费的SaaS产品,年费1200元,那么:

  • 合同金额是1200元;

  • 客户一次性支付年费,收款金额是1200元;

  • 在合同期间的每个月确认收入为1200÷12=100元。剩下的[1200-(月数×100)]为递延收益;

  • 对于企业资产负债表而言,剩下11个月的1100元均为负债。因为服务还未完成,还需要投入11个月资源履行服务义务。因为合同可能发生中止的情况,所以还不是确定的收入,需要通过后期的确认收入(损益表中的利润)来减少资产负债表上的负债。

02 客户终生价值

1. 什么是LTV

LTV(Customer Lifetime Value)又称为CLTV或CLV,代表客户生命周期的财务价值,即单个客户在整个使用期间内所支付的费用,如图2所示。通过跟踪LTV可以帮助我们评估SaaS业务的健康状况,以及做出对业务发展而言更有可持续性帮助的决策。

bafd218a16466b4179a1bec4f5e2a549.png

▲图2 客户生命周期价值

2. 如何计算LTV

要计算客户生命周期价值,我们需要知道以下3个变量,公式如下所示。

LTV=ARPA×毛利率×客户月留存时长

  • 每个账户平均收入ARPA(Average Revenue Per Account)。

  • 流失率(Cusmoter Churn Rate)。

  • 毛利率(Gross Margin)。

由于客户月留存时长=(1÷客户流失率),因此

LTV=ARPA×毛利率×(1÷客户流失率)=ARPA×毛利率÷客户流失率

例如,每个账户的平均收入为1000元,毛利率为80%,客户流失率为10%,那么客户终身价值LTV=1000×80%÷10%=8000元。

3. 如何使用LTV

  • 指导获客成本。客户终身价值可以指导我们应该花多少钱来获取客户,一般而言,LTV:CAC(获客成本)≥3被认为是一个健康的标准。

  • 确定高价值客户。将LTV按照不同的客户进行细分(规模、行业或其他维度),可以帮助我们确定最有价值的客户类型和画像特征。从而集中营销、销售、产品和支持等资源来吸引、赢得和留住这些客户。

4. 如何提高LTV

可以采用以下4种策略增加LTV。

  • 增加ARPA。有研究表明,向现有客户成功销售的可能性为60%~70%,而向新客户成功销售的可能性为5%~20%。基于现有客户的信任,可对其进行向上销售和交叉销售,以增加ARPA。

  • 减少流失。客户留存时间越长,支付的费用也就越多。与客户保持互动并建立良好的关系,以及不断完善、优化产品和服务,从而提高客户忠诚度。

  • 提供年费套餐。假如客户平均留存时间为8个月,可以通过优惠10%来吸引客户购买年费套餐,促使客户生命周期延长至12个月。

  • 提高毛利率。提高自动化投入,进而降低人力投入并获得规模化效益。

03 获客成本

1. 什么是CAC

CAC(Customer Acquisition Cost)指获取单个新客户所需要的成本。通过跟踪和统计CAC可以帮助我们分析和比较不同的渠道,以及确定当前的获客成本是否在SaaS可持续经营的合理范围内。

对于大多数B2B SaaS业务而言,CAC包括以下内容。

  • 产生销售线索的成本:营销和广告投放费用。

  • 转化为客户的成本:销售和相关支持成本。

2. 如何计算CAC

将给定时间段中的营销和销售支出总额相加除以新客户总数,公式如下。

CACt =总成本t÷获得的客户总数t

例如,一个月里在营销和销售上花费了50000元,并获得了50个新客户,则该月的客户获取成本CAC=50000÷50=1000元。

CAC存在两种不同的计算方式。

  • 混合CAC(Blended CAC):市场营销支出÷(付费客户+自然客户)。把付费渠道和天然渠道(包括口口相传、社交媒体、自然搜索)混在一起计算的CAC。

  • 付费CAC(Paid CAC):通过付费渠道获取的总成本÷客户。

混合CAC可以为我们提供业务的整体概况,查看付费CAC可以帮助我们确定哪些渠道有效,哪些渠道无效,以及对比各个渠道,图3所示是CAC可视化折线图。

2c33bb7ff4ed1d9b947950c60fe8e815.png

▲图3 CAC可视化折线图

3. LTV:CAC

LTV:CAC用于估算客户获取的投资回报率(ROI)。通常情况下,LTV:CAC≥3被行业认为是一个良好的指标,如图4所示。

78a6fe6354de637dc8ce6c37db24dd6a.png

▲图4 LTV:CAC比率

例如,客户的生命周期价值为3000元,而获客成本为1000元,则LTV:CAC=3:1。

4. CAC投资回收期

通过计算CAC投资回收期(CAC Payback Period)得知获利(未考虑后期维护成本的情况)需要等待的时长,即从客户身上获取收入需要多长时间才能抵消获客成本,公式如下。

CAC投资回收期=CAC÷(ARPA×毛利率)

例如,客户获取成本为1000元,每位客户平均每月收入为100元,毛利率为80%,那么CAC投资回收期为1000÷(100×80%)=12.5个月。

此外,CAC投资回收期≤12个月被认为是一个不错的指标,如图5所示。投资回收期越短,公司的现金流就越好,且还有助于减少因客户流失而沉没的获客投入。

de633339a3a9e235bc8d2ad0e7aa11b0.png

▲图5 CAC投资回收期≤12个月

5. 缩短CAC投资回收期

我们想要尽快实现盈利,就需要客户订阅收入尽可能快地超过获取成本(CAC),通常可以采取以下方式,实现这一目标。

  • 增加收入:最大化定价和套餐策略;与潜在客户建立良好关系,进而最快速的进行转化;专注客户上手(Onboarding),让意向客户尽早了解产品的价值进而付费订阅,让老客户不断深入使用,致使订阅更多或升级套餐,如图6所示。

165ef8def10c4323c87e6628ed380ab8.png

▲图6 增加收入

  • 降低获客成本:优化营销渠道,将钱投放到最佳回报率的渠道上;增加自然线索,例如优化SEO、口碑传播,如图7所示。

089ce74cb38a34be1571613478d28f38.png

▲图7 降低CAC

  • 增加向上销售和交叉销售的机会:引导客户向上升级高级套餐或通过交叉销售相关产品的方式增加客户的支出,如图8所示。

250fc9e024c70a251811e8b675cb83d8.png

▲图8 向上销售和交叉销售

04 平均客户收入

1. 什么是ARPA

ARPA(Average Revenue Per Account)指每个账户(客户)每月或每年产生的平均收入。用于衡量平均账户或客户的每月贡献。通过跟踪和统计ARPA可以帮助我们绘制出客户消费的变化情况,以及细分不同客户群体的价值。

2. 如何计算ARPA

计算ARPA即客户(付费用户)产生的每月经常性收入MRR除以当前月份的账户或客户总数,公式如下。

ARPA=MRR÷账户/客户总数t

例如,一家公司有1000个账户,每月产生100000元的收入。每个账户的平均收入ARPA=100000÷1000=100元。

使用账户数还是客户数进行计算,主要与收费模式是否和坐席数有关。如果有关,就可以使用具体的账户数量进行计算。

3. 如何使用ARPA

ARPA可以帮助我们预测和优化收入。例如通过跟踪对比新账户和现有账户的ARPA,可以帮助我们对营销策略、定价策略和产品策略调整效果的评估。随着时间的推移,ARPA的变化趋势也反映了产品/服务的溢价能力。

4. 如何提高ARPA

可以采用以下方法提高ARPA。

1)优化定价结构

  • 提高价格:调整产品价格是增加每位用户平均收入最明显、最直接的方法。

  • 可扩展的定价:随着客户业务的增长,需要客户不断升级套餐计划,例如套餐A允许储存1000个客户信息,套餐B允许储存10000个客户信息。

2)更多销售

  • 向上销售:通过提供不同功能或服务组合的套餐,引导客户升级,增加向上销售机会。

  • 交叉销售:提供套餐外的功能或者服务,提高交叉销售收入。

  • 捆绑销售:通过组合多个产品或功能组件进行销售,增加订阅金额。

3)扩展产品线

关注现有客户的需求,开发新功能或额外的服务来发展和进化产品,以进一步扩展市场,增加产品价值提高ARPU。例如,一家在线客服系统的应用,扩展智能客服和电话客服的服务。

4)关注高ARPA客户

并非所有的客户都是平等的,我们可以将更多的精力投入到高价值客户的身上。

05 流失

1. 什么是流失

流失(Churn)客户指在特定时间段内停止订阅服务的客户。对于依赖经常性收入的SaaS业务而言,跟踪流失客户可以评估业务的健康状况以及计算得出客户的生命周期价值。

常见的流失原因如下。

  • 客户无法看到/获取产品的价值。

  • 产品质量或功能不满足。

  • 服务不好。

  • 转向竞争对手。

  • 账户余额不足。

  • 客户业务关闭。

虽然所有的流失都意味着收入的损失,但对于因产品或服务有问题而造成的流失,我们需要着重对其进行完善和优化,以此来提高留存并获得更多的持续性收入。

在SaaS中有2种计算流失的角度。

  • 客户流失(Customer Churn):取消订阅的客户数量。

  • 收入流失(MRR/ARR Churn或Revenue Churn):取消订阅的收入损失。

2. 客户流失

计算客户流失率,需要先将给定时间段内停止订阅的客户数量相加,然后除以期初的客户总数,公式如下。

客户流失率=流失的客户数t÷客户总数t×100%

例如,在月初有20个付费客户,到了月末只有19个付费客户,那么当月的客户流失率为(20-19)÷20×100%=5%。

听起来合理的月度流失率,可能会造成非常严重的年均流失率,计算公式如下。

年客户流失率=[1-(1-月流失率)12]×100%

例如,月客户流失率5%,听上去并不高,将转化为全年客户流失率,却高达46%。

[1-(1-0.05)12]×100%≈46%

当我们将年客户流失率定为5%~7%时,意味着月流失率仅约为0.5%,即每200个客户流失1个客户。

6%≈[1-(1-0.005)12]×100%

通过上述公式,我们可以从单个月度流失率中提前计算得出年度可能流失率。当我们拥有12个月的数据时,就可以用以下公式更为确切地计算出全年实际客户流失率。

年客户流失率=[1-(1-m1)×(1-m2)×...×(1-m11)×(1-m12)]×100%

3. 收入流失

假如在当月有3个客户停止订阅服务,第一个客户原本支付10元/月,第二个客户原本支付50元/月,第三个客户原本支付100元/月。那么收入流失就是这些订阅费用的总和,即10+50+100=160元,收入流失公式如下。

MRR流失=SUM(流失客户的MRR)

收入流失率指流失收入占收入的百分比,计算公式如下。

MRR流失率=期间流失MRR÷期初MRR×100%

1)客户流失与收入流失

那为什么会有两种计算方式?

例如,我们的SaaS业务是按照坐席收费,50元/月。拥有200个客户,100个大客户(每个大客户拥有100个坐席),100个小客户(每个小客户拥有10个坐席)。

当月,我们流失了10个客户,那么月客户流失率为10÷200×100%=5%。

如果在流失的客户中,有8个是大客户,2个是小客户,那么MRR流失[(8×100)+(2×10)]×50=41000元,MRR流失率为41000÷550000×100%=7.45%。

如果在流失的客户中,有2个是大客户,8个是小客户,那么MRR流失[(2×100)+(8×10)]×50=14000元,MRR流失率为14000÷550000×100%=2.55%。

综上,通过不同的计算方式,使得我们可以更加全面、准确地了解到业务中所发生的事情。

2)总MRR流失

总MRR流失(Gross MRR Churn Rate)是由于客户取消订阅和降级而导致的经常性收入损失的百分比,反映了客户对产品的满意度以及企业是否吸引了合适的客户,计算公式如下。

总MRR流失率=[(降级MRR+取消MRR)÷(期初总MRR)]×100%

如果本月流失(取消订阅或套餐降级)的总MRR为200元,而总MRR(在月初计量)为10000元,则MRR总流失率为200÷10000×100%=2%。

3)净MRR流失率

净MRR流失率(Net MRR Churn Rate)是一段时期内现有客户取消和降级而损失的收入减去扩展(向上销售和交叉销售)收入后与期初MRR的百分比关系,公式如下。

净MRR流失率=(损失MRR-扩张MRR)÷期初总MRR×100%

例如,A公司的MRR为50000元,其中向上销售和交叉销售的收入为7000元,客户取消和降级损失了10000元,则净MRR流失率为(10000-7000)÷50000×100%=6%。

B公司的MRR为100000元,其中向上销售和交叉销售的收入为12000元,客户取消和降级损失了7000元,则净MRR流失率为(7000-12000)÷100000×100%=-5%。

当出现负流失时,意味着现有客户每月产生的额外收入大于取消和降级而损失的收入。要达到净MRR流失率为负值,可以采用以下措施。

  • 实施可扩展的定价模式,例如采用按坐席付费或者按调用次数付费的模式。

  • 向上销售,引导客户升级更高的套餐版本。

  • 交叉销售,引导客户购买额外的产品或服务。

  • 降低流失率,从而减少取消订阅对收入的影响。

4. 队列分析

队列本身不是一个指标,但非常重要。队列分析(Cohort Analysis)是一个可视化图表,用于绘制和比较每个队列的特定指标随时间的进展情况。

在SaaS中,我们会查看留存率随时间的变化趋势,并尝试找出导致高流失率的因素,从而改善客户留存情况。通常,我们基于时间进行队列分组,例如:

  • 2021年1月注册;

  • 2021年2月注册;

  • 2021年3月注册。

常见的队列分析以表格的形式呈现,具有以下几个特征,示例如图9所示。

  • 每行代表一组用户,队列的名称在第一列(例如2021年1月)。

  • 每列代表队列创建后的第几个月(第0个月是注册月份)。

  • 每个单元格中的值为相对于前一个月的流失率或留存率。

19b797b96fbab69ce6a71160ac434af0.png

▲图9 队列分析

队列分析可以帮助我们找到以下问题的答案。

  • 在客户生命周期的哪个阶段用户流失率最高。

  • 在什么时间段后流失会稳定下来。

针对流失率高的地方,例如第1个月和第2个月,采取适当的改善行动。然后查看和跟踪后面的队列在1个月和第2个月的流失情况,这样就可以从数据上直观地看出我们的行动是否产生了积极的影响。

本文里我们详细了解了SaaS常见的5类核心数据指标,这些数据指标可以帮助我们更好地了解SaaS企业的经营状况。而在企业经营里,客户转化是重中之重。如果您想要了解这部分内容,可以详细阅读胡文语老师的新作《SaaS攻略:入门、实战与进阶》

关于作者:胡文语,SaaS产品设计专家,从事SaaS产品设计6年,负责过上万家持续付费的SaaS产品设计,现任浙江快服集团云客服事业部产品设计总监。微信公众号“产品D”(ID:Int-PD)维护者。

本文摘编自《SaaS攻略:入门、实战与进阶》,经出版方授权发布。(ISBN:978-7-111-69781-7)

46f9b506af0c5ce186e359f837df477c.gif

延伸阅读

cad6008f76aeddd16d008c6d75d43f94.png

延伸阅读《SaaS攻略:入门、实战与进阶》

点击上图了解及购买

转载请联系微信:DoctorData

推荐语:这是一本能带领你零基础入门SaaS行业并迅速成长为SaaS专业人才的实战性著作。全书内容围绕SaaS客户的全生命周期展开,从SaaS的通识、获客、上手、留存4个维度帮助你快速构建完整的SaaS知识体系,涵盖SaaS的产品、运营、营销、销售、客户成功等多个主题,是SaaS领域从业者的案前攻略。

更多精彩回顾

书讯 | 2月书讯(下)| 新年到,新书到!

书讯 | 2月书讯 (上)| 新年到,新书到!

资讯 | Python迎来31岁生日,蝉联年度编程语言排行榜冠军

书单 | 成为优秀Java开发者,我看了这几本书

干货 |一文带你掌握计算机体系结构核心内容

资讯 |云原生时代,阿里如何让Java冷启动提速两个数量级?

赠书 | 【第94期】存储系统又慢又杂太难用?我们推荐这几本书帮你解决问题

ec0bca871996c50e04d26bd85dbf13db.gif

d9ac39f3680c730570489d6302852049.gif

点击阅读全文购买

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hzbooks/article/details/123516484

智能推荐

874计算机科学基础综合,2018年四川大学874计算机科学专业基础综合之计算机操作系统考研仿真模拟五套题...-程序员宅基地

文章浏览阅读1.1k次。一、选择题1. 串行接口是指( )。A. 接口与系统总线之间串行传送,接口与I/0设备之间串行传送B. 接口与系统总线之间串行传送,接口与1/0设备之间并行传送C. 接口与系统总线之间并行传送,接口与I/0设备之间串行传送D. 接口与系统总线之间并行传送,接口与I/0设备之间并行传送【答案】C2. 最容易造成很多小碎片的可变分区分配算法是( )。A. 首次适应算法B. 最佳适应算法..._874 计算机科学专业基础综合题型

XShell连接失败:Could not connect to '192.168.191.128' (port 22): Connection failed._could not connect to '192.168.17.128' (port 22): c-程序员宅基地

文章浏览阅读9.7k次,点赞5次,收藏15次。连接xshell失败,报错如下图,怎么解决呢。1、通过ps -e|grep ssh命令判断是否安装ssh服务2、如果只有客户端安装了,服务器没有安装,则需要安装ssh服务器,命令:apt-get install openssh-server3、安装成功之后,启动ssh服务,命令:/etc/init.d/ssh start4、通过ps -e|grep ssh命令再次判断是否正确启动..._could not connect to '192.168.17.128' (port 22): connection failed.

杰理之KeyPage【篇】_杰理 空白芯片 烧入key文件-程序员宅基地

文章浏览阅读209次。00000000_杰理 空白芯片 烧入key文件

一文读懂ChatGPT,满足你对chatGPT的好奇心_引发对chatgpt兴趣的表述-程序员宅基地

文章浏览阅读475次。2023年初,“ChatGPT”一词在社交媒体上引起了热议,人们纷纷探讨它的本质和对社会的影响。就连央视新闻也对此进行了报道。作为新传专业的前沿人士,我们当然不能忽视这一热点。本文将全面解析ChatGPT,打开“技术黑箱”,探讨它对新闻与传播领域的影响。_引发对chatgpt兴趣的表述

中文字符频率统计python_用Python数据分析方法进行汉字声调频率统计分析-程序员宅基地

文章浏览阅读259次。用Python数据分析方法进行汉字声调频率统计分析木合塔尔·沙地克;布合力齐姑丽·瓦斯力【期刊名称】《电脑知识与技术》【年(卷),期】2017(013)035【摘要】该文首先用Python程序,自动获取基本汉字字符集中的所有汉字,然后用汉字拼音转换工具pypinyin把所有汉字转换成拼音,最后根据所有汉字的拼音声调,统计并可视化拼音声调的占比.【总页数】2页(13-14)【关键词】数据分析;数据可..._汉字声调频率统计

linux输出信息调试信息重定向-程序员宅基地

文章浏览阅读64次。最近在做一个android系统移植的项目,所使用的开发板com1是调试串口,就是说会有uboot和kernel的调试信息打印在com1上(ttySAC0)。因为后期要使用ttySAC0作为上层应用通信串口,所以要把所有的调试信息都给去掉。参考网上的几篇文章,自己做了如下修改,终于把调试信息重定向到ttySAC1上了,在这做下记录。参考文章有:http://blog.csdn.net/longt..._嵌入式rootfs 输出重定向到/dev/console

随便推点

uniapp 引入iconfont图标库彩色symbol教程_uniapp symbol图标-程序员宅基地

文章浏览阅读1.2k次,点赞4次,收藏12次。1,先去iconfont登录,然后选择图标加入购物车 2,点击又上角车车添加进入项目我的项目中就会出现选择的图标 3,点击下载至本地,然后解压文件夹,然后切换到uniapp打开终端运行注:要保证自己电脑有安装node(没有安装node可以去官网下载Node.js 中文网)npm i -g iconfont-tools(mac用户失败的话在前面加个sudo,password就是自己的开机密码吧)4,终端切换到上面解压的文件夹里面,运行iconfont-tools 这些可以默认也可以自己命名(我是自己命名的_uniapp symbol图标

C、C++ 对于char*和char[]的理解_c++ char*-程序员宅基地

文章浏览阅读1.2w次,点赞25次,收藏192次。char*和char[]都是指针,指向第一个字符所在的地址,但char*是常量的指针,char[]是指针的常量_c++ char*

Sublime Text2 使用教程-程序员宅基地

文章浏览阅读930次。代码编辑器或者文本编辑器,对于程序员来说,就像剑与战士一样,谁都想拥有一把可以随心驾驭且锋利无比的宝剑,而每一位程序员,同样会去追求最适合自己的强大、灵活的编辑器,相信你和我一样,都不会例外。我用过的编辑器不少,真不少~ 但却没有哪款让我特别心仪的,直到我遇到了 Sublime Text 2 !如果说“神器”是我能给予一款软件最高的评价,那么我很乐意为它封上这么一个称号。它小巧绿色且速度非

对10个整数进行按照从小到大的顺序排序用选择法和冒泡排序_对十个数进行大小排序java-程序员宅基地

文章浏览阅读4.1k次。一、选择法这是每一个数出来跟后面所有的进行比较。2.冒泡排序法,是两个相邻的进行对比。_对十个数进行大小排序java

物联网开发笔记——使用网络调试助手连接阿里云物联网平台(基于MQTT协议)_网络调试助手连接阿里云连不上-程序员宅基地

文章浏览阅读2.9k次。物联网开发笔记——使用网络调试助手连接阿里云物联网平台(基于MQTT协议)其实作者本意是使用4G模块来实现与阿里云物联网平台的连接过程,但是由于自己用的4G模块自身的限制,使得阿里云连接总是无法建立,已经联系客服返厂检修了,于是我在此使用网络调试助手来演示如何与阿里云物联网平台建立连接。一.准备工作1.MQTT协议说明文档(3.1.1版本)2.网络调试助手(可使用域名与服务器建立连接)PS:与阿里云建立连解释,最好使用域名来完成连接过程,而不是使用IP号。这里我跟阿里云的售后工程师咨询过,表示对应_网络调试助手连接阿里云连不上

<<<零基础C++速成>>>_无c语言基础c++期末速成-程序员宅基地

文章浏览阅读544次,点赞5次,收藏6次。运算符与表达式任何高级程序设计语言中,表达式都是最基本的组成部分,可以说C++中的大部分语句都是由表达式构成的。_无c语言基础c++期末速成