基于机器学习的商品报价模型

2022-08-04 08:44厦门大学管理学院高晨芳厦门正航软件科技有限公司陈斌全厦门大学管理学院陈亚盛
管理会计研究 2022年4期
关键词:原价利润率机器

文 · 厦门大学管理学院 高晨芳 厦门正航软件科技有限公司 陈斌全 厦门大学管理学院 陈亚盛

一、引言

定价决策是企业为了促成产品销售而制定产品最佳价格的过程。企业在实际经营过程中,可能对同一种产品制定多种价格。在实务中,一种产品的价格通常以成本为基础,结合目标利润、顾客需求、商品属性等因素进行综合调整,还可能因不同地区的经济水平、消费者观念、文化等的不同存在差异1作者在《营销管理》一书中从五个方面阐述了顾客群体的细分变量,即人口统计变量、经营变量、购买方式、情景因素和个人特征。这里的顾客细分市场是对客户细分变量的通称。这种定价方法也叫作差别定价法。差别定价是企业在经营活动中获利的一种重要手段,也是满足不同顾客群体的价格策略。在执行这种差别定价方法时,销售人员需要有足够的经验积累和较强的计算能力,才能在顾客询价时及时给出顾客愿意接受的价格,促成销售。有丰富经验和快速计算能力的销售人员是稀缺资源,这种人力资源的稀缺制约了企业差别定价的有效执行。随着以机器学习为代表的人工智能方法的普及,很多企业已经在经营活动中使用人工智能技术来弥补人力资源的短缺。机器学习方法最大的特点是计算机可以充分利用自身的算力,通过自主学习,在短时间内根据数据间的相关关系发现其中蕴含的规律。在差别定价的场景中,这种发现规律的经验积累能力加上计算机的算力,可以较好地补足人力资源的短缺。因此,本文尝试整合企业的管理信息系统数据和机器学习算法,探索建立一个能够自动根据客户需求预测最优产品报价的模型,辅助销售人员进行产品定价决策。

二、相关理论

(一)价格影响因素分析

目前国内外对商品定价的研究较为丰富,本节通过对文献的分析,总结差别定价的影响因素,为后续收集数据和构建模型特征提供理论支持。经过对价格影响因素文献的梳理,我们发现影响商品价格的因素大致可以分为以下五个维度:宏观环境、客户属性、产品属性、需求属性、供应属性。宏观环境指一个国家或地区的整体经济环境。经济发展阶段、增长速度和景气程度都会影响客户的购买力,进而影响他们对产品价格的期望。客户属性主要是客户在细分维度上的特质,客户的不同市场地位和财务状况等特质会影响客户对价格的敏感度和议价能力。产品属性是产品的性状和品质等特征。需求属性是指客户提出购买需求所附带的要求,例如交货时间、地点和购买量等。供应属性是指销售商供货的形式和条件,例如供货地点、送货方式和供货量等。表1归纳总结了国内外针对上述五个维度的商品价格影响因素的前期研究。

表1 国内外商品价格影响因素文献回顾

(二)机器学习分析流程

人工智能是1956年计算机科学家们在达特茅斯会议上提出的一个大胆的概念。他们希望计算机也能像人一样思考。而管理会计是运用专门的方式、方法,通过确认、计量、归集、分析、编制、解释、传递等一系列工作,为管理者和决策者提供信息,并参与企业经营管理。人工智能作为基于数据形成的产物,本质是一些更高级更复杂的计算方法,可以作为管理会计实务的新方法。借鉴机器学习模型构建的通用流程,本文将在管理会计中使用机器学习模型的步骤总结为以下4步,如图1所示。

图1 设计流程与实现思路

(1)定义问题:财务人员应在了解公司真实的业务痛点后,将业务上需要解决的问题拆解成可以用算法模型辅助完成的分析或预测的需求。

(2)构建特征工程:将分析或预测需求转化为抽象算法模型的过程,重点是设计这些算法模型的输入特征数据和预期输出结果。选取特征是机器学习非常重要的一部分,决定了利用机器学习进行分析或预测的效果。同时,这个流程中确认的输入与输出特征也决定了构建模型所需数据的深度与广度。

