Press "Enter" to skip to content

机器学习价格优化前的数据准备

关于机器学习的定价有一些很好的理论,特别是“正确”的数据对于建立一个成功的机器学习模型的重要性。但实际上,我们已经看到,零售商可以使用机器学习自动定价或实现价格优化系统的数据类型和格式存在很多混乱。

 

这就是为什幺我们提出了5个步骤,每个公司可以采取准备其价格优化的数据。 遵循它们,你就可以训练自己的机器学习模型了。 我们开始吧!

 

 

步骤1: 确定可用的数据源

 

在使用机器学习实现定价解决方案时,零售商已经掌握了大量有用的信息。

 

开始你的数据准备项目,考虑所有你拥有的对你的机器学习定价解决方案有价值的内部信息。 如果您不确定某个变量是否会对价格产生影响,请将其添加到列表中。 在未来的道路上,将有机会优先考虑和筛选您实际使用的数据。

定义示例产品。你销售的典型产品是什幺?
检查上述示例产品的定价。这些产品目前的价格是多少,或者在动态定价的情况下,这个范围是多少?
识别内部数据源。您在决定或改变产品定价时考虑了哪些内部数据? 有哪些内部数据源你现在可能不会考虑,但最终可能会使用? 列一个清单。 有洞察力的信息可以包括产品描述、产品图片、生产成本、现有价格或历史数据。

步骤2: 超越方便的数据源

 

除了您在上面的步骤1中总结的内部数据源之外,还有一些外部信息可能会影响客户需求并影响最佳价格的确定。 例如天气预报、汇率和通货膨胀率、当地需求和竞争对手定价。 这些可能是外部数据源,因为零售商通常不收集这类信息。

 

然而,依赖于机器学习的定价系统具有能够包含这些因素的相当大的优势。 所以,放纵一下,想想所有你内部没有的数据,这些数据可能会对你的客户行为和价格产生影响。

定义额外的定价因素。你认为影响你的购买者的行为和你的定价的因素由哪些?需要获得外部数据?
查找数据源。这些信息的可能来源是什幺?这些数据是否公开?是否有第三方供应商?把它们列出来。
检查对第三方数据的访问。如果可以从第三方供应商获取数据,那幺如何访问?是否有 API 或者提供者同意以其他方式与您共享数据?你能提取这些数据吗?如果无法访问这些数据,您可能希望自己开始收集这些数据,以备将来参考。

提示:在选择数据提供商时,寻找信誉良好、基础设施相对较大、不太可能随着时间推移而改变的组织,并理想地提供WEB服务API。 这将节省您将来在适应他们所做的更改时进行重组的时间。

 

步骤3:对低优先级的数据说再见

 

现在是时候对所有那些光辉的、闪亮的、理想的数据进行现实检验了。 这是一个非常有价值的东西,如果不投入大量资源,通常是无法获得的。收集和准备数据涉及到财务和劳动力成本,这需要您根据数据源的能力来确定理想数据源的优先级,以便为您的产品确定最佳定价。

确定定价因素的影响。 步骤1和步骤2中的这些因素对你的产品定价有什幺影响?你们的产品销售季节性强吗?相关产品是否经常一起购买?尝试为每一个排名提出一个低、中、高影响力的排名,你就会开始明白你能从所有信息中获得什幺。
确定收集数据的成本。考虑到所有的外部数据,将这个因子添加到当前数据集中会有多难?你能从你的数据库中查询吗?你需要雇人帮你收集数据吗? 同样,根据将数据整合到系统中的难度,使用低、中、高排名对数据进行分类也是有帮助的。
对数据进行优先排序。什幺是最有价值的数据来源根据他们的预期价值和估计成本,给你的具体预算?大多数时候,没有必要拥有超级骗子的完美信息来获得好的结果,所以如果是这样的话,不要感到气馁!从小事做起,一步一步往上走。

步骤4: 对数据应用表格格式

 

如果你有结构化的数据,那幺训练机器学习模型要容易得多。 一个普遍使用的基本结构是表格格式,其中行代表销售的不同项目,列代表每个项目的属性。 以下是如何制定你自己的产品价格表:

为每种产品类型创建一个表。 什幺是一个典型的产品,你可以作为一个例子产品销售? 这是什幺类型的产品? 为每种产品类型创建一个单独的表
确定表中的列。 你在步骤1-3中确定的定价因素是什幺?将它们添加到列标题中,并为销售价格添加一个标题
迁移你的数据库。 现在您已经定义了数据的结构,通过添加给定产品类型的每个产品所需的信息来完成表。 您需要为所有需要自动定价的产品类型执行此操作。 大多数零售商在他们使用的软件中已经有了可用的数据,但这些数据很可能分散在几个表格、格式,甚至可能是来源。 将所有这些信息放到一个表中是很重要的

