零售营销——数据仓库建模
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章零售营销
理解维度建模原理的最佳途径,是通过一系列切实的例子去进行实践。通过观察实际的实例,就能使设计方面的挑战与解决办法了然于心,这比仅仅通过抽象的表述进行学习要有效得多。本书中采用了大量取自诸多行业方面的实例,目的在于使读者不要为自己的业务细节所困扰而得到恰当的设计。
如果打算学习维度建模方面的知识,请不妨通读本书各章,即使不从事零售业务或者不在一个电信公司工作也要这样做。本书并不打算成为向某具体产业或者业务提供全面的解决办法的手册,各章以几乎在每种业务的维度建模中都会遇到的典型问题集的比喻形式进行内容的叙述。大学、保险公司、银行以及航空业等都几乎无一例外地需要本章所述的零售方面所使用的技能。此外,可以设想一下,如果一个人的业务总在随时间发生变化,那么会需要什么呢?当处理从自己公司获得的数据时,很容易受过去经历的复杂性影响而使事情变糟。通过走出去,然后带一两个经过充分考虑的设计原理回来,就能做到在进入纷繁的业务细节处理时,仍然能够记住设计原理的宗旨。 本章概念:
⏹设计维度模型的四步过程
⏹事务级事实表
⏹可加性与非可加性事实
⏹样本维度表属性
⏹诸如促销这样的因果维度
⏹诸如交易票据编号这样的合并维度
⏹维度模型的扩展
⏹“使用过多维度”陷阱的避免
⏹代理关键字
⏹市场容量分析
第2章零售营销◣ 2.1 四步维度设计过程
整本书考虑一致地按照具有一定顺序的四个步骤的方式进行维度数据库的设计。这四个步骤的含义会随着各种不同设计的进行逐渐变得更加清晰起来,不过首先还是给出一些初始说明。
(1)选取要建模的业务处理过程。
业务处理过程是机构中进行的一般都由源数据收集系统提供支持的自然业务活动。听取用户的意见是选取业务处理过程的效率最高的方式。用户叫嚷着要在数据仓库中进行分析的性能度量值是从业务评测处理过程得来的。典型的业务处理过程包括原材料购买、订货、运输、开票、库存与账目管理等。要记住的重要一点是,这里谈到的业务处理过程并不是指业务部门或者职能。比如,可以建立一个用来处理订单数据的单一维度模型,而不应为要存取订单数据的销售与市场部门建立单独的模型。通过将注意力集中放在业务处理过程方面,而不是业务部门方面,就能在机构范围内更加经济地提交一致的数据。如果建立的维度模型是同部门捆绑在一起的,就无法避免出现具有不同标记与术语的数据拷贝的可能性。多重数据流向单独的维度模型,会使用户在应付不一致性的问题方面显得很脆弱。确保一致性的最佳办法是对数据进行一次性地发布。单一的发布过程还能减少ETL的开发量,以及后续数据管理与磁盘存储方面的负担。
(2)定义业务处理的粒度。
粒度定义意味着对各事实表行实际代表的内容给出明确的说明。粒度传递了同事实表度量值相联系的细节所达到的程度方面的信息。它给出了后面这个问题的答案:“如何描述事实表的单个行?”。
典型的粒度定义包括:
☐顾客购物券上扫描设备一次拾取的分列项内容
☐医生开出的单据项目内容
☐个人登机通行证内容
☐仓库中每种产品库存水平的日快照
☐每个银行账号的月快照
数据仓库团队经常将这个看起来似乎不必要的步骤绕了过去。请不要这样做!对于设计团队的每个人来说,能够在事实表粒度上做到一致是很重要的。没有粒度的定义实际上是不可能达到下面第3步中提出的要求的。需要
27
数据仓库工具箱 28
引起注意的是,一个不合适的粒度定义会使数据仓库的实现令人摸不着头脑。粒度定义是不容轻视的至关重要的步骤。说到这里,你应该能够发现在第3步或第4步中给出的粒度说明是错误的。好了,还是先回到第2步重新给出粒度的正确定义,而后再看第3步或第4步的内容。
(3)选定用于每个事实表行的维度。
维度所引出的问题是,“业务人员将如何描述从业务处理过程得到的数据?”应该用一组在每个度量上下文中取单一值而代表了所有可能情况的丰富描述,将事实表装扮起来。如果对粒度方面的内容很清楚,那么维度的确定一般是非常容易的。通过维度的选定,可以列出那些使每个维度表丰满起来的离散的文本属性。常见维度的例子包括日期、产品、顾客、事务类型和状况等。
(4)确定用于形成每个事实表行的数字型事实。
事实的确定可以通过回答“要对什么内容进行评测”这个问题来进行。业务用户在这些业务处理性能度量值的分析方面具有浓厚的兴趣。设计中所有供选取的信息必须满足在第2步中定义的粒度要求。明显属于不同粒度的事实必须放在单独的事实表中。典型的事实是诸如订货量或者支出额这样的可加性数字数据。 整本书在开发各个实例研究时,都将按这样的四个步骤来展开,并以用户对业务的理解作为确定维度模型所需维度与事实的内容的依据。很显然,在按照如图2.1所示的四个步骤确定相关内容时,需要同时考虑业务用户需求和源数据本身。千万要克服只看看源数据文件就对数据进行建模的偏向。虽然说,一头扎进文件设计图与复写簿中去搜集数据比采访业务人员具有少得多的风险,但这不能代替用户的介入。遗憾的是,许
多机构仍然企图使用这种受数据驱动的最省力的
方法去建模,结果是很少有成功的。 ◣ 2.2 零售实例的研究
这里先对在本实例研究中要使用的零售业务进行简要的描述,以使建立 业务需求
维度模型
1.业务处理
2.粒度
3.维度
4.事实
数据实际 图2.1 四步骤维度设计 过程的关键输入内容
第2章零售营销
的维度与事实表更容易理解。之所以从这个行业入手,是因为它与大家都是密切相关的。设想一下在一家大型杂货连锁店总部工作的情形,其业务涵盖分布在5个州范围内的100多家杂货店。每个商店都有完整的配套部门,包括杂货、冷冻食品、奶制品、肉制品、农产品、面包店、花卉门市以及卫生/美术方面的辅助人员等,并有大致6万多个品种的产品放在货架上。每个品种的产品被称做库存储藏单位(SKUs,Stock Keeping Units)。大约55 000个SKUs来自外部的生产厂家,并在包装上印有条形码。这些条形码被叫做统一产品编码(UPCs,Universal Product Codes)。UPCs具有与单个SKUs相同的粒度。一个产品的不同包装类型具有一个单独的UPC,因而也有一个单独的SKU。
剩下的5 000个SKUs从诸如肉制品、农产品、面包店或者花卉门市等部门获取。虽然这些产品具有举国一致的可识别UPCs,杂货连锁店仍旧可以给它们分配SKU编号。既然杂货店是高度自动化的,那么完全可以为这些从其他部门取来的许多项目贴上扫描标记。尽管条形码不是UPCs,但它是确定无疑的SKU编号。
数据是从杂货店中多个令人感兴趣的地方收集得到的,其中一些最有用途的数据是在顾客购买产品时从收银机那里收集的。现代杂货店直接将条形码扫描到销售点(POS,Point-Of-Sale)系统中去,POS系统放在杂货店中对顾客外卖食品进行检测的出口处。厂家发货的后门是另外一个令人感兴趣的数据收集点。
在杂货店,管理方面所关注的是如何使产品的订购、储存与销售运作能最大限度地实现利润而开展后勤工作。利润最终要靠尽可能施加到每种产品上的管理职责、产品采购成本与额外开销的降低、以及在竞争激烈的价格战环境中吸引尽可能多的顾客等方面的一系列工作来获取。最重要的管理决策应该是关于定价与促销工作方面的。产品促销包括临时降价、在报纸与报纸夹页中加入广告内容、杂货店的陈设(包括廊端展销)和优惠券发行等工作。掀起产品销售量浪潮的最直接与最有效的方式是大幅度地降低产品的价格。
将纸巾降价一半,并为此打出配套广告和召开展销会,就可以使纸巾的销售量一下子提升10个点。遗憾的是,如此大规模的降价通常是经受不住的,因为这样的纸巾销售很可能是亏本的。这些问题说明,如何使各种形式的促销活动所产生的效能清晰可见是杂货店运营情况分析的重要部分。
在对业务实例研究进行描述之后,现在就可以开始维度建模的设计工作了。
29