(3)数据分析:将收集到的数据进行清洗、归纳,并选择一种机器学习方法从上述输入数据特征与输出数据特征的相关性中发现隐藏在数据中的规律。发现这些规律的过程,也是利用机器学习进行解决业务问题的分析与预测的过程。

(4)模型诊断和参数调整:基于构建特征工程时所确认的模型预期效果,对模型进行优化,获取最佳使用效果。模型参数调整是对机器学习用于分析或预测所能达到效果(通常是准确性)的进一步完善,也就是降低模型在未知的数据上的误差。常用的模型评估指标有MSE(Mean Square Error,统计预测值和原始值误差平方和的均值。数值越小,表示误差越小)、RMSE(Root Mean Square Error,统计预测值和原始值误差的标准差。数值越小,表示误差越小)、MAE(Mean Absolute Error,统计预测值和原始值绝对误差的平均值。数值越小,表示误差越小)和R2(RSquared,统计预测值和真实值的拟合程度。数值越接近1,表示拟合效果越好,也可为负数,表示拟合效果很差)。

三、案例分析背景及介绍

(一)案例公司概况

为了验证机器学习模型应用于商品报价的可行性,本文以深圳某电子元器件贸易公司作为研究样本。该公司主要从事电子元器件的贸易代理服务,拥有多家国内外知名电子元器件制造商的代理和经销资质,并拥有自己的现货库存。主营产品包括电阻、电容、三极管等。通常情况下,公司会结合自身优势,加之对市场的了解,提前购买大量的商品形成自有库存。当下游采购时,直接进行现货销售,加快商品流通。

(二)问题定义

该公司商品通常采用成本定价法确定商品参考价格,但该参考价格只能作为管理层和业务人员在经营过程中的参考依据;而最终合同成交价格,可能因客户类别、购买数量以及市场环境的不同而存在差异,需要销售人员凭经验报价。过高的报价可能会吓跑顾客,太低的价格又会损害公司利润,因此销售人员面临的业务问题是如何找到一个既可以让顾客接受又能给公司带来最大利润的最佳报价。该公司的业务员需要解决的问题,也是其他行业常见的差别定价的问题。这种差别定价的传统决策过程是销售人员根据市场经济条件、订单交付环境、客户属性等多方面综合考虑后,对统一的参考价格进行调整,给出一个销售员认为最有可能促成交易的价格。为了让计算机能够辅助销售人员更快更准地找到这个价格,一个可行的方案是让计算机从销售人员的成功经验中学习到价格影响因素与价格之间的规律,然后在实际交易中快速根据收集到的价格影响因素信息算出最佳报价。基于这个思路,本文尝试以该公司历史交易记录中的真实成交价作为最佳报价,以基于成交价计算的真实利润率作为模型最终的预测值,收集与价格相关的影响因素作为特征值,再利用机器学习的方法,找出特征因素和价格的关系,帮助销售人员做出决策。

(三)构建特征工程

通过上文“价格影响因素分析”部分的梳理和总结,可以发现影响商品价格的因素有很多。将这些维度转化为可以收集和分析的数据,首先需要结合该公司的业务特点,提炼出具有代表性的输入变量和输出变量。我们结合案例公司实际经营状况以及数据的可获取和可量化程度,从宏观环境、客户属性、产品属性、需求属性和供应属性5个维度对该公司商品价格影响因素进行总结。最终共收集到17个变量特征。具体变量如表2所示。

表2 样本公司商品价格影响变量

(四)数据分析

本文选取样本公司2019年6月至2020年1月的历史订单,以其中的电阻类销售订单为样本,对每笔交易记录的17个特征属性变量进行统计。删除其中少量缺失值以后,共收集了12109个历史订单。表3列示了经清洗后的样本数据。表格的每行代表一条销售订单明细信息,每个列代表一个特征属性变量。最后一列“利润率”是标签,也是机器学习模型需要预测的目标值。举例说明,表中第一行数据表达的含义为某订单由4号业务员接单,销售数量为15件,商品原价为1.93元,商品成本为1.28元,销售通路代码为1……,单个销售商品的利润率约为0.50。

表3 清洗后的样本数据(部分)

