化妆品销量不断攀升国产品牌或迎市场春天
发布日期:2018-08-14
阅读量:2414

商务部新闻发言人于7月份通报了上半年我国消费市场的亮点,包括网络零售占比提高、便利店等业态增速加快、服务贸易规模持续扩大、改善升级类商品销售平稳、消费价格温和上涨等5个方面。在“消费升级类商品”方面,全国限额以上单位化妆品销售额同比增长14.2%较上年同期加快2.9个百分点。

现在我们随便打开电视,手机,都会发现化妆品的广告层出不穷。当下热播的综艺节目更是被一些化妆品牌豪掷千金独揽冠名权。

化妆品行业被称为“美丽经济”,也是市场化程度最高的行业之一。国际巨头品牌纷纷进入,在化妆品行业的市场份额中占据明显优势。然而,国内化妆品牌的集中度也正在逐渐提升,不断细分产品领域(如精油、药妆等等),形成自己独特的竞争力,并且加大市场营销与广告进入,不断提高自身的品牌知名度和市场占有率。另一方面,随着化妆品市场总量不断扩张的同时,化妆品市场的销售渠道、营销模式、品牌建设等方面正在发生着重大变革,这给本土化妆品牌带来了新的机遇。

 

近年来,电子商务的兴起为化妆品行业提供了一个不同于线下的竞争市场,消费者更加注重产品的网络口碑、商家信誉、产品配送速度等因素。同时,由于节省了商贸流通等中间环节的成本,化妆品产品的线上价格比线下价格具有优势,对消费者更具吸引力。

作为网络交易的细分品类,根据统计,2016 年化妆品电商渠道销售额占比从 2011 年的 5.2%上升到 2016 年的 20.6%。未来,随着化妆品品牌方和线下专营店积极发展线上渠道,以及电商平台通过与品牌方合作,为用户提供更好的产品和消费体验,化妆品网络零售市场规模将继续增长,化妆品线上渗透将进一步加深。

不难发现,商场上的高端化妆品鲜见本土品牌。一般而言,200元以下的化妆品单品属于大众品牌,200-400元的单品属于中高端品牌,400元以上则属于高端品牌。在400元以上区间,除了上海家化的佰草集等少数品牌,本土企业的身影尚不多见。究其原因,高端化妆品并不像大众品牌,容易产生“广告一响、黄金万两”的效果。没有卓越的品质支撑和10年以上的培育,很难在高端市场上占据一席之地。

上海臻臣化妆品有限公司董事长田勇分析称“如今的消费市场正在发生翻天覆地的变化,欧美目前出现了很多独立的潮牌,不属于欧莱雅、雅诗兰黛、LVMH、科蒂这四大集团,独立品牌成长非常快,最快的品牌30个月销售额从0到7.5亿美金。”因此,在国际国内企业日趋白热化的竞争中,迅速成长的中国日化企业也在大浪淘沙中重新洗牌,涌现出一批独立品牌。近年来,包括上海家化、伽蓝集团、百雀羚、上海上美、珀莱雅等本土护肤品企业出现在护肤品国内市场占有率排名前 20 的名单中,且大都呈现上升趋势;同时上述企业的合计市场占有率也逐年提升。虽然本土品牌市场占有率逐年上升,但与发达国家相比仍有较大的提升空间。

未来国产化妆品发展空间大

虽然本土品牌市场占有率逐年上升,但与发达国家相比,我国本土品牌市场份额仍然很低,未来还有较大提高空间。尤其是从发达国家经验看,大多数国家都是本土企业占据主导地位,最大本土企业占本国化妆品市场的份额在15%-25%之间。

从国际市场来看,以美国为例,其化妆品前十名企业中,只有欧莱雅(法国)一家国外企业,同时美国化妆品市场集中度较高,前十企业市场占有率超过70%。在同为亚洲的日韩也是一样的情况,韩国化妆品市场以本土企业爱茉莉太平洋和LG生活馆两大化妆品集团为首,这两集团就占据近45%的市场份额,其他国际品牌市场占比仅为25%;日本前三大集团合计占到日本化妆品市场的一半以上,2016年前十企业的市场份额达到72.3%。而中国最大的化妆品企业上海家化的份额不到2%,可见未来我国化妆品市场的发展空间还很大。

“在广告投入、市场营销和渠道组织等方面,国内化妆品企业已经与世界先进水平看齐。但不得不承认,本土化妆品的短板在于研发。”中国美容博览会主席桑敬民表示。

从消费升级的趋势看,抓研发和品质是本土化妆品的必由之路。中国美容博览会发布的报告显示,高品质、高性价比是消费者购买美妆产品的核心驱动力,“千禧一代”的用户不会盲目追捧广告堆出的大牌。

上海家化董事长张东方说,相比外资,本土化妆品更了解国内消费者的需求。“只要坚守品质,同时不断创新迭代,本土品牌没有理由做不好。”

国内本土化妆品企业具有贴近国内消费者需求的天然优势,能够更好的了解国内消费者的消费偏好,实施精准的品牌定位,并且通过灵活的供应链管理,以及与日化专营店、电商等渠道的默契配合,从而提升品牌知名度和信任度,本土化妆品品牌有望保持持续稳定增长。

专栏:行业资讯
作者: 金宗机械
原文链接: 阅读原文
上一页:钛反应釜基体原料和质量问题
下一页:【政策】天津对危化品企业开展专项整治 重点检查11项内容
FreeMarker template error (HTML_DEBUG mode; use RETHROW in production!)

