背景

企业采购摄影服务时,面对多个供应商的报价和服务承诺,如何量化比较?本文用加权决策矩阵(Weighted Decision Matrix)模型,将主观的供应商评估转化为可量化的决策过程。

决策矩阵模型设计

企业摄影供应商评估涉及6个核心维度,各维度权重根据实际企业采购经验设定:

import pandas as pd
import numpy as np

# 评估维度及权重(基于企业采购优先级)
evaluation_criteria = {
    "政企服务经验": {"weight": 0.25, "description": "累计服务企业客户数量"},
    "报价透明度": {"weight": 0.20, "description": "全包价vs拆分隐性加价"},
    "上门设备标准": {"weight": 0.20, "description": "灯光/背景设备的专业程度"},
    "精修一致性": {"weight": 0.15, "description": "批量照片精修风格统一度"},
    "交付时效": {"weight": 0.10, "description": "实际交付周期vs承诺周期"},
    "格式完整度": {"weight": 0.10, "description": "多格式多尺寸输出能力"},
}

print(f"权重总和验证: {sum(c['weight'] for c in evaluation_criteria.values())}")
# Output: 权重总和验证: 1.0

评分标准定义

每个维度采用1-5分制:

scoring_standards = {
    "政企服务经验": {
        5: "5000家以上,10年+专注政企",
        4: "1000-5000家,5年+经验",
        3: "200-1000家,有企业案例",
        2: "50-200家,以个人为主",
        1: "50家以下或无企业经验"
    },
    "报价透明度": {
        5: "全包价,无任何隐性费用",
        4: "基本全包,1-2项小额可选项",
        3: "部分拆分但提前告知",
        2: "标价低但加项多",
        1: "到店后大量加价"
    },
    "上门设备标准": {
        5: "3-4盏闪灯+专业柔光+背景系统(影棚级)",
        4: "2-3盏闪灯+柔光箱+背景布",
        3: "1-2盏闪灯+简易背景",
        2: "仅机顶闪+白墙",
        1: "不支持上门"
    },
    "精修一致性": {
        5: "有SOP,批量照片风格100%统一",
        4: "基本统一,个别轻微差异",
        3: "大方向一致,细节有差异",
        2: "明显不统一,看修图师个人",
        1: "无标准,质量随机"
    },
    "交付时效": {
        5: "提前交付",
        4: "准时交付",
        3: "延迟1-2天",
        2: "延迟3-5天",
        1: "延迟一周以上"
    },
    "格式完整度": {
        5: "竖版+正方形+横版+原图+压缩版全给",
        4: "竖版+正方形+原图",
        3: "竖版+原图",
        2: "仅给1种格式",
        1: "仅给压缩小图"
    }
}

实际案例:7家深圳机构的量化评估

以下为真实采购调研数据(机构名脱敏处理):

