关于广告:社区投稿合作
我要投稿投稿邮箱:osc@actionsky.com文章以 附件 模式发送,邮件注释需写明:姓名、手机号、微信号,以便小编及时分割。投稿要求文章格局:.md(举荐)/.doc/.txt征稿主题:MySQL、Redis、MongoDB、OceanBase 等开源数据库技术,及社区公布的开源软件,数据库行业察看等。稿件要求:原创且尚未公布过投稿格局:[投稿]姓名+文章题目投稿处分:200元京东卡+社区周边
我要投稿投稿邮箱:osc@actionsky.com文章以 附件 模式发送,邮件注释需写明:姓名、手机号、微信号,以便小编及时分割。投稿要求文章格局:.md(举荐)/.doc/.txt征稿主题:MySQL、Redis、MongoDB、OceanBase 等开源数据库技术,及社区公布的开源软件,数据库行业察看等。稿件要求:原创且尚未公布过投稿格局:[投稿]姓名+文章题目投稿处分:200元京东卡+社区周边
驾考宝典是一款颇具人气的互联网综合驾照考试学车软件。驾考宝典目前已累计为中国汽车消费市场输送4.7亿准车主用户,是目前全国用户笼罩量当先的驾培App。从产品上线开始,驾考宝典在利用商店教育榜单的排名中多次登顶,截止目前仍居于首位。 横跨在线教育和出行服务两大赛道的驾考宝典,是怎么获得如此优异的问题的呢? 引领“内购+广告”混合变现趋势,一站式服务晋升用户留存自2011年挪动互联网萌芽阶段,驾考宝典便瞄准了在线驾培这一空白赛道。在驾驶证考取需要井喷式暴发下,其卓越的产品硬实力与服务能力链接了用户和驾培行业,为所有学员提供一站式的驾培服务。 与细分赛道的机会蓝海绝对应的是行业教训的缺失。在创建初时,没有成熟的商业化模式可供借鉴,所有都须要驾考宝典在倒退过程中逐渐摸索,从驾考培训做起,到一直推出笼罩行业更长链路的服务,链接驾校——教练——司机——学员四端,驾考宝典在垂直细分畛域中一直做深、做精。目前驾考宝典曾经倒退出“广告变现+平台导购”的混合变现模式。一直开辟多元化的广告变现模式,深耕垂直畛域人群需要,是驾考宝典多年来稳居行业龙头的重要基石。 另一方面,不论是广告变现还是其余变现形成,都须要用户的高留存率来撑持,甚至连利用短暂衰弱的成长都须要依赖留存的复利效应,这些都决定了留存率成为经营最需关注的外围指标之一。 目前,驾考宝典曾经冲破驾驶证工具学习的繁多定位,向车生存平台转型,从驾培阶段抓住用户开始,通过学车、陪练、购车、车生存、车资讯全流程链接用户。将指标用户群体从准车主拓展到笼罩准车主和车主两大群体,从筛选驾校、平安实践培训、场地/路线驾驶技能培训、购车交易、汽车资讯等方面进行服务,建设起连接线上、线下汽车服务资源的桥梁,为用户提供一站式服务,从根本上晋升用户留存。 精细化场景设置,晋升3倍广告收益驾考宝典是穿山甲成立以来最晚期的合作伙伴之一,目前广告变现曾经成为其最重要的支出形成。 接入穿山甲后,驾考宝典一直尝试新的广告款式,先后接入开屏、banner、信息流等广告模式,近期更是接入了激励视频,凭借本身海量优质流量和丰盛的广告场景,流量充分利用的同时,收益翻了3倍。 目前,单干广告场景已涵盖其外围板块包含“考试”、“发现”、“买车”及开屏。 1、“考试”板块是产品最重要的流量入口之一,在板块置顶地位设置banner轮播图,既能拓展广告场景,又能够公布多种不同状态和表征的免费课程提醒,对收费用户群体进行疏导。 2、“考试”板块的答题栏目还设置了激励视频点位,用户能够抉择观看视频享受到免1天广告的服务,用户本人抉择观看取得处分的同时,体验到免费我的项目,驾考宝典取得额定收益的同时也播种了增值服务付费晋升的空间。 3、资讯内容板块一贯是工具类利用减少图文及视频信息流广告必备伎俩,而“发现”板块就是驾考宝典布局内容生态体系的体现,包含各类资讯、小视频及社区三个栏目,公布的内容次要是购车征询、产品评测、软文模式的品牌广告及数十种各类驾考、车生存等话题,不仅在获客、晋升用户粘性等方面关上了新的思路,还能丰盛广告场景,进步广告变现空间。 此外,驾考宝典还逐渐从产品功能设计层面进行改进,通盘布局植入盈利产品和商业目标,让整体广告点位设计及其他商业化产品的呈现更加正当,在用户视觉和应用层面都没有显著烦扰和不适感,在获取收益的同时,对用户留存不产生任何负面影响。 驾考宝典商业化负责人示意,将来将会持续与穿山甲单干,扩充流量池,尝试更多广告款式和单干模式,将对激励视频新场景进行重点摸索和开辟。 更多粗疏精准的行业洞察和解决方案,欢送大家返回“穿山甲成长学院”小程序进行查看。
第三方数据显示,截至2019年7月,我国摄影相机类APP就有近万款,用户规模达4.5亿人,即有近一半的移动用户有应用摄影相机类APP的习惯。 但问题也随之产生——赛道整体倒退已进入成熟饱和状态,用户增长放缓;用户对于付费滤镜、贴纸的付费志愿正在逐步升高。 巨头们是如何冲破以上工具行业的人造变现阻碍,多元开掘流量变现后劲晋升整体收益的呢?本期掘金实际将以美图秀秀及黄油相机为例,看两大头部利用是如何逆势图变。 定位优化:打造综合性平台,继续丰盛产品状态用户侧的衰减会进一步影响商业化体现,且摄影丑化类利用行业目前多通过会员免费或滤镜贴纸购买等获取收益,变现模式繁多。开拓更多商业空间,成为了该类型利用产品的事不宜迟。 依据穿山甲的察看和总结,将来一个纯工具型、内容型、社交型产品的竞争力会绝对削弱,综合性倒退将成为趋势所至。 摄影相机类的头部利用们,正是朝着这样一个更加综合性的发展趋势,继续摸索丰盛产品状态。 从滤镜特效性能,到同畛域生态链拓展美图在底部主导航栏的“工具箱”为用户提供如500种业余证件照拍摄及冲洗、证件扫描、桌面主题及各类特效相机等,以更加多元、精细化的服务内容延长产品应用场景,拓宽与其余畛域的穿插。 从聚焦工具属性,到内容化/社交化/游戏化的摸索从最早的摄影丑化工具状态,到当初的“工具+内容/游戏/社区”,美图秀秀通过继续优化产品社区、继续晋升用户应用时长、推出更加丰盛的社交场景等伎俩,强化了产品的社交属性、弱化工具属性,无效晋升用户对APP的忠诚度和粘性。 得益于美图基于社交平台的内容强化策略,美图秀秀的用户参与度持续上升,从美图2019年财报来看,2019年下半年每用户时长13.6分钟,比照2019年上半年则为12.5分钟。 与美图秀秀同属摄影相机类APP第一梯队的黄油相机也在朝着更为综合型的方向优化,倒退出“工具+图片社区+美图教程”的状态,以拍摄、编辑、素材、滑一滑的UGC及模板的PGC内容一起,晋升用户的应用时长及留存。 丰盛的产品状态和社交场景、更长的用户留存和宏大的用户根底为美图和黄油相机的商业化体现奠定了良好基础。 广告设置:与用户需要强联合,保障用户体验因为市场竞争强烈,用户画像次要以都市女白领为主,摄影相机类利用广泛广告策略极为激进。美图秀秀和黄油相机在拓展广告变现空间时,也对用户体验有着极高的要求。 横向拓宽广告场景,深挖流量商业化价值接入穿山甲后,美图充沛开掘用户场景的丰盛劣势,在利用开屏、美志社区视频列表位、图片丑化吊起零碎相册的最近我的项目页、滤镜贴纸观看视频收费应用等多个场景横向拓宽广告场景,晋升广告填充天花板。 在接入激励视频后,两款利用的用户能够通过抉择观看视频,收费领有本来须要付费才能够享受到的商店素材产品,如滤镜、字体和背景等,极大晋升用户对利用的青睐度。 精准匹配女性群体,全面晋升用户体验美图秀秀及黄油相机所在的摄影相机类APP属于70%以上女性用户占比的黄金垂直行业,且用户均为有生产能力的一二线80、90后女性人群,是业内不可多得的合乎商业变现的赛道。 在巨量引擎丰盛的商业化资源及顶级举荐技术加独立投放引擎加持下,穿山甲为该类型利用的女性用户群体匹配更受其青睐的广告主类型及内容,如服饰、时尚、购物、美妆类品牌广告等——在晋升广告内容精准度的同时,升高广告短时反复展现率,既保障了填充率和高点击率,也对用户体验进行了优化。 谈及与穿山甲的单干时,美图秀秀示意,穿山甲平台整体综合素质更高,从技术、产品经营到商务团队的对接和响应中都可能体现出业余和高效。 在产品方面,美图尤其称心激励视频广告,认为穿山甲对激励视频的认知、打磨和算法等都属业界标杆,可帮忙美图达成收益最大化,其余产品的eCPM体现也十分可观,对美图秀秀的整体收益有十分大的加持,晋升了美图的整体变现效率。在将来与穿山甲的单干方面,美图将第一工夫凋谢新广告位,在穿山甲进行广告变现。更多粗疏精准的工具行业洞察和解决方案,欢送大家返回“穿山甲成长学院”小程序进行查看。
挪动广告款式从素材状态辨别,能够分为图文和视频款式两大类。如果说到近年来比拟受欢迎的广告款式,那无疑是视频款式中的激励视频+互动广告了。 首先,互动广告是大势所趋。 互动广告是一种交互式可试玩的视频广告,用户无需下载,即可在广告中提前体验游戏玩法或利用外围性能。这种在用户下载利用前被动提前尝试深度互动的广告模式,能够极大地减少用户参与度并晋升开发者的广告收益。不难看出,目前互动广告对于用户和广告主单方,都是一种更为高效的广告推广模式。 纵观挪动广告款式的倒退,咱们经验了从Banner到图片再到视频的倒退过程。广告总是在向着更加丰盛、活泼及敌对的方向去倒退。而咱们置信广告肯定会向着互动广告的方向倒退,挪动广告将实现文字、Banner→图片→视频→互动的链路降级。 深究其背地的起因,除投放大环境趋势外,天然是因为这样的广告模式能让用户在下载或购买前,提前体验到产品的精华,晋升了下载用户的精准度,第二个重要的因素,就是技术革新使然。 置信大家还有印象,在多年前互动广告的推出初期,受限于技术等方面起因,互动广告的制作老本、可扩展性、便捷性都肯定水平妨碍了其倒退。近年来,随着技术的倒退互动广告的门槛才得以升高,实用性进一步加强,广告主们的需要才得以满足。 穿山甲也将互动广告作为广告产品款式倒退的重点,进行一直摸索,咱们置信,互动广告将会扭转寰球广告的市场格局。 其次,激励视频+互动广告,从用户体验和广告展现及转化成果层面也显著优于个别视频广告款式。 严格意义上讲,互动广告其实是一种素材模式,素材模式包含文字广告、图片广告、视频广告、互动广告等,广告款式个别指的是信息流、开屏、激励等具体广告前端出现形式,广告素材和广告款式是联合关系,而非并列关系。目前穿山甲可提供激励视频+互动广告的款式(互动广告个别在激励视频播放之后间接弹出),在互动广告之外,也享有激励视频的劣势。 互动广告后期从游戏行业衰亡,更偏向于让用户“提前尝试游戏玩法”,因而多被称作“试玩广告”。但目前,这种素材模式曾经宽泛使用至各垂直行业,展现创意也不仅局限于“玩”,而存在更多“体验”与“抉择”,因而以更宽泛意义的“互动”来定义穿山甲这种新型广告素材模式,二者实质上指的是同一种广告素材款式。 穿山甲互动广告劣势 更强跑量能力作为惟一可能让用户触发互动、深度体验的广告素材款式,互动广告大幅晋升了前端ctr*cvr与竞价能力,从而保障广告主的跑量。等同估算下,应用互动广告可能拿量更多,反之,雷同拿量策略下,互动广告的出价更低。 这里是广告主们最为关怀的转化成果,穿山甲数据显示:在雷同的广告地位下,互动广告的转化率比个别视频广告的转化率均匀晋升300%。如某咨讯类广告主在等同出价下,ctr*cvr相比一般素材晋升400%。 注:CTR (Click Through Rate): 点击率 ,CVR (Click Value Rate): 转化率 更长生命周期相比于传统图文、视频广告,用户通过互动广告被动体验后下载或进入落地页。转化更精准,缩短打算LTV。 更便于素材优化绝对于繁多展现页面的素材,互动广告通过用户互动过程,能够准确记录每一次点击、交互流程的数据。一旦取得埋点数据,广告主即可基于数据发现以后素材的问题,从而优化互动门路,便于迭代素材,取得更高效转化。 更高效制作产能互动广告素材的制作向来是广告主的一大难题。广告主个别抉择自行定制H5或者制作外包,然而花钱又费时、研发要求与技术难度也很高。当初,穿山甲推出的两大制作利器,可助广告主资金投入少、制作耗时短、人力成本低,大大晋升素材制作效率。 互动模板库:适宜老手相熟根底互动款式,疾速产出素材;互动视频工具:适宜进阶客户定制交互逻辑,孵化专属创意。更多粗疏精准的工具行业洞察和解决方案,欢送大家返回“穿山甲成长学院”小程序进行查看。
置信很多开发者看到“变现”两个字就感觉束手无策。起因不外乎作为APP的建设者们,他们在APP的架构搭建、技术研发、运维等方面一路走来曾经消耗了大量的心血,而变现对他们而言,就是那个无足轻重的生存砝码。胜利变现,不仅意味着APP的生命周期得以连续,也是属于开发者本人的光荣时刻。 而好的APP变现办法,则必然是一套高效的、可继续的良性机制,以商业价值驱动APP的疾速成长和久远倒退。能够说,对于守业初期的开发者们来说,找准了适合的变现办法,就曾经是胜利了一半。 那么问题来了,怎么找到适宜本人的商业变现模式? 一、APP的变现办法 在国内的利用市场,支流的APP变现形式有以下四种: 1、利用内提供增值服务 这是行业内最为传统且较理想化的形式,比方游戏APP道具免费,视频类APP点播免费,下载类APP给用户更高级的特权来免费。然而这要求该APP有较强的用户粘性且增值服务具备相当的不可替代性,否则面对付费选项,不少用户会抉择转投同类产品,间接造成用户散失。 2、利用内提供商品购买 这种形式也能够叫“电商变现”,而且利用范畴已不仅限于电商APP。毕竟面对国内凋敝的电商大潮,尤其是在短视频+直播的趋势带动下,各类APP纷纷试水。不过这种“看上去很美”的变现形式门槛较高,要求作为流量入口的APP有着足够宏大的用户群体,并且开发者自身具备足够的数据挖掘与用户画像剖析能力,可能实现对用户的个性化商品举荐。 3、利用散发 得入口者得天下,目前这种变现形式算是头部利用市场类APP的专利,作为用户疾速获取所需APP的首选工具,其变现后劲无疑是微小的。不过对于其余类型的APP尤其是成长中的APP来说并不是很敌对。 4、广告变现 如果说后面三种变现办法都更实用于特定类型的APP,那么广告变现,则是门槛更低、适用范围更宽泛的形式。毕竟有用户的中央就有流量,有流量的中央就有广告,有广告的中央就会有收益。而且广告变现并不需要用户为了应用app的某些性能而买单,简直有流量的所有收费利用都能够接入广告。 二、广告变现的痛点 然而,对于广告变现这个看似最普适可行的办法,却有不少开发者“谈广告色变”。因为对他们来说,最大的放心是植入广告会影响本身的用户体验,以及该去哪里找到优质的广告主?如何在技术上实现广告植入的正确姿态,从而达成用户、流量、收益三者之间的动态平衡? 上面,小甲就将针对这些问题,一一进行解答: 1、广告 VS 用户体验 首先须要明确的一点是,对于那些对广告产生点击趣味、并且最终促成购买的用户来说,广告并不会造成负面体验,反而是一条有价值的信息,让用户在应用APP的同时额定失去生产需要上的满足,堪称是两全其美。 破除了这层心理屏障之后,剩下的问题便集中在:如何均衡用户和收益,在保障用户体验的状况下,实现最大水平的收益获取?针对这个问题,小甲感觉能够着重从两个层面别离思考: 1)广告款式: 近几年,业内的广告款式一直新陈代谢,究其根源也是出于对用户体验的忧愁和摸索。开发者能够依据本人的app类型,合理配置广告款式,尽量让广告款式与利用整体格调、内容款式保持一致,力争将广告信息的植入与APP应用环境高度交融。从而在兼顾用户体验的同时进步广告的点击率与转化率。 在这里,小甲就以激励视频举例,这是近两年CPM价值最高、最受开发者欢送的一种广告款式,就是通过促使用户观看广告获取处分,例如游戏类APP中的观看广告获取道具处分、工具类APP中的观看广告获取暂时性特权性能等,这种模式能够化被动为被动,减少用户粘度和活跃度。另外开发者也能够利用用户激励体系开发更多的激励视频场景,实现用户体验与广告收益的双赢。 2)广告治理: 在广告治理方面,小甲感觉有两点须要咱们特地留神: 一是广告品质的把控。 出于爱护用户体验的思考,开发者能够制订“软性”限度,将一些合规但制作低劣的内容、和本身用户属性齐全不符的广告内容挡在门外。 二是设置正当广告展现位与展现频次。 在广告展现位的选取上,初期能够“小步快跑”,以循序渐进的模式进行加码。开发者能够选取1-2个广告位进行后期察看,视成果和用户反馈拓展其余广告位。地位上,初期能够抉择流量较高、点击量较高的地位设置埋点,收集更多的信息数据进行下一步判断。 另外,正当的展现频次也是保护用户体验的重要一环。过高的频次既会挫伤用户体验,也会拉低CPM。不同用户、不同广告类型,在不同产品上的最佳展现次数都不同,倡议APP开发者通过试验,找到适宜本产品的最佳展现次数。 2、广告接入形式 解决了广告变现和用户体验的问题,那么优质的广告主上哪找?广告接入的形式又如何在技术上实现呢? 比拟传统的形式是媒体凭借本身直客的力量拓展广告主,但因人群未精准划分,对于成果广告主的投放成果没有保障。当然,在达到肯定的体量之后且技术团队弱小的状况下,是能够思考自主搭建本人的程序化广告投放平台的。但因广告产品体系宏大架构简单,从零搭建投入较高,危险也绝对较大,倒退到不同阶段的开发者能够依据本身的状况审慎思考。 接入第三方平台是目前较为广泛的广告变现伎俩,对开发者来说,工夫和技术老本都比拟低。作为国内名列前茅的视频化广告平台,穿山甲成熟的技术零碎能够帮忙开发者防止破费大量人力物力进行技术平台的搭建;同时,穿山甲通过业内当先的视频化广告款式和举荐技术,为寰球APP和广告主提供用户增长和变现解决方案,让APP更有价值。 而且从广告主资源上看,咱们穿山甲平台背靠巨量引擎,广告主资源丰盛,目前已超过8.5w,其中头部客户耗费占比在95%以上,客户群体横跨117个细分行业。此外,开发者还能够对产品和人群做好定位后接入穿山甲进行测试,提前优化广告展现成果,从而实现广告变现收益的更大化。 三、写在最初 在APP变现之路上,从来不短少那些所谓能够一撮而就的“捷径”。然而在如何实现收益的同时,保障用户取得更好的应用体验,不被商业化操作打搅,就绝离不开开发者们的矢志谋求与致力。在此,小甲愿能陪伴每位有现实的APP开发者,早日实现APP变现的光芒之路。更多粗疏精准的工具行业洞察和解决方案,欢送大家返回“穿山甲成长学院”小程序进行查看。
2020,疫情给挪动广告行业带来怎么的影响? 2021,挪动广告行业又有怎么的趋势与变动? TalkingData重磅公布《流量聚拢 营销下沉——疫情下的2020挪动广告行业报告》,基于TalkingData数据中心数据,对2020挪动广告行业数据进行盘点,并基于行业调研数据,对2021挪动广告行业趋势进行预测,为广告主和广告营销从业者提供洞察与参考。 本文节选报告次要内容,残缺报告请点击此处。 在疫情下的2020年,咱们发现挪动广告行业有如下几大特色: 外围发现1. 疫情影响 广告投放受疫情影响重大,疫情弛缓期投放量级2倍减少疫情对广告投放阶段影响较大,但全年放弃安稳2. 行业趋势 广告投放向头部媒体歪斜,投放量级同比升高一、二线地区投放增长放缓,下沉市场投放增长迅猛OTT投放量级继续攀升,品牌广告主器重多维度触达营销推广估算节节攀升,广告主减少估算比重志愿减少3. 消费者洞察 各“屏域”围绕消费者生存,家庭场景充斥商机品牌广告触达以年轻人、新一线城市消费者为主挪动视频是营销主阵地,手机游戏畛域后劲待开掘 Part.1 2020 挪动广告行业数据概览点击趋势成果广告点击量同比升高4.2% 较2019年放弃安稳 2020年全平台成果广告点击总量同比降落4.2%,较2019年稳定幅度不大,放弃安稳。为了晋升流量品质,大部分广告主开始偏向投放大媒体及DSP平台,减小了对CPA渠道的投放力度, 导致CPA渠道投放量级有所下滑。 iOS平台2020年点击总量同比上涨58% 4-5月呈现点击热潮 从挪动成果广告点击体现看,iOS平台仍旧没有解脱2019年以来的上涨颓势(相比2018年) ,跌幅进一步扩充,达到58%;从2020年各月体现看,上半年除1、2月(春节期间)点击量略低外,其余月份的点击量均高于下半年,并在5月呈现波峰。 继续暴发 Android平台2020年点击总量同比增长近4倍 2020年Android平台各月挪动成果广告点击量出现逐步上涨的趋势,且在8月达到一年当中的峰值。在2019年301.3%的暴发增长前提下,2020年挪动成果广告在Android平台依然放弃迅猛增长的势头,同比增长达375%。 在近两年“国潮热”与5G商业化倒退的背景下,2020年各大国产终端厂商,如华为、OPPO、小米、vivo等继续公布新品,市场迎来换机潮,助推了Android平台挪动广告点击量的上涨。 一、二线地区增长放缓 下沉市场增长迅猛 从数据上看,一二线城市广告点击降幅显著,广告主也更加器重下沉市场的流量获取。西北地区增幅显著,如青海省同比增长81%、甘肃省同比增长63%。从来量级较大的北京等地,因为市场笼罩趋于饱和,同比增长为-6%。 2020年均匀异样点击率同比小升 iOS平台舞弊刷量绝对恶化 整体上看,2020年挪动成果广告均匀异样点击率为56.7%,相比2019年的49.5%晋升7.2个百分点。但iOS平台与Android平台的变化趋势却有显著差别。 2020年,iOS平台挪动成果广告点击量均匀异样率进一步降落,均匀异样点击率同比升高39%,状况有肯定恶化。 继续好转 Android平台异样点击率达77.5% 而2020年Android平台挪动成果广告点击量均匀异样率高达77.5%,相比2019年的52.2%同比增长48.6%,从各月异样点击趋势看,下半年异样点击行为有所减轻,并在11月达到84.8%。 相比关闭的iOS生态,开源的Android平台绝对容易滋生黑产行为,特地是在Android平台点击量暴发增长的状况下,惯以舞弊、刷量等操作模式的行业黑产也瞄准了Android平台的牟利空间,伪造点击趋势显著走强。 激活趋势全平台推广激活量级大涨 短视频归因模式优化晋升推广激活 2020年全平台激活总量同比增长83.4%,相较2019年有大幅增长。头部短视频媒体依靠于短视频的产品状态,当初更加器重无效触点对用户的影响,将“点击归因”迭代为“无效触点” 归因模式,大幅晋升了广告投放对于用户下载激活APP的影响。 推广激活总量iOS大降、Android大涨 策略优化助力推广激活占比涨至21.7% 从推广激活总量上看,不同平台也有不同的体现。因为推广量级的升高,2020年iOS平台挪动成果广告推广激活总量同比升高52.1%。而因为Android平台整体点击数据呈爆发性增长态势,导致Android平台2020年推广激活量较2019年晋升了137.1%。 从推广激活占比上看,2020年推广激活占比实现高速增长,推广流动所带来的激活量在激活总量(推广激活+天然激活)中的占比达到21.7%,相比2019年进步了4.8个百分点。 推广激活更受“黑产”侵扰 2020年推广激活均匀异样率达66.3% 近年来网络黑产主攻的方向还是激活舞弊伎俩,2020年全平台挪动广告监测的推广流动均匀异样激活率较2019年仍有增长,达到66.3%。其中7-12月的异样激活率要显著高于1-6月的状况,这也与疫情起因相干。 其中,iOS平台在2020年挪动成果广告的推广激活均匀异样率达到60.6%,较2019年同比增长1.4%;而Android平台异样激活率较同比增长11.1%,达到68.5%。 谁动了利用市场的“奶酪”? 挪动终端市场为外围流量 从Android平台利用市场推广激活量比重看,华为利用市场推广激活量占比超过30%,腾讯利用宝占比10.2%,OPPO软件商店占比10.8%,小米利用商店占比5.3%,vivo利用商店占比4.3%,上述五家共计产生的推广激活总量超60%,占据了Android平台利用市场推广激活的一大半流量。 尽管腾讯利用宝、OPPO、小米、vivo仍处于头部梯队,但市场占有率相较于2019年继续走低。华为终端设备在2020年势头迅猛,同比增长22%。为Android平台所有利用市场中,惟一出现正增长的挪动终端利用商店。 微信小程序利用场景更加细分 “裂变”状态为次要传播方式 小程序利用逐渐失去宽广用户熟知之后,针对于小程序的玩法也更加多样化。从小程序的利用流量入口咱们能够看出,微信聊天主页面下拉进入小程序曾经逐步被用户所习惯,关上占比25%。 在推广传播方式上,更多的小程序开发者依据微信聊天、朋友圈两个流量汇合分享小程序音讯,实现裂变流传,有超过60%的用户通过微信聊天页、朋友圈广告或分享,进入到小程序中。依靠微信生态,通过社群裂变成为了广告主私域经营的次要形式,在微信生态内即可实现对用户的营销全链路。尤其是网络购物类产品得益于本身产品、微信生态的劣势,在小程序中最为沉闷。 挪动广告网络排行榜挪动广告网络点击量TOP20 挪动广告网络激活量TOP20 ...
在线广告的创意类型: 横幅广告文字链广告富媒体广告视频广告社交广告移动广告邮件定向营销广告............... 随着互联网产品的发展变得越来越丰富。诸多在线广告的创意类型在投送方式和用户交互方式等方面有不同的选择,除了以上面这些创意为载体推广的广告,还有其他很多种类型。 接下来我们看两个广告,广告的目的是提高app的安装激活率。 一个是落地页形式,一个是横幅形式。 首先看两个广告: 下载的形式一般会有两种情况:(1)用户去应用商店下载(2)用户在原页面下载 但是用户在原页面下载会出现劫持的情况,例如提示用户安装包可能不安全,推荐去应用市场下载。 流程图: 劫持: 投放在渠道方的包会因为某种原因(例如不安全等因素)被应用市场劫走, 此时会造成非自然量(广告带来的)流入应用市场, 这样会造成应用市场流量升高⤴️, 而渠道方流量涨幅偏低,从而影响决策。 归因的作用之一就是要解决应用市场劫持问题。归因:把激活归到某个广告。 要做归因,需要解决的问题。1.如何标识一个设备的唯一性。2.如何解决劫持问题。3.归因回传
推荐系统“推荐系统”第一次出现在大众视野源自美国学者Resnick & Varian,其给出得到定义一直沿用至今,电子商务推荐系统是指利用电子商务网站向客户提供商品信息和建议,帮助客户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程。为什么定义要加上电子商务这个领域范围的限制,难道说只有电子商务领域才有推荐系统。我的理解是,推荐系统设计的初衷是解决信息过载问题,帮助用户在茫茫信息中找到对自己有价值的信息,大大节约时间和精力。而电子商务领域在如今是一个非常火的领域,如阿里巴巴,京东商城,交易信息每天都在产生,数据量大是电子商务领域显著的特点,如何利用这些信息挖掘潜在购买力推动着电子商务企业大胆尝试做这件事。推荐系统如网易云音乐网站、抖音小视频、今日头条资讯APP等也都具有数据量大的特点,所以推荐系统在音乐、视频、资讯等领域也很常见。个性化推荐系统传统意义上的推荐系统还不是真正的个性化推荐系统,顾名思义,个性化推荐系统简单理解就是让推荐系统拥有个性化特征,就像推荐系统就是为你本人定制的,清楚你的喜好,实时为你提供推荐服务。而要做到这一点,你的所有历史记录就是个性化推荐系统能利用的信息,它认为你的行为历史代表了你在某个时间点或者时间段的喜好或者需求,恰当地利用这些信息可以给你意想不到的推荐服务。搜索引擎,广告系统个性化推荐系统这么强,以致于许多人已经对它产生依赖性,就像手机成了不可或缺的工具。那推荐系统出现之前又是谁在为大家服务呢?第一个就是搜索引擎,代表作品就是百度浏览器和谷歌浏览器,以及bing搜索,360浏览器等。搜索引擎的出现也是为了解决信息过载,浩如烟海的信息,不仅仅局限在某个领域了,只需要通过几个关键词就可以大致准确地为你查询到相关信息。但是它不同于推荐系统,搜索引擎旨在用户的主动性,用户主动搜索自己想要的东西,用户的需求十分明确,但是缺乏个性化,你搜索出的东西可能是大众需求,不代表个人兴趣。而推荐系统旨在用户的被动性,推荐系统占主动,在某个合适的时间为你“量身”推荐你想要的东西,这时用户的兴趣是模糊的,如我想听好听的歌,但是不知道具体哪一首,这时候推荐系统的优势就显露出来了。第二个是广告系统,好的广告能给企业带来意想不到的财富,差的广告让人所诟病,甚至葬送公司的美好前程。广告系统也是将合适的信息推荐给合适的受众,但是商业化比较强,广告系统一般包含广告主,平台和用户三部分,平台按照广告投递和相应或者成功交易进行计费。广告系统更准确地说对一类人进行推荐服务,如高考培训机构广告投放到学生视野中,健身广告投放到健身社区等。而个性化推荐系统就是针对个人进行“定制”,更具针对性和有效性。推荐系统的发展如何恰当利用用户历史信息是一个关系到推荐效率的重要举措。推荐系统早期是基于内容的推荐系统,比如我买了一件衣服,推荐系统会根据我买的衣服提取衣服特征,比如颜色,材料,品牌等等,然后根据这些信息推荐一件大部分具备这些信息的相似衣服,推荐系统认为既然你喜欢这件衣服,那也可能喜欢与这件衣服相似的衣服。这种算法也遭受了很大的挑战,如提取信息的难度是巨大的,视频信息的提取就是个代表,视频信息量大,时间长,待提取的特征很多,这就给推荐造成了巨大的难度。再者,提取信息这件事需要专业领域的人去做,门外汉始终没有专业领域的人提取信息准确有效,所以也会给推荐带来挑战。为了减少这种挑战,学者转而关注用户行为,提出基于协同过滤的推荐系统,研究用户行为之间和商品之间的潜在相似性,举个例子,用户A买了一件漂亮裙子,恰好用户B也买了同样的裙子,那么推荐系统认为用户A和B具有一定相似性,那么B购买的其它裙子A有一定可能也会喜欢,因此推荐系统就会推荐用户B购买过而用户A没有购买过的衣服。可以看到基于协同过滤的推荐系统并没有考虑裙子的任何属性,只关注用户的购买行为,这就绕开了提取物品或用户信息的瓶颈。基于协同过滤的推荐系统也是如今研究比较广泛的算法。推荐系统的挑战这部分内容来自Linyuan Lü、Matúš Medo的论文Recommender Systems数据稀疏性:一个网站可能存在许多用户和许多项目,用户对电影的喜好通过评分来反应,高分代表喜欢,低分相对来说不那么喜欢。但是一个用户对电影网站上的电影有效评价个数在少数,绝大部分电影并未评分,所以如果将用户和项目视作一个矩阵的话,这个矩阵是稀疏的。可扩展性:计算复杂度,时间复杂度,空间度复杂度冷启动:对于一个新用户和新项目来说,没有任何历史纪录对于推荐系统的确是个挑战精确性和多样性:当任务是推荐可能被特定用户欣赏的物品时,通常最有效的方法是推荐受欢迎和评价较高的物品。然而,这种推荐对用户来说价值很小,因为没有推荐系统,热门对象很容易找到(通常很难避免)。易受攻击:由于推荐系统在电子商务应用中的重要性,它很可能成为恶意攻击的目标,试图不公正地促进或抑制某些项目。有大量的工具可以防止这种行为,从阻止恶意评估进入系统到复杂的抵抗推荐技术。然而,这并不是一个容易的任务,因为随着防范工具的开发,攻击者的策略也越来越先进。例如,Burke等人介绍了八种攻击策略,进一步分为四类:基本攻击、低认知攻击、核攻击和知情攻击。时间因素:虽然实际用户的兴趣具有广泛的不同时间范围(例如,与计划旅行相关的短期兴趣和与居住地点或政治偏好相关的长期兴趣),但大多数推荐算法忽略了评估的时间戳。老观点的价值是否和如何随时间衰减,以及用户评价和项目相关性中的典型临时模式是什么,这是一个正在进行的研究领域。评估方式:虽然我们有很多不同的度量标准,但是如何选择最适合给定情况和任务的度量标准仍然是一个悬而未决的问题。不同推荐算法的比较也存在问题,因为不同的算法可能只解决不同的任务。最后,给定推荐系统的总体用户体验,包括用户对推荐的满意程度和用户对系统的信任,难以在“在线”评估中衡量。因此,经验用户研究仍然是推荐系统值得欢迎的反馈来源。用户界面:有研究表明,为了方便用户接受建议,建议必须是透明的。当明确为什么向用户推荐某一特定项目时,用户会表示赞赏。另一个问题是,由于潜在有趣项目的列表可能很长,因此需要以简单的方式呈现,并且应该易于浏览,浏览不同的建议,这些建议通常通过不同的方法获得。
鄙人不才,建站足有半年有余博客zzzmh.cn 壁纸bz.zzzmh.cn 插件chrome.zzzmh.cn 粗(初)布算了一笔账,没有杂七杂八的优惠,一般来说建站开支少说要30¥ ~ 150¥每月。。。那么如果想长期经营,最好能有一笔微薄的收益来支撑这些成本。最简单的当然可以放个微信支付宝的收款码求打赏。那么今天简单说下除此之外,几个也许可以获取微薄收益的方法。一、推广活动,例如:支付宝红包、云闪付APP支付宝红包、云闪付APP,用户扫码后可以获得随机金额的消费红包。按照活动规则,用户完成任务以后,站长便可获得响应的推广奖励。虽然不多也可以积少成多。效果如下二、技术类型网站可以做云主机推广。例如:阿里云、腾讯云这类推广需要结合当时的云主机提供商搞的推广活动,以实际为准。目前来看是通过挂图片外链,到云主机的各种产品购买活动,用户消费成功后,按结果15~30%的提成。最终推广的效果看图中标识三、广告联盟,例如:阿里妈妈、京东联盟、百度联盟。其中阿里妈妈和京东联盟,都是按效果结算奖励,也就是用户最终购买了商品,可以获得相应比例的提成奖励。这两个申请起来相对容易一些。百度联盟略有,他可以按点击次数奖励。但是申请门槛较高,一般个站人气权重不够高略难申请下来。END本博客也发布在了我的项目: https://zzzmh.cn/single?id=57
上个周写个篇文章《一篇文章了解广告全链路》,在其中我们讨论了数字营销中广告是如何售卖的,以及广告的实时竞价和库存算法。但是,其实上面那篇文章还没有完结,它还缺了一些落地的部分。上一篇文章只阐述了广告的玩法,并没有切合前端开发的实际情况来讲解前端开发在广告中所处的角色。本文借助AdMasker发布的《2019数字营销趋势报告》,从广告的发展趋势和尚存问题讲起,引出前端开发在未来应该逐渐的所处的角色和应该承担的责任。因为是笔者自己在广告领域的一些体会,不可避免的可能会有一些认知的偏差,欢迎大家评论探讨。1. 广告发展趋势尽管大环境的经济形式不好,但是79%广告主在2019年还是愿意继续加大数字营销的投入,平均增幅达到20%。具体来说:1.1 移动>>PC, OTT逐渐发力从平台上来说,移动端会继续抢占PC端的份额。同时,三成的广告主也会增加在电视端的营销投入,这将势必近一步降低PC端的预算。1.2 短视频继续加大优势从产品上来说,短视频将继续保持强大的增长势头。抖音、快手等短视频社交平台强大的吸粉及转化力,以及短视频广告强有力的展示效果,广告主将继续加大在短视频广告上的投入。2. 广告尚存问题但是当前数字营销中并不是没有问题了,具体表现在:2.1 虚假流量2010年的时候,谷歌就有了虚假流量判断算法,并一直提升,但是直到今天,虚假流量仍然还大量存在。尤其是国内的DSP平台,往往都是简单的虚假流量判断算法,甚至压根就没有虚假流量判断的逻辑。尤其是对于虚假流量中的人工作弊,并没有很好的办法。2.2 不确定的销售转化除此以外,当前的数字营销,并不能有效额确定销售转化。当广告主A投了一个广告,并因此产生了额外的销量,它很难跟踪到哪些销量是由接触到广告的人群提供的。不确定的销售转化也近一步为虚假流量提供了滋生的土壤。3. 前端的角色毫无疑问,前端在数字营销的领域中没有后端重要——工资和岗位需求上就能体现,捂脸。但是前端也有自己的发力点,尤其是当国内的广告行业竞争愈发激烈的现在。3.1 更高的人机交互体验受益于5G的发展,可以预见到,流量和加载速度将不是制约广告的因素。未来,随着广告行业竞争的加剧和用户对广告的免疫。广告的渲染将越来越复杂——不仅仅是素材质量,还有更高的人机交互。比如说,今日头条上的短视频广告,比起其他APP上偶尔能见到的短视频广告,清晰度和交互上就好出了N个level。同样是“屠龙宝刀,点击就送”,头条明显在广告设计时在人机交互上很下功夫。广告一开始,立即下载的按钮事黑色的,给用户最小的内容和广告之间的反差感。几秒后按钮亮起,因为这时用户还没用离开,大概率是对这个广告感兴趣的,可以表明下载入口。再过几秒,再飘入一个banner,增加用户的下载几率。一个小小的广告竟然用了这么心思。一个好的广告,一定是可以做到用户体验和广告主权益兼得得,只考虑广告主展示权益的行为,肯定是短视的。当然,用户体验不仅仅体现在这里,但是,一个好的用户体验一定能让广告的转化更上一层楼。3.2 更精准数据的统计广告不仅仅只有渲染,还有曝光监测和上报。对于图片类广告的可见上报,当前尽管有50%的面积,持续展示1s的IAB标准,但是不同的平台实现并不统一。比如我就知道有的平台中写的是900ms而不是1s,这无疑会损害广告主的权益。而对于视频类广告,则根本还没有相应的IAB标准。如何将这些曝光准确的统计出来,也是前端一个很值得研究的点。另外当前的上报还有很多的缺陷,诸如跨域的限制,关键用户数据(移动唯一设备码等)的获得,弱网络情况下得延迟上报等,都是前端可以优化和深究的点。4 总结本文描述了广告在2019年的发展趋势和当前存在的问题,并在广告的渲染,监测和上报上阐述了前端可以努力的方向。作为自己的一个总结,也希望能给大家一些帮助。
笔者加入腾讯已经快5年时光,一直负责广告前端研发工作。最近即将离开公司,特意将广告的全链路整理了一下,作为自己的一个总结。本文将从产品的角度入手,通过描述广告的玩法,让读者对广告有一个整体的概念和印象。如果你对广告熟悉,只想了解广告的后台算法逻辑,大可从第三部分开始;如果你是对广告不太了解,那么从头开始阅读全文想必能让你有所收获。废话不多说,马上开始。1. 广告和它的分类广告,广而告之。在信息大爆炸的今天,酒香更怕巷子深了。如何尽快提高自己的曝光度,把产品推销给潜在受众,就成大部分商家的问题。当前,广告可以分为两种:品牌广告和效果广告。1.1 品牌广告品牌广告是最原始的广告,它的主要目的是进行商家品牌的塑造。多采用销售员和商家谈合约的方式进行售卖,单笔的交易额较大,定向并不准确,往往是CPT售卖。比如说奔驰在腾讯视频网站首页的广告,也不管笔者是不是买得起奔驰,直接就展示了出来。CPM: 广告最主要的计费手段,按每千次曝光来计费,其他计费方式也会最终转换为CPM来横向衡量它的价值CPT: 按广告展示的单位时间来计费,比如说8W/天CPC: 按用户的每次点击广告来计费CPA: 按用户的每次行动来计费,比如说填一个问卷或者注册CPS: 按实际的销售额来计费,如销售某件商品1.2 效果广告毫无疑问,品牌广告有个很大的问题在于,大量的广告费用被浪费在了非潜在用户身上。这对于小广告主——往往广告预算有限——是非常不友好的。而效果广告就是通过精准的定向,任意的购买数量,实时竞价的价格,迅速抢占了除了头部流量之外的其他流量。时至今日,数字化营销已经大行其道,效果广告也已经成了业界的主流——就看我之前供职的腾讯广平(主营品牌广告)被广点通(主营效果广告)收编就可以窥探一二。本文也主要是围绕着效果广告展开的。2. 购买/售卖流程在上一部分我们提到效果广告是当前的主流广告类型,那一个效果广告要如何才能被广告主购买,并最终展示给用户呢?首先要了解几个概念:DSP: 需求方平台。广告主用来进行购买广告的平台。ADX: 对接多个DSP和SSP,提供实时竞价的平台。SSP: 供应方平台。为资源提供方服务,处理一些用户纬度逻辑,管理广告位等。DMP: 第三方数据管理平台。为DSP,ADX,甚至SSP提供用户维度服务。RTB: 实时竞价让我们来整体过一下上面这张图,它可以分为N个步骤:广告主A想购买北上广三地的广告,所以他在某一个DSP上选择了“大城市维度”,并以8元/CPM的价格下单了10000CPM。当一个用户浏览媒体时,前端会迅速发送一个广告请求并带上用户的相关数据SSP把这个用户的相关信息进行维度拆分,例如30岁,上海,男性等,然后把这个曝光机会发送给ADX各DSP在ADX上对这个曝光机会进行竞拍,如果我们以20元/CPM的价格竞拍成功,广告主A就获得了这次展示机会SSP会获得广告主A的素材,然后再把这个素材传给前端前端根据素材进行渲染,用户从而在媒体上看到广告整个流程会在100ms以内完成。你可能也已经发现了,广告购买售卖的核心是RTB,那么RTB是怎么实现的呢?3. 广告核心:RTB要做到RTB,需要明确两个点,一个是该卖给谁,一个是还有多少货。举个例子:A每天卖200个西瓜。用户B愿意出5元/个的价格买3个,用户C愿意以10元/个买2个,用户D愿意以2元/个的价格买1000个,两天内交货。当然了,我们要先卖高价,然后再卖低价。同时,还需要考虑下是否能满足D的订单,否则可能背上官司。卖给谁的问题就是竞价,而能不能满足订单就是库存。3.1 竞价算法3.1.1 GSP(广义第一高价)这个算法是97年提出的。它很好理解,谁出价高广告就卖给谁。像下面的这种情况,无脑卖给广告主A。广告主出价A10元/CPMB4元/CPM但是这种算法不是没有问题的。广告主总是会倾向于出最少的钱,他会使用自动竞价工具反复试探当前的最高出价,然后再自己的承受范围内加一点,加一点。像上面的这个例子,如果没有底价的话,广告主A和B都会从0.1元开始,一直加到4元,然后B放弃了竞价,A马上又把价格降低为0.1元,B察觉到后又会重新加入到竞拍中,终而复始…这就造成了媒体收益的剧烈波动,另外不断的竞价嗅探也给整个平台造成了巨大的性能负担。3.1.2 GSP(广义第二高价)要是能让广告主减少不断变化的出价欲望就好了,GSP就是这样的一个算法——广告主按照自己的出价报价,但是按照第二高价付钱。例如3.1.1的例子中,A按照10元的报价拿到了曝光的机会,但是这次曝光只需要付出4元,所以实际的价格也是4元/CPM。在这种情况下,广告主并不会有特别的欲望频繁修改自己的出价。2002年Google一推出GSP,就因为它的稳定性和通俗易懂,很快成为了主流的竞价方式,并沿用至今。除了第二高价之外,GSP还引入了quality(广告因子)的概念。广告的竞价排序不再单纯是出价的高低了,而是竞价排序 = 出价 * qualityquality包含几千个维度,主要用于计算广告和用户的匹配程度,包括但不限于素材,上下文,时间,用户历史点击行为,广告类别,用户的人口属性等。这样的设计保证了广告的点击率,从而保证了媒体的利益。《浪潮之巅》中举过一个例子,AMD以1元/CPM的价格购买定向AMD的广告,但是Intel为了不让AMD做宣传,花4元/CPM的价格买下了所有的曝光机会。然而4元/CPM的价格对Intel来说也是亏本的,所以它通过CPC的方式来购买广告,并将广告素材改为了Coca Cola。由于定向不同,没有多少人会去点击广告,Intel花了很少的钱就打击了AMD。3.1.3 VCGGSP也不是一劳永逸,广告主B发现广告主A总是用较少的价格就能获取到曝光,他经过反复的尝试,判断出了广告主A 10元/CPM的报价,从而将报价改为9.9元。这样就可以快速消耗广告主A的广告预算,从而为自己获得曝光。广告主A发现自己的收益降低,也不甘示弱,降低为9.8元/CPM,广告主B从而以过高的价格获得了大量曝光,亏了一笔。于是广告主B又将价格降低为9.7元/CPM,继续坑广告主A…当然啦,实际的情况会比这个复杂很多,再有多个广告主,多个广告位的情况下,广告主很难找到一个合理的价格去坑对手。更何况这个操作的收益来的如此不明显。所以当前广告主还是更关注自己ROI(投资回报率),而不是干些刻意损人不利己的勾当。但是从理论上来说,这种情况确实存在。有没有一种算法可以实现让每个广告主都可以坦诚的说出自己的价格,并且获得最大的收益?这种算法就是VCG。它是为了最大的社会价值而生的。要解释它,可以举个例子。广告主盈利A10元/CPMB4元/CPMC2元/CPM广告位库存1号150CPM2号100CPM假设每个广告主只买一个广告位,在广告主A在不参与竞拍的情况下,BC广告主共收益150 4 + 100 2 = 800元,但是由于A广告主参与了竞拍,所以BC广告主的收益变成了100 * 4 = 400元,所以A广告主需要付出400元来买到1号这些CPM,单价为400 / 150 = 2.6元/CPM。同理,B广告主需要付出2元/CPM。所以媒体的总收益为600元。对比GSP的800元,VCG的收益明显是少了。这一部分的权益被让利给了广告主。事实上,数据推导证明,对于媒体来说,所有的GSP都比VCG盈利的多。但是长期来看,如果广告主接受并认可这种竞价方式,媒体也可能在市场占有率上获得回报,这也就是FaceBook为什么选择这种竞价方式的原因。3.2 库存算法刚才我们讨论了竞价,现在我们来讨论下库存。对于异常事件,库存预估算法是无能为力的,库存预估只能对大多数普遍的情况的作出预估。当前的库存预估算法主要有两种。3.1 建立数学模型通过对与库存强相关维度的分析,把维度当作参数构建数学模型,然后通过输入不同的维度值就可以得到最终的库存走势。3.2 根据ARIMA模型将离散的指经过数学处理,变为均衡波动的值,延伸这个均衡波动,反推从而推断离散的值。ARIMA是一种自线性回归模型,至于为什么不选择其他模型,是因为它的效果较好。4 总结本文描述了广告的全链路和相关的算法知识,受限于库存算法的复杂性和个人知识面,只粗略的提出了两个方案(广平使用的)。但是对于大家了解广告的玩法,还是希望能起到一定的借鉴意义。
背景DSP系统是互联网广告需求方平台,用于承接媒体流量,投放广告。业务特点是并发度高,平均响应低(百毫秒)。为了能够有效提高DSP系统的性能,美团平台引入了一种带有清退机制的缓存结构LruCache(Least Recently Used Cache),在目前的DSP系统中,使用LruCache + 键值存储数据库的机制将远端数据变为本地缓存数据,不仅能够降低平均获取信息的耗时,而且通过一定的清退机制,也可以维持服务内存占用在安全区间。本文将会结合实际应用场景,阐述引入LruCache的原因,并会在高QPS下的挑战与解决方案等方面做详细深入的介绍,希望能对DSP感兴趣的同学有所启发。LruCache简介LruCache采用的缓存算法为LRU(Least Recently Used),即最近最少使用算法。这一算法的核心思想是当缓存数据达到预设上限后,会优先淘汰近期最少使用的缓存对象。LruCache内部维护一个双向链表和一个映射表。链表按照使用顺序存储缓存数据,越早使用的数据越靠近链表尾部,越晚使用的数据越靠近链表头部;映射表通过Key-Value结构,提供高效的查找操作,通过键值可以判断某一数据是否缓存,如果缓存直接获取缓存数据所属的链表节点,进一步获取缓存数据。LruCache结构图如下所示,上半部分是双向链表,下半部分是映射表(不一定有序)。双向链表中value_1所处位置为链表头部,value_N所处位置为链表尾部。LruCache读操作,通过键值在映射表中查找缓存数据是否存在。如果数据存在,则将缓存数据所处节点从链表中当前位置取出,移动到链表头部;如果不存在,则返回查找失败,等待新数据写入。下图为通过LruCache查找key_2后LruCache结构的变化。LruCache没有达到预设上限情况下的写操作,直接将缓存数据加入到链表头部,同时将缓存数据键值与缓存数据所处的双链表节点作为键值对插入到映射表中。下图是LruCache预设上限大于N时,将数据M写入后的数据结构。LruCache达到预设上限情况下的写操作,首先将链表尾部的缓存数据在映射表中的键值对删除,并删除链表尾部数据,再将新的数据正常写入到缓存中。下图是LruCache预设上限为N时,将数据M写入后的数据结构。线程安全的LruCache在读写操作中,全部使用锁做临界区保护,确保缓存使用是线程安全的。LruCache在美团DSP系统的应用场景在美团DSP系统中广泛应用键值存储数据库,例如使用Redis存储广告信息,服务可以通过广告ID获取广告信息。每次请求都从远端的键值存储数据库中获取广告信息,请求耗时非常长。随着业务发展,QPS呈现巨大的增长趋势,在这种高并发的应用场景下,将广告信息从远端键值存储数据库中迁移到本地以减少查询耗时是常见解决方案。另外服务本身的内存占用要稳定在一个安全的区间内。面对持续增长的广告信息,引入LruCache + 键值存储数据库的机制来达到提高系统性能,维持内存占用安全、稳定的目标。LruCache + Redis机制的应用演进在实际应用中,LruCache + Redis机制实践分别经历了引入LruCache、LruCache增加时效清退机制、HashLruCache满足高QPS应用场景以及零拷贝机制四个阶段。各阶段的测试机器是16核16G机器。演进一:引入LruCache提高美团DSP系统性能在较低QPS环境下,直接请求Redis获取广告信息,可以满足场景需求。但是随着单机QPS的增加,直接请求Redis获取广告信息,耗时也会增加,无法满足业务场景的需求。引入LruCache,将远端存放于Redis的信息本地化存储。LruCache可以预设缓存上限,这个上限可以根据服务所在机器内存与服务本身内存占用来确定,确保增加LruCache后,服务本身内存占用在安全范围内;同时可以根据查询操作统计缓存数据在实际使用中的命中率。下图是增加LruCache结构前后,且增加LruCache后命中率高于95%的情况下,针对持续增长的QPS得出的数据获取平均耗时(ms)对比图:根据平均耗时图显示可以得出结论:QPS高于250后,直接请求Redis获取数据的平均耗时达到10ms以上,完全无法满足使用的需求。增加LruCache结构后,耗时下降一个量级。从平均耗时角度看,QPS不高于500的情况下,耗时低于2ms。下图是增加LruCache结构前后,且增加LruCache后命中率高于95%的情况下,针对持续增长的QPS得出的数据获取Top999耗时(ms)对比图:根据Top999耗时图可以得出以下结论:增加LruCache结构后,Top999耗时比平均耗时增长一个数量级。即使是较低的QPS下,使用LruCache结构的Top999耗时也是比较高的。引入LruCache结构,在实际使用中,在一定的QPS范围内,确实可以有效减少数据获取的耗时。但是QPS超出一定范围后,平均耗时和Top999耗时都很高。所以LruCache在更高的QPS下性能还需要进一步优化。演进二:LruCache增加时效清退机制在业务场景中,Redis中的广告数据有可能做修改。服务本身作为数据的使用方,无法感知到数据源的变化。当缓存的命中率较高或者部分数据在较长时间内多次命中,可能出现数据失效的情况。即数据源发生了变化,但服务无法及时更新数据。针对这一业务场景,增加了时效清退机制。时效清退机制的组成部分有三点:设置缓存数据过期时间,缓存数据单元增加时间戳以及查询中的时效性判断。缓存数据单元将数据进入LruCache的时间戳与数据一起缓存下来。缓存过期时间表示缓存单元缓存的时间上限。查询中的时效性判断表示查询时的时间戳与缓存时间戳的差值超过缓存过期时间,则强制将此数据清空,重新请求Redis获取数据做缓存。在查询中做时效性判断可以最低程度的减少时效判断对服务的中断。当LruCache预设上限较低时,定期做全量数据清理对于服务本身影响较小。但如果LruCache的预设上限非常高,则一次全量数据清理耗时可能达到秒级甚至分钟级,将严重阻断服务本身的运行。所以将时效性判断加入到查询中,只对单一的缓存单元做时效性判断,在服务性能和数据有效性之间做了折中,满足业务需求。演进三:高QPS下HashLruCache的应用LruCache引入美团DSP系统后,在一段时间内较好地支持了业务的发展。随着业务的迭代,单机QPS持续上升。在更高QPS下,LruCache的查询耗时有了明显的提高,逐渐无法适应低平响的业务场景。在这种情况下,引入了HashLruCache机制以解决这个问题。LruCache在高QPS下的耗时增加原因分析:线程安全的LruCache中有锁的存在。每次读写操作之前都有加锁操作,完成读写操作之后还有解锁操作。在低QPS下,锁竞争的耗时基本可以忽略;但是在高QPS下,大量的时间消耗在了等待锁的操作上,导致耗时增长。HashLruCache适应高QPS场景:针对大量的同步等待操作导致耗时增加的情况,解决方案就是尽量减小临界区。引入Hash机制,对全量数据做分片处理,在原有LruCache的基础上形成HashLruCache,以降低查询耗时。HashLruCache引入某种哈希算法,将缓存数据分散到N个LruCache上。最简单的哈希算法即使用取模算法,将广告信息按照其ID取模,分散到N个LruCache上。查询时也按照相同的哈希算法,先获取数据可能存在的分片,然后再去对应的分片上查询数据。这样可以增加LruCache的读写操作的并行度,减小同步等待的耗时。下图是使用16分片的HashLruCache结构前后,且命中率高于95%的情况下,针对持续增长的QPS得出的数据获取平均耗时(ms)对比图:根据平均耗时图可以得出以下结论:使用HashLruCache后,平均耗时减少将近一半,效果比较明显。对比不使用HashLruCache的平均耗时可以发现,使用HashLruCache的平均耗时对QPS的增长不敏感,没有明显增长。下图是使用16分片的HashLruCache结构前后,且命中率高于95%的情况下,针对持续增长的QPS得出的数据获取Top999耗时(ms)对比图:根据Top999耗时图可以得出以下结论:使用HashLruCache后,Top999耗时减少为未使用时的三分之一左右,效果非常明显。使用HashLruCache的Top999耗时随QPS增长明显比不使用的情况慢,相对来说对QPS的增长敏感度更低。引入HashLruCache结构后,在实际使用中,平均耗时和Top999耗时都有非常明显的下降,效果非常显著。HashLruCache分片数量确定:根据以上分析,进一步提高HashLruCache性能的一个方法是确定最合理的分片数量,增加足够的并行度,减少同步等待消耗。所以分片数量可以与CPU数量一致。由于超线程技术的使用,可以将分片数量进一步提高,增加并行性。下图是使用HashLruCache机制后,命中率高于95%,不同分片数量在不同QPS下得出的数据获取平均耗时(ms)对比图:平均耗时图显示,在较高的QPS下,平均耗时并没有随着分片数量的增加而有明显的减少,基本维持稳定的状态。下图是使用HashLruCache机制后,命中率高于95%,不同分片数量在不同QPS下得出的数据获取Top999耗时(ms)对比图:Top999耗时图显示,QPS为750时,分片数量从8增长到16再增长到24时,Top999耗时有一定的下降,并不显著;QPS为1000时,分片数量从8增长到16有明显下降,但是从16增长到24时,基本维持了稳定状态。明显与实际使用的机器CPU数量有较强的相关性。HashLruCache机制在实际使用中,可以根据机器性能并结合实际场景的QPS来调节分片数量,以达到最好的性能。演进四:零拷贝机制线程安全的LruCache内部维护一套数据。对外提供数据时,将对应的数据完整拷贝一份提供给调用方使用。如果存放结构简单的数据,拷贝操作的代价非常小,这一机制不会成为性能瓶颈。但是美团DSP系统的应用场景中,LruCache中存放的数据结构非常复杂,单次的拷贝操作代价很大,导致这一机制变成了性能瓶颈。理想的情况是LruCache对外仅仅提供数据地址,即数据指针。使用方在业务需要使用的地方通过数据指针获取数据。这样可以将复杂的数据拷贝操作变为简单的地址拷贝,大量减少拷贝操作的性能消耗,即数据的零拷贝机制。直接的零拷贝机制存在安全隐患,即由于LruCache中的时效清退机制,可能会出现某一数据已经过期被删除,但是使用方仍然通过持有失效的数据指针来获取该数据。进一步分析可以确定,以上问题的核心是存放于LruCache的数据生命周期对于使用方不透明。解决这一问题的方案是为LruCache中存放的数据添加原子变量的引用计数。使用原子变量不仅确保了引用计数的线程安全,使得各个线程读取的引用计数一致,同时保证了并发状态最小的同步性能开销。不论是LruCache中还是使用方,每次获取数据指针时,即将引用计数加1;同理,不再持有数据指针时,引用计数减1。当引用计数为0时,说明数据没有被任何使用方使用,且数据已经过期从LruCache中被删除。这时删除数据的操作是安全的。下图是使零拷贝机制后,命中率高于95%,不同QPS下得出的数据获取平均耗时(ms)对比图:平均耗时图显示,使用零拷贝机制后,平均耗时下降幅度超过60%,效果非常显著。下图是使零拷贝机制后,命中率高于95%,不同QPS下得出的数据获取Top999耗时(ms)对比图:根据Top999耗时图可以得出以下结论:使用零拷贝后,Top999耗时降幅将近50%,效果非常明显。在高QPS下,使用零拷贝机制的Top999耗时随QPS增长明显比不使用的情况慢,相对来说对QPS的增长敏感度更低。引入零拷贝机制后,通过拷贝指针替换拷贝数据,大量降低了获取复杂业务数据的耗时,同时将临界区减小到最小。线程安全的原子变量自增与自减操作,目前在多个基础库中都有实现,例如C++11就提供了内置的整型原子变量,实现线程安全的自增与自减操作。在HashLruCache中引入零拷贝机制,可以进一步有效降低平均耗时和Top999耗时,且在高QPS下对于稳定Top999耗时有非常好的效果。总结下图是一系列优化措施前后,命中率高于95%,不同QPS下得出的数据获取平均耗时(ms)对比图:平均耗时图显示,优化后的平均耗时仅为优化前的20%以内,性能提升非常明显。优化后平均耗时对于QPS的增长敏感度更低,更好的支持了高QPS的业务场景。下图是一系列优化措施前后,命中率高于95%,不同QPS下得出的数据获取Top999耗时(ms)对比图:Top999耗时图显示,优化后的Top999耗时仅为优化前的20%以内,对于长尾请求的耗时有非常明显的降低。LruCache是一个非常常见的数据结构。在美团DSP的高QPS业务场景下,发挥了重要的作用。为了符合业务需要,在原本的清退机制外,补充了时效性强制清退机制。随着业务的发展,针对更高QPS的业务场景,使用HashLruCache机制,降低缓存的查询耗时。针对不同的具体场景,在不同的QPS下,不断尝试更合理的分片数量,不断提高HashLruCache的查询性能。通过引用计数的方案,在HashLruCache中引入零拷贝机制,进一步大幅降低平均耗时和Top999耗时,更好的服务于业务场景的发展。作者简介王粲,2018年11月加入美团,任职美团高级工程师,负责美团DSP系统后端基础架构的研发工作。崔涛,2015年6月加入美团,任职资深广告技术专家,期间一手指导并从0到1搭建美团DSP投放平台,具备丰富的大规模计算引擎的开发和性能优化经验。霜霜,2015年6月加入美团,任职美团高级工程师,美团DSP系统后端基础架构与机器学习架构负责人,全面负责DSP业务广告召回和排序服务的架构设计与优化。招聘美团在线营销DSP团队诚招工程、算法、数据等各方向精英,发送简历至cuitao@meituan.com,共同支持百亿级流量的高可靠系统研发与优化。