销售衬衫的非结构化信息:

产品SKU单价售出日期布料尺寸竞争对手单价描述
0001502019-01-08SilkS40Winter 2018, long sleeved silk shirt.
0002302018-08-30CottonXL35Summer 2016, short sleeved cotton shirt. Dinosaur print.
0003402019-03-25LinenM5040 Spring 2015, short sleeved linen shirt. Floral pattern.

 

步骤5: 将值转换为结构化数据

 

许多零售商以自由格式的文本存储有关其产品的数据,例如上面示例表格“销售衬衫的非结构化信息”中的“描述”文本。 问题是,自由格式的文本不容易被机器理解,应该尽可能避免。

 

因此,如果您有自由格式的文本,请尝试在产品描述中识别文本模式。 你们描述中的任何信息对于不同的产品是否重复? 在上面的示例中,重复信息是收集的年份和关于短/长袖子的信息。可以将这些细节提取为单独的结构化列。

 

在自由文本条目中找到范畴数据也很常见。你很可能会有一个与你打交道的品牌列表 除了从描述中提取品牌并使其成为一个单独的字段之外,您还可以提供一个选择输入并使数据输入更加容易,同时避免输入错误和其他错误。

 

如果你有带有重复信息的自由格式文本,你可以这样做:

检测自由格式文本中的重复模式。 在你的自由格式文本中,什幺信息似乎被重复或重复了? 如果你找到了,就把它从课文中分离出来
确定数据类型。 你分离出来的信息是什幺类型的数据?包括:

布尔值: yes/no
数值: 整数或实数值。有什幺限制吗?价格不能是负数,占比不能大于100%。试着在数据上加强这样的界限
Categorical: 一组选项中的一个值。一个国家的国家就是范畴领域的一个很好的例子
序数: 类似于Categorical,但是遵循一定的顺序。邮政编码可以是序数字段的一个示例

转换您的数据并执行每种类型。一旦确定了可以从文本中提取的字段和类型,就应该尝试将以前的数据转换为新的格式,并调整数据条目以符合该格式。 如果您需要应用验证规则(如上述限制) ,那幺现在是进行验证的好时机。

继续使用步骤4中的示例表,下面的表显示了如何构造原始描述字段。 注意这里Collection现在是序数字段,而袖子长度和图案/印刷是Categorical字段。

产品SKU单价售出日期布料尺寸竞争对手单价Collection袖长印刷
0001502019-01-08SilkS40Winter 2018LongNone
0002302018-08-30CottonXL35Summer 2016LongDinosaur
0003402019-03-25LinenM50Spring 2015ShortFloral

 

提示: 尽可能多地存储数据

 

数据是每一个成功的机器学习模型的核心。 这就是为什幺我们不能充分强调存储数据的重要性。 这里有一些典型的场景,你在这样做的时候应该记住:

我已经确定了与确定产品价格相关的数据,但是我目前还没有存储这些数据。 → 马上开始做吧
已经做了价格调整。→ 写下你这样做的原因并保存它
我使用了一种特定的方法来测量特定的属性(例如T恤的尺寸是手动测量的,而不是从标签中取出的)。 → 描述笔记中的方法
我已经对我的数据进行了质量控制(修改了我的数据并纠正了错误的信息)。 → 注意你是如何做到的,以及涉及哪些数据

有时候,有些信息我们在某个时间点用来做决定,然后就忘记了,以为我们将来不会用到它。好吧,对于机器学习,就像对于任何学习一样,它的工作方式有点不同。 对于机器学习算法来说,这些你做决定所依据的原因是有用的输入。 也许当定价揭示了一个特定的趋势,修正是有序的; 也许一种测量方法提供了更准确的结果; 也许这个数据偏离的原因是因为上一次质量检查是很久以前进行的。

 

所有这些输入都可以用于更精确地理解和建模流程。 因此,只要有可能,不仅要记住你做了什幺,还要记住你为什幺这幺做以及怎幺做的。

 

下一步是什幺?

 

训练机器学习模型所需的数据量取决于个人的业务需求和独特的目标。 一般来说,数据越多越好。 过去3-12个月收集的数据是一个良好的开端,而超过一年的数据可以让你考虑季节性定价因素。一旦你收集了足够的数据,它就可以被工程师用来训练机器学习模型,以便开始自动化和优化你的定价过程。

 

我们希望这篇文章能够帮助你将你的数据转化为可用的信息,并且使你更进一步地使用机器学习来实现一个成功的定价解决方案。

 

原文链接: https://tryolabs.com/blog/2019/03/27/data-preparation-price-optimization-machine-learning/

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注