通过对比“原价(购入成本价)利润率”与“售价利润率”的差异,可以分析业务人员销售过程中的调价情况。分析结果如图2所示,图中横坐标表示“原价利润率”,纵坐标表示“售价利润率”。若商品以原价销售,则圆点应在直线Y=X上,否则就会偏离直线。我们通过图2可以看出,大多数样本不在直线Y=X上,即售价不等于原价,说明业务人员在销售过程中,普遍存在调价行为,而且从圆点的离散程度我们可以看到,利润率较高的产品的调价幅度更大。

图2 原价与成交价利润率对比

数据分析的模型有很多种,在建立模型时,我们通常不能提前预知哪种模型才是最优解,但把所有的算法都尝试一遍也不实际。根据华盛顿大学数据科学博士Michael Beyeler提出的算法选择方法论,可以将模型选择流程分为三个步骤。第一,先了解备选算法的基本原理以及可以解决的问题,并将这些算法分为有监督式学习算法和无监督式学习算法;第二,根据收集到的数据是否有事先标注的数据标签,将备选算法范围缩小到有监督式学习算法或无监督式学习算法,有数据标签的选择有监督式学习算法,没有数据标签的选择无监督式学习算法;第三,在选定的算法类别中,尝试建立多种可用的模型,并通过反复的实验得到最优算法。本文商品报价分析的目的是预测商品的利润率,我们获取的样本公司历史订单记录中有利润率的信息,属于有标签数据,因此应当选择有监督式学习算法。利润率是一个连续变量,因此我们初步筛选出了四种适用于连续型变量的有监督式学习算法模型,分别是决策树、随机森林、K近邻(KNN)、多层感知机(MLP神经网络)。

(五)模型诊断和参数调整

在模型诊断与参数调整阶段,我们随机抽选95%的样本作为训练集,剩余5%样本留作测试集,利用P y thon机器学习算法库构造相应的商品报价模型,并对预测结果进行对比分析,以期筛选出最优算法模型。考虑到评估指标MSE、RMSE和MAE的含义相似,由于本研究中标签值(利润率)均是小于1的数,对误差求平方将过度缩放误差,不利于观察,因此本文采用MAE指标进行评价。此外,仅探寻数据预测的准确性是不够的,还需要评估模型预测结果与真实值的拟合程度,所以本文也将R2作为模型评价指标。我们对选取的每一个机器学习模型都采用MAE和R2进行评价,然后再根据它们在这两个指标上的表现,调整模型参数,寻求最佳参数组合。

各模型的初始结果如表4所示,其中预测结果图像中的横轴表示真实数据,纵轴表示预测数据。若真实值与模型预测值一致,那么样本点会落在Y=X的直线上。预测精度越高,样本点越接近直线,否则样本点越散乱,与直线的偏差越大。比较训练集和预测集的预测精度差异,可以看出模型在训练过程中是否出现过拟合问题。例如,决策树模型在训练数据中表现近乎完美,但是在由未知数据组成的测试集中表现却有很大落差,说明决策树模型有过拟合风险。综合对比各模型的输出结果,可以看到随机森林模型的初始表现最好。

表4 各模型预测结果

模型不可能通过一次训练就达到目标,需要不断进行优化调试。在初始模型的基础上,为进一步提高其准确率,我们尝试调整了随机森林模型的主要参数。经过调整后的模型更为准确,R2=0.893,较调整前上升0.006;MAE=0.059,较调整前下降0.002。

具体的调整步骤如下:

(1)调整随机森林中树的个数(n_estimators)2表示随机森林最大的决策树个数,n_estimators值过小,选取的样本可能太少,模型容易欠拟合;反之,数值过大,可能需要多次随机选择,导致数据量过大,模型学习时间会很长。n_estimators增大到一定程度后,模型预测精度会很难向上提升,通常情况下参数默认值为100:测试1—50棵树在“森林”中生长对预测精确度的影响。参数调整结果如图3所示,图中的横坐标均表示“树”的个数,纵坐标表示模型的评估结果。上图为MAE的评估结果,下图为R2的评估结果。根据图3可以发现,随着“森林”中“树木”的增多,预测模型的平均绝对误差(MAE)逐渐下降,决定系数(R2)的预测结果越来越接近1,说明模型的准确率在不断提高,但当“树”达到30棵以后,模型的预测精度已经很难大幅度提高,精度达到极限。经过不断尝试,当参数被调整到47时,精度最高,所以本文将n_estimators参数定为47。