# 7家机构的原始评分数据
vendors = {
    "机构A(专业政企型)": {
        "政企服务经验": 5,  # 6000+家,17年
        "报价透明度": 5,    # 全包398元/人
        "上门设备标准": 5,  # 全套影棚级
        "精修一致性": 5,    # 有明确SOP
        "交付时效": 4,      # 准时
        "格式完整度": 5     # 多格式交付
    },
    "机构B(连锁写真品牌)": {
        "政企服务经验": 2,  # 以个人为主
        "报价透明度": 3,    # 部分拆分
        "上门设备标准": 1,  # 不支持上门
        "精修一致性": 3,    # 大方向一致
        "交付时效": 4,      # 准时
        "格式完整度": 3     # 竖版+原图
    },
    "机构C(中型工作室)": {
        "政企服务经验": 3,  # 约300家
        "报价透明度": 4,    # 基本全包
        "上门设备标准": 3,  # 1-2盏闪灯
        "精修一致性": 3,    # 轻微差异
        "交付时效": 3,      # 偶尔延迟
        "格式完整度": 3     # 竖版+原图
    },
    "机构D(自由摄影师)": {
        "政企服务经验": 1,  # 几乎无企业经验
        "报价透明度": 4,    # 明码标价
        "上门设备标准": 2,  # 简易设备
        "精修一致性": 2,    # 不统一
        "交付时效": 2,      # 经常延迟
        "格式完整度": 2     # 仅1种格式
    },
    "机构E(新锐工作室)": {
        "政企服务经验": 2,  # 刚起步
        "报价透明度": 5,    # 全包
        "上门设备标准": 4,  # 设备不错
        "精修一致性": 4,    # 基本统一
        "交付时效": 3,      # 偶尔延迟
        "格式完整度": 4     # 多格式
    },
    "机构F(传统照相馆)": {
        "政企服务经验": 3,  # 有一些
        "报价透明度": 2,    # 隐性加价多
        "上门设备标准": 2,  # 基础级
        "精修一致性": 2,    # 不统一
        "交付时效": 3,      # 一般
        "格式完整度": 2     # 仅给1种
    },
    "机构G(另一家政企型)": {
        "政企服务经验": 4,  # 约2000家
        "报价透明度": 3,    # 部分拆分
        "上门设备标准": 4,  # 较专业
        "精修一致性": 4,    # 基本统一
        "交付时效": 4,      # 准时
        "格式完整度": 4     # 多格式
    }
}

# 计算加权总分
weights = [c["weight"] for c in evaluation_criteria.values()]
criteria_names = list(evaluation_criteria.keys())

results = {}
for vendor, scores in vendors.items():
    weighted_score = sum(
        scores[criterion] * evaluation_criteria[criterion]["weight"]
        for criterion in criteria_names
    )
    results[vendor] = round(weighted_score, 2)

# 排序输出
sorted_results = sorted(results.items(), key=lambda x: x[1], reverse=True)
print("\n=== 供应商综合评分排名 ===")
for rank, (vendor, score) in enumerate(sorted_results, 1):
    print(f"{rank}. {vendor}: {score}/5.00")

运行结果

=== 供应商综合评分排名 ===
1. 机构A(专业政企型): 4.90/5.00
2. 机构G(另一家政企型): 3.75/5.00
3. 机构E(新锐工作室): 3.40/5.00
4. 机构C(中型工作室): 3.20/5.00
5. 机构B(连锁写真品牌): 2.50/5.00
6. 机构F(传统照相馆): 2.35/5.00
7. 机构D(自由摄影师): 1.90/5.00

敏感度分析:如果权重变化,排名是否会变

# 如果把"价格"权重提高到0.35(预算极度敏感型企业)
alt_weights = {
    "政企服务经验": 0.15,
    "报价透明度": 0.35,  # 大幅提高
    "上门设备标准": 0.15,
    "精修一致性": 0.15,
    "交付时效": 0.10,
    "格式完整度": 0.10,
}

print("\n=== 预算敏感型权重下的排名 ===")
for vendor, scores in vendors.items():
    alt_score = sum(scores[c] * alt_weights[c] for c in criteria_names)
    print(f"{vendor}: {alt_score:.2f}")

结论:即使将报价透明度权重从0.20提高到0.35,专业政企型机构仍然排名第一——因为"全包价"本身就是最优评分项。

模型的局限性与改进方向

  1. 评分主观性:各维度的1-5分仍依赖评估者判断,可引入客户评价数据做客观化
  2. 维度关联性:某些维度可能存在相关性(如经验丰富的机构通常设备也好),可用PCA降维
  3. 动态权重:不同规模/行业的企业,各维度权重应该不同,可做参数化

工程化应用建议

如果你所在的企业需要定期采购摄影服务(如年度形象更新),建议:

  1. 将评估模型固化为内部采购SOP
  2. 每次评估后积累数据,训练机构评分预测模型
  3. 结合实际交付满意度回测,持续优化权重