没有历史数据时,报价应该给区间,但区间的宽度不能拍脑袋。可行的做法是先锁定一个可复算的计量单位——比如页面模板数或接口数——再对每个单位给出下限和上限,并说明什么条件会让成本落到下限或上限。区间的作用是暴露不确定性,不是掩盖它。
没有历史数据,最容易犯的错是按“整站”报一个数。整站不可复算,讨论时只能凭感觉砍价。换成一个可数的单位,情况会不同:同样一个页面模板,若只是静态展示,工作量和接口联调、权限控制、多语言切换的模板不在一个量级。把估算拆成“模板数 × 单模板区间 + 接口数 × 单接口区间 + 固定项”,对方即使不接受数字,也能接受拆法。
这里有一个假设的短例子:某需求含8个模板、4个接口。若单模板区间取A到B、单接口区间取C到D,固定项为E,则总区间是8A+4C+E到8B+4D+E。这个例子只用来说明比较方法,A、B、C、D、E的取值必须来自你自己的工时记录或供应商反馈,不能凭印象填。填完后做一次动作:把每个单位的上限抽出来单独加总,看它是否已经超出对方能承受的范围。如果超了,下一步不是压低上限,而是先删减单位数量。
当对方愿意逐条确认模板和接口清单时,区间应该窄,并且每个单位只保留一个变量。比如单模板区间只随“是否含表单校验”浮动,不再叠加“是否响应式”这类默认已包含的项。窄区间的代价是你必须提前把默认范围写清楚,否则后期每加一项都要重新解释为什么落在上限。
动作上,可以先出一版只有单位数量的清单,不写金额,让对方确认数量。数量确认后再填区间。这样做的结果是:如果对方砍数量,总价自然下降,不需要在单价上反复拉扯;如果对方加数量,你也有现成单位可乘,不必重新估整站。
当对方只能描述“类似某类站点”而无法确认具体清单时,区间必须宽,并且要显式标注哪些项不在区间内。此时更稳妥的做法是给两段式区间:一段是“已明确部分”,一段是“待定部分按单位计”。待定部分不并入总区间,避免用宽区间掩盖一个尚未定义的大项。
这种条件下,个别样本成立但规模化后出现例外很常见。比如单个列表页的改版在样本里只花很少时间,但同类页面到几十个以后,批量内容的字段不一致、历史数据迁移和审核流程会变成新的成本项。边界在于:单位区间只适用于字段结构一致的页面;一旦字段需要逐页对齐,就不能直接乘数量,而要另立一个迁移或清洗单位。
判断一个区间是否可信,可以看它有没有附带可区分的依据。以下信号说明区间偏假精确:只有一个数字却称“大概”;上下限差距很小但需求描述里仍有未定义项;把第三方服务的调用次数写成固定值。反过来,以下信号说明区间有依据:每个单位能对应到具体交付物;上下限各自写明触发条件;明确列出不包含的项。
需要说明的是,某类请求量或抓取量归零,并不能单独证明估算方法正确,它也可能来自统计口径变化、访问路径改变或样本本身太小。同理,某个单位在个别项目里耗时很短,也不能直接推广到所有同类单位。把这两类现象当作提示,而不是结论。
具体动作是:在报价单里为每个单位写三列——单位名称、下限依据、上限依据。下限依据写“在什么条件下按此计”,上限依据写“出现什么情况时按此计”。然后加一行“待定项”,只写单位和单价区间,不写数量。这样对方看到的总区间是可拆的,谈判会落在具体单位上,而不是落在总价上。
这个动作的结果会直接影响下一步:如果对方接受拆法,下一步就是逐条确认数量,区间自然收窄;如果对方只盯总价,下一步应先把待定项移出报价,只对已明确部分给区间,避免用宽区间为一个未定义的大项背书。若项目涉及广告投放或平台推广,其计费方式与开发报价是两类支出,不应混进同一个区间里比较。
最后要接受一个现实:没有历史数据时,第一版区间的主要作用是建立可讨论的结构,而不是给出最终价格。区间偏宽并写明触发条件,比一个看似精确的数字更有利于后续调整;而当单位清单和触发条件都稳定下来,区间才有条件收窄到接近固定报价。