图3 n_estimators参数调整结果

(2)调整模型中最大特征个数(ma x_features)3模型训练时的最大特征数,默认为auto,决定树的生成时间:测试1—17个最大特征值对模型精度的影响。参数调整结果如图4所示,图中的横坐标表示特征值的个数,纵坐标表示模型的评估结果。其中,上图为MAE的评估结果,下图为R2的评估结果。结果表明,随着特征值个数的增加,预测模型的平均绝对误差(MAE)逐渐下降,决定系数(R2)的预测结果越来越接近1。说明在本案例中,随着样本的模型特征变量数量逐渐增多,预测的精度也随之提高。因此,本文把max_features参数调整到17,即最大特征数。

图4 max_features参数调整结果

(3)调整模型叶子节点最少样本数(min_samples_leaf)4叶子节点所需的最少样本数,默认值为1,如果训练样本集数据非常多,则需要增加该值的大小:测试节点数量为1—10时,对模型预测精确度的影响。参数调整结果如图5所示,图中的横坐标表示叶子节点最少样本个数,纵坐标表示模型的评估结果。其中,上图为MAE的评估结果,下图为R2的评估结果。结果表明,随着叶子节点数的增加,预测模型的平均绝对误差(MAE)逐渐上升,决定系数(R2)的预测结果也从原本的接近1逐渐下降。说明在本案例中,随着模型中叶子节点数的增多,模型的精度也在逐渐下降。因此本文把min_samples_leaf参数设置为1。

图5 min_samples_leaf参数调整结果

四、研究结果

(一)模型预测结果

1.预测结果误差分析

对于预测商品价格准确率的衡量,不仅要考虑测量误差大小,还要考虑误差的方向,是正误差还是负误差。因为正误差和负误差的经济效果是不一样的。如果机器学习模型预测结果有正向误差(模型推荐以较高价格报价),虽然可能会因为报价太高而丢掉潜在客户,但是公司不会有即时的损失;如果机器学习模型预测结果有负误差(模型推荐以较低价格报价),那么公司可能会因为顾客以过低价格购买走商品而承受即时的损失。因此,有必要将较少的不同方向误差作为衡量一个模型优劣的标准。

由于案例公司采用成本加成定价法计算基于成本的“原价利润率”,为验证模型预测利润率与实际利润率(以实际成交价为基础计算的利润率)的趋势一致性,本文将原价利润率作为衡量基准,对预测利润率与实际利润率进行比较。当实际利润率小于原价利润率时,表示为“实际交易价格<原价”,说明业务人员降价销售商品。反之,用“实际交易价格>原价”表示。当预测利润率小于原价利润率时,表示为“预测交易价格<原价”,说明机器学习模型建议降价销售。反之,用“预测交易价格>原价”表示。如果实际交易价格小于原价的时候预测交易价格也小于原价,那就说明机器学习模型预测的方向是对的,机器在销售人员降价销售成功的时候也是建议降价;反之则说明模型预测的方向是错的。

为了验证随机森林算法对提价和降价方向性判断的准确性,我们通过计算分类评估指标F15F1分数是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的精确率和召回率值,对测试集的606个样本数据(总样本的5%)的商品价格预测结果进行了方向准确性检验。分析结果如表5所示:F1(实际交易价和预测价格都大于原价)预测准确率为84.42%684.42% =(363×2)÷(2×363+77+57);F1(实际交易价和预测价格都小于原价)= 61.93%;数据总体预测准确率为77.89%777.89% =(363+109)÷ 606。可以看出,无论是降价销售还是提价销售,随机森林算法都能较好地和销售人员保持一致,说明该模型对价格的涨跌趋势预测有一定的指导作用。

表5 预测价格与实际价格对比

2.预测结果简析

