INFS5700 CityRide 预汇总数据:分母、区内高峰和每小时金额
CityRide 这份数据是预汇总的:同一天、同一个上车小时、同样乘客数、同样起点区域、终点区域和付款方式的行程并成一行,trip_count 记着这一行包含几单。全年九十二万多行里,一半以上的行只有三单或更少,单数多的一行有 7,242 单。行与行代表的行程数差得这么多,按行算出的平均数和按行程算出的平均数会差得很远;KPI 卡片、图表、执行摘要和建议用的是同一套度量,一个度量的分母错了,这几处会一起错。
平均时长、距离和小费比例都用总量相除
brief 的 Interpretation Notes 用 average revenue per trip 举例,要求写成 SUM(total_amount_sum) 除以 SUM(trip_count),不对某一列直接用 AVERAGE()。这条规则同样适用于其他带 _sum 的字段,包括平均行程时长和平均距离。假如先建一个计算列,用每行的 duration_sum 除以 trip_count 得到这一组的平均时长,再在卡片里对这一列求 Average,7,242 单的组和 1 单的组就按相同分量计入。全年数据按这种方式计算,平均时长比总量相除高出约 65%,每单金额高出约 75%,平均距离是总量相除结果的两倍半。
结果偏高,是因为小组合和大组合的行程不一样。只有一到三单的行有五十三万多行,其中从 Manhattan 上车的约占三成多,这一类行里的行程平均时长将近 29 分钟;一百单以上的行不到五万行,却包含全年八成多的行程,其中 Manhattan 上车的接近九成,平均时长不到 15 分钟。按行平均时,五十三万多个小组合的分量远大于它们实际包含的八十万单,时长更长、多在 Manhattan 以外的行程就被放大了。
小费比例在这之外还多一层限制。brief 的 KPI 清单列了 Average Tip Percentage,Interpretation Notes 又写明 tip_amount_sum 只对信用卡行程有记录,现金行程的 0 是 not because no tip was given, but because it was not recorded。brief 没有规定小费比例用什么做分母,这里按小费除以基础车费计算;不论选哪个分母,分子和分母都只取信用卡行程。分母如果包含现金行程,没有记录的现金小费就被当作零小费计入,全年比例会低五个多百分点。度量可以写成 CALCULATE 加 KEEPFILTERS(DimPayment[payment_type] = 1),图题写明 credit-card trips only。
这些分母的对错,在 rubric 里归 Visual Design and Analytical Implementation 这一栏评。它占 12%,比其他五栏都高,PS–CR 档的描述是 Required calculations and modelling are implemented with minor issues,DN–HD 档是 correctly implemented and used to support the analysis。平均数的分母错了,卡片、图表、执行摘要和建议会一起用上这个数,很难算作 minor issue;marker 打开 .pbix 也能看到每个度量的公式。
核对可以放在一页单独的 Checks 里:一张表把 和 并排,全年两个数应相差 42 倍多。每个平均数都写成 一个总量除以另一个总量,再筛选到某个区或某个月看一遍,数值会变,计算方式不变。然后在付款切片器上只选 Cash,信用卡小费比例应显示为空白。显示 0% 说明分母带上了现金行程;仍显示和选 Credit card 时一样的比例,说明度量里少了 ,信用卡条件把切片器的选择覆盖掉了。这一页不放进 slides,组里每次改完度量先点一遍。