The following has evaluated to null or missing:
==> langConfig  [in template "public_include/wap/module/version_1/language.html" at line 49, column 14]

----
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #if langConfig.status?string = "false"  [in template "public_include/wap/module/version_1/language.html" at line 49, column 9]
	- Reached through: #include "/public_include/wap/module/...  [in template "tpl/2018/03/17/2613443926933696//wap/com_5.html" at line 5, column 1]
	- Reached through: #include "com_5.html"  [in template "tpl/2018/03/17/2613443926933696//wap/displaynews.html" at line 69, column 6]
----

Java stack trace (for programmers):
----
freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]
	at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134)
	at freemarker.core.UnexpectedTypeException.newDesciptionBuilder(UnexpectedTypeException.java:80)
	at freemarker.core.UnexpectedTypeException.<init>(UnexpectedTypeException.java:43)
	at freemarker.core.NonHashException.<init>(NonHashException.java:49)
	at freemarker.core.Dot._eval(Dot.java:48)
	at freemarker.core.Expression.eval(Expression.java:81)
	at freemarker.core.BuiltInsForMultipleTypes$stringBI._eval(BuiltInsForMultipleTypes.java:692)
	at freemarker.core.Expression.eval(Expression.java:81)
	at freemarker.core.EvalUtil.compare(EvalUtil.java:111)
	at freemarker.core.ComparisonExpression.evalToBoolean(ComparisonExpression.java:62)
	at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48)
	at freemarker.core.Environment.visit(Environment.java:327)
	at freemarker.core.Environment.visit(Environment.java:333)
	at freemarker.core.Environment.include(Environment.java:2509)
	at freemarker.core.Include.accept(Include.java:171)
	at freemarker.core.Environment.visit(Environment.java:327)
	at freemarker.core.Environment.visit(Environment.java:333)
	at freemarker.core.Environment.include(Environment.java:2509)
	at freemarker.core.Include.accept(Include.java:171)
	at freemarker.core.Environment.visit(Environment.java:327)
	at freemarker.core.Environment.visit(Environment.java:333)
	at freemarker.core.Environment.process(Environment.java:306)
	at freemarker.ext.servlet.FreemarkerServlet.processEnvironment(FreemarkerServlet.java:946)
	at freemarker.ext.servlet.FreemarkerServlet.process(FreemarkerServlet.java:910)
	at freemarker.ext.servlet.FreemarkerServlet.doGet(FreemarkerServlet.java:769)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.kenfor.iyong.web.util.filter.NotAllowedToTunFilesFilter.doFilter(NotAllowedToTunFilesFilter.java:154)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at com.kenfor.iyong.web.util.filter.InvalidXSSFilter.doFilter(InvalidXSSFilter.java:40)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
	at com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve.invoke(RedisSessionHandlerValve.java:26)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
	at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:873)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:687)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)

FreeMarker template error: The following has evaluated to null or missing: ==> langConfig [in template "public_include/wap/module/version_1/language.html" at line 49, column 14] ---- Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #if langConfig.status?string = "false" [in template "public_include/wap/module/version_1/language.html" at line 49, column 9] - Reached through: #include "/public_include/wap/module/... [in template "tpl/2018/03/17/2613443926933696//wap/com_5.html" at line 5, column 1] - Reached through: #include "com_5.html" [in template "tpl/2018/03/17/2613443926933696//wap/displaynews.html" at line 69, column 6] ---- Java stack trace (for programmers): ---- freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...] at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134) at freemarker.core.UnexpectedTypeException.newDesciptionBuilder(UnexpectedTypeException.java:80) at freemarker.core.UnexpectedTypeException.(UnexpectedTypeException.java:43) at freemarker.core.NonHashException.(NonHashException.java:49) at freemarker.core.Dot._eval(Dot.java:48) at freemarker.core.Expression.eval(Expression.java:81) at freemarker.core.BuiltInsForMultipleTypes$stringBI._eval(BuiltInsForMultipleTypes.java:692) at freemarker.core.Expression.eval(Expression.java:81) at freemarker.core.EvalUtil.compare(EvalUtil.java:111) at freemarker.core.ComparisonExpression.evalToBoolean(ComparisonExpression.java:62) at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48) at freemarker.core.Environment.visit(Environment.java:327) at freemarker.core.Environment.visit(Environment.java:333) at freemarker.core.Environment.include(Environment.java:2509) at freemarker.core.Include.accept(Include.java:171) at freemarker.core.Environment.visit(Environment.java:327) at freemarker.core.Environment.visit(Environment.java:333) at freemarker.core.Environment.include(Environment.java:2509) at freemarker.core.Include.accept(Include.java:171) at freemarker.core.Environment.visit(Environment.java:327) at freemarker.core.Environment.visit(Environment.java:333) at freemarker.core.Environment.process(Environment.java:306) at freemarker.ext.servlet.FreemarkerServlet.processEnvironment(FreemarkerServlet.java:946) at freemarker.ext.servlet.FreemarkerServlet.process(FreemarkerServlet.java:910) at freemarker.ext.servlet.FreemarkerServlet.doGet(FreemarkerServlet.java:769) at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at com.kenfor.iyong.web.util.filter.NotAllowedToTunFilesFilter.doFilter(NotAllowedToTunFilesFilter.java:154) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at com.kenfor.iyong.web.util.filter.InvalidXSSFilter.doFilter(InvalidXSSFilter.java:40) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve.invoke(RedisSessionHandlerValve.java:26) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:873) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:687) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)