经过上述分析,说明对于测试集数据而言,模型的预测结果与8 9.3%的真实结果拟合(R2=0.893),平均绝对误差为0.059(MAE=0.059)。为了更好地展示模型的训练结果,本文对测试集的606个数据的预测误差进行统计,结果如图6所示。图中横坐标表示误差率,纵坐标表示频率。从上述统计可知,测试集的预测误差主要分布在-0.04到0.05之间,占总样本量的79.3%。其中,利润率误差在约0.05的样本占9%,利润率误差为约0(几乎没有误差)的样本占比51.0%,利润率误差在约-0.04的样本占19.3%。

图6 预测误差统计

评价结果表明,该模型总体差异控制在合理的范围内,具有一定的参考价值。也就是说,该模型已经从成功的交易记录中学习到了定价规律,可以很好地模仿销售人员的报价思路,从而帮助销售人员在接到顾客询价的时候快速做出报价决策。

(二)模型原理解释

在人工智能应用场景中,人们比较容易接受能直观评价预测结果对错的智能应用,如人脸识别、语音识别等。任何人不需要过多的专业经验,都可以对机器的预测结果进行评估。但对于一些涉及人类主观判断且不容易判别结果对错的场景,人们未必愿意接受机器的建议。就像商品报价就是具有很强主观性的场景,即使针对同一件商品,每个人的想法都可能不完全一样。如果既不能解释算法这个“黑盒子”是怎么工作的,又不能直观地验证它的正确性时,人就容易对智能算法产生怀疑。这时候,可视化机器的“思考”过程,打开这个“黑盒子”,就是常用的一种获取人类信任的途径。为了还原计算机的“思考”方式,更好地理解模型的推理过程,本文通过模型的内置函数estimators生成一个可视化的决策树模型,让我们可以通过观察这个“机器决策树”的结构,窥探一下机器的决策“思路”。在实际应用中,企业销售人员也可以通过比较机器的“思路”和自己的思路,进一步验证机器是否学到了人类师傅的本事。为了方便展示,本文从随机森林模型中,随机抽取一棵决策树进行展示。

estimators函数生成的决策树结构如图7所示。从图7(a)可以看出,模型通过对训练集数据的学习,自动生成一个倒立的树结构。在每一个分支节点上,对某一特定特征值进行判断,并根据判断结果将样本数据划分到左叶子或右叶子中。假设某一订单经过最上面三层的判断落入第四层最右侧节点,如图7(b)所示,那么模型就会首先对该订单的“购买数量(TotQty)”做进一步判断。此时共有两种可能的判断结果。第一种,如果该订单的“购买数量(TotQty)”小于或等于14,则进一步判断该订单客户的“最近一次交易时间(last)”。如果“最近一次交易时间”小于或等于18.5天,则落入右边节点,得出商品利润率的预测结果为0.66。如果“最近交易时间(la st)”大于18.5天,则落入左边节点,预测商品利润率为0.663。第二种,如果该订单的“购买数量(TotQty)”大于14,则将它归为左节点,进一步判断该订单的“收款天数(GathDays)”。如果该订单的“收款天数(GathDays)”小于或等于69.5天,则将它归为右边的底层叶子节点,推测商品利润率的预测结果为0.528。反之,如果“收款天数(Gathdays)”大于69.5天,则预测商品利润率为0.494。按照以上逻辑,决策树会自动地为每一个特征划分边界,通过if-else判断法总结出机器的报价“思路”。从整体来看,该模型能按客户购买数量多少、最近交易时间远近和收款快慢来差别定价,非常像一个思维缜密、精于计算的销售。

图7 决策树可视化模型

五、结论

本文通过一个企业的实际应用案例,展示了如何通过定义问题、构建特征工程、数据分析、模型诊断和参数调整四个步骤,利用机器学习算法,从历史交易记录中发现价格制定规律,构建一个产品价格估算智能辅助决策模型。通过这个流程构建的随机森林算法模型,可以较为准确地模仿销售人员的决策思路,进一步印证了将人工智能方法应用在管理会计中的可行性。

猜你喜欢
原价利润率机器
机器狗
机器狗
是赚还是亏
如何计算打折销售问题
未来机器城
2017年1-7月塑料制品行业主营业务收入利润率5.82%
蓝月亮洗衣液 厂家直销 前100名还赠送原价798元《四快高效学习法》一套
全国地方国有企业净资产利润率
浅谈建筑施工企业项目成本管理
全国地方国有企业净资产利润率