01 Product Selection

社区团购选品策略全链路技能包。涵盖选品战略、品类分级、各平台选品逻辑对比、定价方法论、选品 SOP 及配套工具。不含供应链执行(见模块四)、仓储物流(见模块五)。

Audits

Pending

Install

openclaw skills install local-community-group-buying-product-selection

模块一:选品策略

模块边界说明(重要) 本模块聚焦"卖什么"和"怎么定价格",即选品决策与定价。 供应链开发与管理 → 模块四(供应链与采购) 仓储与物流配送 → 模块五(仓储与物流) 两者独立完整,边界不重叠。

知识库

1.1 社区团购选品核心原则

社区团购的选品不是"卖什么都可以",而是围绕一个三角:

                    用户需求
                      △
                     / \
                    /   \
                   /     \
    供应链优势 ────────── 平台毛利

三者缺一不可:

  • 只有用户需求:卖得动但没利润
  • 只有供应链优势:有价格但卖不掉
  • 只有毛利:两端都不成立,生意不成立

1.2 品类分级体系

社区团购商品分为五个等级,每个等级运营策略不同:

P0:引流款(流量担当)

特征说明
价格低于市场价的 30-50%
需求极高,刚需,高频
毛利0% 甚至负毛利(贴钱卖)
目的引流、拉新、养成购买习惯
代表品鸡蛋(每斤低于超市1-2元)、大白菜、土豆
使用频率每期团购必有,但位置轮换

P1:爆款(GMV担当)

特征说明
价格低于市场价 15-25%
需求高,非刚需但转化率高
毛利15-25%
目的稳定 GMV,提升客单价
代表品时令水果(榴莲/车厘子/芒果)、应季蔬菜、活鲜
使用频率每周稳定上,但量有限制

P2:利润款(利润担当)

特征说明
价格接近市场价或略低
需求中等,有特定目标人群
毛利25-40%
目的平衡整体毛利
代表品进口食品、有机蔬菜、地方特产、冷冻水产
使用频率持续上架,作为毛利补充

P3:长尾款(品类补充)

特征说明
价格市场价或略高
需求低,但满足小众人群
毛利20-35%
目的完善品类宽度,提升客单价
代表品有机食品、进口调味料、特殊膳食食品
使用频率定期上,不追求量

P4:战略款(护城河)

特征说明
价格自定义
需求平台独有或独家合作
毛利不限
目的建立竞争壁垒
代表品平台自营品牌、独家联名、产地直采
使用频率长期固定

1.3 各平台选品逻辑对比

美团优选

选品策略:爆品引流 + 标品扩充
核心逻辑:
  1. 以生鲜(蔬果/肉禽/水产)为骨架
  2. 标品(日用品/食品)补毛利
  3. 每期主打 2-3 个爆品,引流 60%+ 流量

爆品规律:
  - 时令水果(樱桃/荔枝/葡萄)= GMV 担当
  - 节假日(春节/端午/中秋)= 礼盒装冲量
  - 夏季(冰淇淋/冷饮)= 高频冲复购

自营占比:约 30%(据美团 2022 年财报及行业估算)
  → 自营品类:米面粮油/调味品/日用品,管控质量稳定性
  → 生鲜以外部供应商为主(降低损耗风险)
  → 2023 年优选 GMV 约 300 亿(收缩期)

多多买菜

选品策略:低价拼团 + 农产品上行
核心逻辑:
  1. 农产品为绝对主力(蔬菜/水果/肉类)占 GMV 65%+
  2. 强调"便宜",用规模换利润
  3. 拼团机制:2-3 人成团,降低决策门槛

爆品规律:
  - 低价引流转:1 分钱秒杀(限量,每日 10:00 场次)
  - 整箱/整袋销售:最小 2 斤起,降低物流难度
  - 白牌为主:非品牌,只看价格不看品质

自营占比:约 20%(拼多多白牌基因,不强调品牌溢价)
  → 2023 年 GMV 约 1800 亿元(行业第一)
  → 2023 年营收约 320 亿元(GMV→营收转化率 18%)
  → 活跃 SKU 约 900 个(精而不滥,低于行业均值 1200)

淘菜菜

选品策略:阿里生态联动 + 品质升级
核心逻辑:
  1. 打"品质"牌,区别于多多买菜的低价低质
  2. 接入天猫/盒马供应链,提升商品力
  3. 主打"新鲜",时效和品质优先

爆品规律:
  - 盒马同款:品质背书,价格低于盒马 20-30%
  - 88VIP 会员专享:会员专属价,提升会员价值
  - 直播联动:淘宝直播带团购

自营占比:约 40%(阿里有盒马+大润发供应链,选品质量更高)
  → 2023 年 GMV 约 200 亿(收缩中,已合并入淘宝特价版)

兴盛优选

选品策略:区域深耕 + 本地化供应链
核心逻辑:
  1. 主攻湖南/湖北/广东核心省份,不追求全国覆盖
  2. 供应商以本地小型工厂/合作社为主,物流成本低
  3. 本地特色农产品:湖南辣椒系/湖北热干面/广东腊味

爆品规律:
  - 地方特产:当地人强复购,竞品无法复制
  - 节日特供:端午节粽子、中秋节月饼(节令性强)
  - 农贸市场联动:源头直采,价格优势明显

自营占比:约 65%(自建仓储配送,毛利结构最优)
  → 湖南市场份额一度达 45%(美团 25%/多多 20%)
  → 用户月均购买频次 9-12 次(业内最高)
  → 2023 年后战略收缩,聚焦已有优势区域

1.4 选品禁入清单

以下品类不适合社区团购,不能做:

禁入品类:
  1. 活鲜(螃蟹/龙虾/贝类)
     → 损耗极高,配送难度大,死亡责任难界定

  2. 进口冷链(冰淇淋/刺身/牛油果)
     → 冷链要求高,损耗超 15%

  3. 大件商品(整箱矿泉水/大袋米面)
     → 配送成本高,团长搬运困难

  4. 高客单价(奢侈品/电子产品)
     → 用户决策周期长,不适合团购场景

  5. 有效期<7天的短保食品
     → 物流周转 1-2 天,留给销售窗口太短

  6. 非标品(散装食品/称重食品)
     → 质量难以标准化,投诉率高

  7. 法律法规限制品类(烟酒/药品)
     → 合规风险极高

方法论

1.5 选品决策流程(标准 SOP)

选品决策七步法:

Step 1:需求验证
  → 这个品用户真的需要吗?(调研数据/历史销售数据)
  → 需求频率:高频(月购)?中频(季购)?低频(年购)?

Step 2:供应链可行性评估
  → 能不能稳定供货?(供应商产能/物流时效)
  → 最低起订量是多少?(MOQ 影响毛利)

Step 3:毛利测算
  → 用定价公式计算:毛利率是否 > 20%?
  → 如果 < 20%,是否有其他品类补贴?

Step 4:竞品分析
  → 各大平台这个品卖什么价格?
  → 我们的价格有没有竞争力?

Step 5:风险评估
  → 这个品有没有质量/安全风险?
  → 损耗率预估是多少?

Step 6:试销验证
  → 先小批量上架(50-100件)
  → 观察 3-7 天的销售数据和投诉率
  → 数据达标再进入正式选品池

Step 7:正式上架
  → 录入商品信息
  → 制定促销计划
  → 安排供应商备货

1.6 供应商与商品黑名单管理(选品风控)

供应商与商品黑名单是选品安全的重要防线,属于选品风控,不属于供应商开发(供应商开发详见模块四):

触发黑名单的条件(任一即入):

供应商层面:
  ├── 资质造假:营业执照/许可证伪造
  ├── 质量事故:同一商品 3 次抽检不合格
  ├── 欺诈行为:缺斤少两、以次充好、货不对板
  ├── 商业行贿:向运营人员行贿
  └── 卷款跑路:收取预付款后失联

商品层面:
  ├── 食品安全:商品检出禁用添加剂/农药残留超标
  ├── 法律合规:销售国家明令禁止的食品
  ├── 虚假宣传:标注与实际不符(如有机认证造假)
  └── 侵权行为:销售假冒注册商标商品
黑名单处理流程:

Step 1:证据留存(3天内完成)
  → 截图/检测报告/实物照片
  → 供应商签字确认(如联系得上)

Step 2:立即下架
  → 平台所有在售商品全部下架
  → 通知已购买用户(必要时启动退款)

Step 3:全平台公示
  → 内部通报,禁止再次合作
  → 情节严重者上报行业协会

Step 4:法律追责(如涉及欺诈)
  → 报案或发起民事诉讼
  → 金额 > 3000 元即构成诈骗罪(刑法266条)

永久黑名单标准(不可解除):
  ├── 食品安全事故主责(造成人身伤害)
  ├── 违法犯罪行为(假证/行贿/侵权)
  └── 卷款跑路

1.7 定价策略方法论

社区团购定价公式:

        成本价
售价 = ────────────────
        (1 - 平台抽佣率 - 团长佣金率 - 物流费率 - 损耗率 - 运营费率)

目标毛利率 = 1 - 各项成本占比之和 ≥ 20%

---

参数说明:
  成本价:供应商报价
  平台抽佣率:平台收取的佣金(通常 10-18%)
  团长佣金率:给团长的佣金(通常 10-15%)
  物流费率:配送成本占售价比例(通常 5-10%)
  损耗率:预估损耗占售价比例(通常 2-8%)
  运营费率:营销/人力/技术等(通常 3-5%)

---

数值算例(以鸡蛋为例):

假设条件:
  成本价:¥12.0/斤(供应商报价)
  市场价:¥18.0/斤(超市同款)
  平台抽佣率:12%
  团长佣金率:10%
  物流费率:7%
  损耗率:6%(禽蛋类)
  运营费率:3%

代入公式:
  合理售价 = ¥12.0 / (1 - 0.12 - 0.10 - 0.07 - 0.06 - 0.03)
            = ¥12.0 / 0.62
            = ¥19.35

毛利率验算:
  毛利率 = (¥19.35 - ¥12.0) / ¥19.35 = 38.0% ✅

若定价 ¥18.0(竞争定价,跟市场价持平):
  毛利率 = (¥18.0 - ¥12.0) / ¥18.0 = 33.3% ✅
  但各项费率之和 = 0.12+0.10+0.07+0.06+0.03 = 0.38
  成本覆盖 = ¥12.0 + ¥18.0×0.38 = ¥12.0 + ¥6.84 = ¥18.84
  ¥18.0 < ¥18.84 → 亏损!竞争定价需要供应商额外补贴

若定价 ¥15.0(激进引流):
  各项费率 = ¥15.0 × 0.38 = ¥5.70
  成本覆盖 = ¥12.0 + ¥5.70 = ¥17.70
  ¥15.0 < ¥17.70 → 每斤亏损 ¥2.70(平台需补贴)

行业定价参考区间(2023年数据):

  ┌────────────────────────────────────────────────────────────────────────────┐
  │ 品类        成本价     市场价    合理售价区间    毛利率参考    损耗率参考    │
  │ ─────────────────────────────────────────────────────────────────          │
  │ 鸡蛋        ¥5-12/斤  ¥8-18/斤  成本价×1.5-2.0  30-45%      5-8%         │
  │ 大白菜      ¥0.5/斤   ¥2-3/斤   ¥1.5-2.5       25-40%      8-15%        │
  │ 猪五花肉   ¥15-20/斤 ¥25-35/斤 成本价×1.6-2.0  28-38%      3-6%         │
  │ 苹果        ¥3-6/斤   ¥6-12/斤  成本价×1.8-2.2  30-45%      6-10%        │
  │ 进口车厘子  ¥25-35/斤 ¥60-90/斤 成本价×2.0-2.5  40-55%      10-18%       │
  └────────────────────────────────────────────────────────────────────────────┘

---

实际定价策略(三种):

策略 A:竞争定价(引流品)
  → 跟竞品比,我更便宜
  → 定价 = 市场价 × (70-85%)
  → 适用:鸡蛋、蔬菜、大米等刚需品
  → 注意:必须有供应商补贴才能执行,否则亏损

策略 B:价值定价(利润品)
  → 我的品质更好/更独家,值得更贵
  → 定价 = 市场价 × (95-110%)
  → 适用:有机食品、进口商品、地方特产

策略 C:撇脂定价(新品/稀缺品)
  → 趁着稀缺赶紧赚
  → 定价 = 成本价 × 2.5-3.0
  → 适用:首发新品、限量款、节假日礼盒

工具集

工具归属说明 供应商评分卡(Tool 2 原位置)→ 划归模块四(供应链与采购) 本模块仅保留直接服务选品决策的工具

Tool 1: SKU 利润测算器

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
SKU利润测算工具
输入:供应商报价 + 各环节费率
输出:毛利率 + 建议售价 + 盈亏平衡分析
"""

def calculate_sku_profit(
    cost_price: float,
    platform_commission: float = 0.12,  # 平台抽佣率
    leader_commission: float = 0.12,     # 团长佣金率
    logistics_rate: float = 0.08,       # 物流费率
    loss_rate: float = 0.05,           # 损耗率
    operation_rate: float = 0.03,       # 运营费率
    target_gross_margin: float = 0.20  # 目标毛利率
):
    """
    计算SKU利润

    Args:
        cost_price: 供应商成本价(元)
        platform_commission: 平台抽佣率(默认12%)
        leader_commission: 团长佣金率(默认12%)
        logistics_rate: 物流费率(默认8%)
        loss_rate: 损耗率(默认5%)
        operation_rate: 运营费率(默认3%)
        target_gross_margin: 目标毛利率(默认20%)

    Returns:
        dict: 包含售价、毛利率、各环节成本等
    """
    total_cost_rate = (
        platform_commission
        + leader_commission
        + logistics_rate
        + loss_rate
        + operation_rate
    )

    min_selling_price = cost_price / (1 - total_cost_rate - target_gross_margin)

    recommended_price_a = min_selling_price  # 目标毛利定价
    recommended_price_b = cost_price / (1 - total_cost_rate)  # 盈亏平衡定价

    gross_margin_a = (recommended_price_a - cost_price) / recommended_price_a
    gross_margin_b = (recommended_price_b - cost_price) / recommended_price_b

    cost_breakdown = {
        "平台佣金": recommended_price_a * platform_commission,
        "团长佣金": recommended_price_a * leader_commission,
        "物流成本": recommended_price_a * logistics_rate,
        "损耗成本": recommended_price_a * loss_rate,
        "运营成本": recommended_price_a * operation_rate,
        "商品成本": cost_price,
    }

    return {
        "成本价": round(cost_price, 2),
        "最低售价(盈亏平衡)": round(recommended_price_b, 2),
        "建议售价(目标毛利20%)": round(recommended_price_a, 2),
        "盈亏平衡毛利率": round(gross_margin_b * 100, 1),
        "建议毛利率": round(gross_margin_a * 100, 1),
        "成本拆解(元)": {k: round(v, 2) for k, v in cost_breakdown.items()},
        "定价是否可行": gross_margin_a >= target_gross_margin,
    }


def compare_platform_pricing(
    cost_price: float,
    platform: str,
    market_price: float = None
):
    """
    各平台定价对比

    Args:
        cost_price: 成本价
        platform: 平台名称
        market_price: 市场价(可选)

    Returns:
        dict: 各平台定价建议
    """
    platform_configs = {
        "美团优选": {
            "platform_commission": 0.12,
            "leader_commission": 0.12,
            "logistics_rate": 0.08,
            "loss_rate": 0.06,
            "operation_rate": 0.03,
        },
        "多多买菜": {
            "platform_commission": 0.10,
            "leader_commission": 0.10,
            "logistics_rate": 0.07,
            "loss_rate": 0.05,
            "operation_rate": 0.02,
        },
        "淘菜菜": {
            "platform_commission": 0.15,
            "leader_commission": 0.12,
            "logistics_rate": 0.09,
            "loss_rate": 0.04,
            "operation_rate": 0.04,
        },
        "兴盛优选": {
            "platform_commission": 0.14,
            "leader_commission": 0.12,
            "logistics_rate": 0.06,
            "loss_rate": 0.05,
            "operation_rate": 0.03,
        },
    }

    if platform not in platform_configs:
        return {"error": f"未知平台: {platform}"}

    cfg = platform_configs[platform]
    result = calculate_sku_profit(
        cost_price=cost_price,
        **cfg
    )

    if market_price:
        result["市场竞争价"] = market_price
        result["相对市场价"] = f"+{(result['建议售价(目标毛利20%)']/market_price - 1)*100:.1f}%"
        result["价格竞争力"] = "强" if result['建议售价(目标毛利20%)'] < market_price * 0.9 else "中" if result['建议售价(目标毛利20%)'] < market_price else "弱"

    return result


def run():
    """
    交互式运行
    """
    print("=" * 50)
    print("SKU利润测算工具")
    print("=" * 50)

    try:
        cost = float(input("请输入成本价(元):"))
    except ValueError:
        print("成本价输入错误")
        return

    print("\n选择平台:1-美团优选 2-多多买菜 3-淘菜菜 4-兴盛优选")
    platform_map = {"1": "美团优选", "2": "多多买菜", "3": "淘菜菜", "4": "兴盛优选"}
    p_choice = input("请输入选项(默认美团优选):").strip() or "1"
    platform = platform_map.get(p_choice, "美团优选")

    result = compare_platform_pricing(cost, platform)

    print(f"\n【{platform}】定价分析:")
    print(f"  成本价:{result['成本价']} 元")
    print(f"  盈亏平衡售价:{result['最低售价(盈亏平衡)']} 元(毛利率 {result['盈亏平衡毛利率']}%)")
    print(f"  建议售价(20%毛利):{result['建议售价(目标毛利20%)']} 元(毛利率 {result['建议毛利率']}%)")

    if "市场竞争价" in result:
        print(f"  市场价:{result['市场竞争价']} 元")
        print(f"  相对市场价:{result['相对市场价']}")
        print(f"  价格竞争力:{result['价格竞争力']}")

    print("\n成本拆解(元):")
    for k, v in result["成本拆解(元)"].items():
        print(f"  {k}:{v}")

    print(f"\n定价是否可行:{'✅ 是' if result['定价是否可行'] else '❌ 否(毛利低于20%)'}")


if __name__ == "__main__":
    run()

Tool 2: 选品竞品对比器

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
选品竞品对比工具
输入:自己想上的品 + 各平台当前售价
输出:竞争力分析 + 建议定价
"""

def compare_product_competitiveness(
    product_name: str,
    cost_price: float,
    my_platform: str,
    competitor_prices: dict,
    market_price: float = None,
    target_margin: float = 0.20
):
    """
    竞品对比分析

    Args:
        product_name: 商品名称
        cost_price: 成本价
        my_platform: 己方平台
        competitor_prices: 竞品价格 dict,如 {"美团优选": 12.9, "多多买菜": 11.9}
        market_price: 超市/菜市场市场价(可选)
        target_margin: 目标毛利率

    Returns:
        dict: 竞争力分析报告
    """
    import statistics

    all_prices = list(competitor_prices.values())
    if market_price:
        all_prices.append(market_price)

    avg_price = statistics.mean(all_prices)
    min_price = min(all_prices)
    max_price = max(all_prices)

    # 计算己方各平台定价
    platform_configs = {
        "美团优选": {"platform": 0.12, "leader": 0.12, "logistics": 0.08, "loss": 0.06, "op": 0.03},
        "多多买菜": {"platform": 0.10, "leader": 0.10, "logistics": 0.07, "loss": 0.05, "op": 0.02},
        "淘菜菜": {"platform": 0.15, "leader": 0.12, "logistics": 0.09, "loss": 0.04, "op": 0.04},
        "兴盛优选": {"platform": 0.14, "leader": 0.12, "logistics": 0.06, "loss": 0.05, "op": 0.03},
    }

    cfg = platform_configs.get(my_platform, platform_configs["美团优选"])
    total_cost_rate = sum(cfg.values())

    suggested_price = cost_price / (1 - total_cost_rate - target_margin)
    breakeven_price = cost_price / (1 - total_cost_rate)

    # 竞争力判断
    price_vs_avg = (suggested_price / avg_price - 1) * 100
    price_vs_min = (suggested_price / min_price - 1) * 100

    if price_vs_avg < -10:
        competitiveness = "🟢 极强(显著低于平均)"
        recommendation = "低价引流款,可快速起量"
    elif price_vs_avg < 0:
        competitiveness = "🟢 较强(低于平均)"
        recommendation = "有竞争力的定价,可以上"
    elif price_vs_avg < 10:
        competitiveness = "🟡 中等(接近平均)"
        recommendation = "需要差异化支撑(品质/服务),否则难销"
    elif price_vs_avg < 20:
        competitiveness = "🟠 较弱(高于平均)"
        recommendation = "不适合做爆品,建议做长尾/利润款"
    else:
        competitiveness = "🔴 极弱(显著高于平均)"
        recommendation = "定价过高,除非独家/品质极强,否则不建议上"

    return {
        "商品名称": product_name,
        "成本价": cost_price,
        "己方平台": my_platform,
        "统计基准": {
            "竞品数量": len(competitor_prices),
            "最低价": min_price,
            "最高价": max_price,
            "平均价": round(avg_price, 2),
            "市场价(超市)": market_price,
        },
        "己方定价": {
            "建议售价(毛利20%)": round(suggested_price, 2),
            "盈亏平衡售价": round(breakeven_price, 2),
            "目标毛利率": f"{target_margin*100:.0f}%",
        },
        "竞争力分析": {
            "相对平均价": f"{'+' if price_vs_avg > 0 else ''}{price_vs_avg:.1f}%",
            "相对最低价": f"{'+' if price_vs_min > 0 else ''}{price_vs_min:.1f}%",
            "竞争力评估": competitiveness,
            "建议策略": recommendation,
        },
        "竞品明细": competitor_prices,
    }


def run():
    print("=" * 60)
    print("选品竞品对比工具")
    print("=" * 60)

    product = input("商品名称:").strip()
    try:
        cost = float(input("成本价(元):"))
    except ValueError:
        print("成本价输入错误")
        return

    print("\n竞品价格输入(输入完成后直接回车):")
    competitors = {}
    while True:
        p = input("  平台名称(直接回车结束):").strip()
        if not p:
            break
        try:
            price = float(input(f"  {p} 售价(元):"))
            competitors[p] = price
        except ValueError:
            print("  价格输入错误")

    platform_map = {"1": "美团优选", "2": "多多买菜", "3": "淘菜菜", "4": "兴盛优选"}
    my_p = input("\n己方平台(1-美团 2-多多 3-淘菜 4-兴盛,默认1):").strip() or "1"
    my_platform = platform_map.get(my_p, "美团优选")

    market_input = input("市场价(超市价,可直接回车跳过):").strip()
    market_price = float(market_input) if market_input else None

    result = compare_product_competitiveness(
        product, cost, my_platform, competitors, market_price
    )

    print(f"\n{'='*60}")
    print(f"【{result['商品名称']}】竞品对比报告")
    print(f"{'='*60}")
    print(f"\n统计基准:")
    print(f"  竞品数量:{result['统计基准']['竞品数量']}")
    print(f"  最低价:{result['统计基准']['最低价']} 元")
    print(f"  最高价:{result['统计基准']['最高价']} 元")
    print(f"  平均价:{result['统计基准']['平均价']} 元")
    if result['统计基准']['市场价(超市)']:
        print(f"  超市价:{result['统计基准']['市场价(超市)']} 元")

    print(f"\n己方定价({result['己方平台']}):")
    print(f"  建议售价(毛利20%):{result['己方定价']['建议售价(毛利20%)']} 元")
    print(f"  盈亏平衡售价:{result['己方定价']['盈亏平衡售价']} 元")

    print(f"\n竞争力分析:")
    print(f"  相对平均价:{result['竞争力分析']['相对平均价']}")
    print(f"  相对最低价:{result['竞争力分析']['相对最低价']}")
    print(f"  竞争力:{result['竞争力分析']['竞争力评估']}")
    print(f"  建议策略:{result['竞争力分析']['建议策略']}")

    print(f"\n竞品明细:")
    for p, price in result['竞品明细'].items():
        print(f"  {p}:{price} 元")


if __name__ == "__main__":
    run()

Tool 3: 品类适配度评估器

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
品类适配度评估器
输入:品类特征数据
输出:适配度评分 + 品类定级(P0-P4) + 上架建议
"""


def assess_category_fit(
    category: str,
    is_staple: bool,           # 是否刚需品
    purchase_frequency: str,   # 高频/中频/低频
    avg_order_value: float,    # 该品类平均客单价
    loss_rate: float,         # 预估损耗率(0-1)
    is_standardized: bool,    # 是否标准化商品
    shelf_life_days: int,      # 保质期天数
    has_supply_advantage: bool,  # 是否有供应链优势
    competitor_density: str,   # 竞品密度:高/中/低
    weights: dict = None,     # 可选:自定义权重,如 {"刚需性": 25, "频次": 20, ...}
):
    """
    评估品类是否适合社区团购

    Args:
        category: 品类名称
        is_staple: 是否为刚需品(米面粮油/蔬菜/鸡蛋等)
        purchase_frequency: 高频/中频/低频
        avg_order_value: 该品类平均客单价(元)
        loss_rate: 预估损耗率(0.05 = 5%)
        is_standardized: 商品是否标准化(规格统一/易验货)
        shelf_life_days: 保质期天数
        has_supply_advantage: 是否有供应链优势(源头直采/独家等)
        competitor_density: 竞品密度(高=多家平台在卖/中/低=少有人卖)
        weights: 可选,自定义各维度权重(默认值如下)
            刚需性=25, 频次=20, 标准化=15, 损耗率=15, 供应链优势=15, 竞品密度=10

    Returns:
        dict: 适配度评分 + 定级建议
    """
    # 默认权重(总分100)
    w = weights or {
        "刚需性": 25,
        "频次": 20,
        "标准化": 15,
        "损耗率": 15,
        "供应链优势": 15,
        "竞品密度": 10,
    }

    score = 0
    reasons = []

    # 刚需性(权重内自定义,这里用0/满分二值)
    if is_staple:
        score += w["刚需性"]
        reasons.append("✅ 刚需品,用户需求稳定")
    else:
        score += int(w["刚需性"] * 0.3)
        reasons.append("⚠️ 非刚需品,用户购买决策成本高")

    # 购买频次(最高20分)
    freq_map = {"高频": 20, "中频": 12, "低频": 5}
    freq_score = freq_map.get(purchase_frequency, 8)
    score += freq_score
    reasons.append(f"{purchase_frequency}购买(+{freq_score}分)")

    # 标准化程度(最高15分)
    if is_standardized:
        score += 15
        reasons.append("✅ 标准化商品,质量易管控,投诉率低")
    else:
        score += 3
        reasons.append("❌ 非标品,质量难标准化,投诉风险高")

    # 损耗率(最高15分,越低越好)
    if loss_rate < 0.03:
        score += 15
        reasons.append(f"✅ 损耗率低({loss_rate*100:.0f}%),成本可控")
    elif loss_rate < 0.08:
        score += 10
        reasons.append(f"🟡 损耗率中等({loss_rate*100:.0f}%),需重点管控")
    elif loss_rate < 0.15:
        score += 3
        reasons.append(f"⚠️ 损耗率高({loss_rate*100:.0f}%),建议试销")
    else:
        score += 0
        reasons.append(f"❌ 损耗率极高({loss_rate*100:.0f}%),不适合上")

    # 供应链优势(最高15分)
    if has_supply_advantage:
        score += 15
        reasons.append("✅ 有供应链优势(源头直采/独家),成本可压低")
    else:
        score += 5
        reasons.append("⚠️ 无明显供应链优势,成本竞争力弱")

    # 竞品密度(最高10分,低密度=蓝海)
    if competitor_density == "低":
        score += 10
        reasons.append("✅ 竞品密度低,差异化空间大")
    elif competitor_density == "中":
        score += 6
        reasons.append("🟡 竞品密度中等,需差异化竞争")
    else:
        score += 2
        reasons.append("❌ 竞品密度高,价格战激烈,利润薄")

    # 定级建议
    if score >= 80:
        grade = "P1(爆款)"
        suggestion = "✅ 强烈建议上架,可作为主推爆品"
    elif score >= 65:
        grade = "P2(利润款)"
        suggestion = "✅ 可以上架,作为毛利补充品类"
    elif score >= 50:
        grade = "P3(长尾款)"
        suggestion = "🟡 谨慎上架,需控制库存量"
    elif score >= 35:
        grade = "P4(观察款)"
        suggestion = "⚠️ 建议试销(50-100件),数据达标再正式上架"
    else:
        grade = "禁入"
        suggestion = "❌ 不建议上架,风险大于收益"

    return {
        "品类": category,
        "适配度评分": f"{score}/100",
        "定级建议": grade,
        "上架建议": suggestion,
        "加分项": [r for r in reasons if "✅" in r],
        "扣分项": [r for r in reasons if "❌" in r],
        "中性项": [r for r in reasons if "🟡" in r],
    }


def run():
    print("=" * 55)
    print("品类适配度评估器")
    print("=" * 55)

    category = input("品类名称:").strip() or "土豆"

    is_staple = input("是否刚需品(y/N,如大米/鸡蛋):").strip().lower() == 'y'

    freq = input("购买频次(高/中/低):").strip() or "高频"

    try:
        aov = float(input("平均客单价(元):").strip() or "15")
    except ValueError:
        aov = 15.0

    try:
        loss = float(input("预估损耗率(0.05=5%):").strip() or "0.03")
    except ValueError:
        loss = 0.03

    is_std = input("是否标准化商品(y/N):").strip().lower() == 'y'

    try:
        shelf = int(input("保质期(天):").strip() or "30")
    except ValueError:
        shelf = 30

    has_adv = input("是否有供应链优势(y/N):").strip().lower() == 'y'

    comp = input("竞品密度(高/中/低):").strip() or "高"

    result = assess_category_fit(
        category, is_staple, freq, aov, loss, is_std, shelf, has_adv, comp
    )

    print(f"\n{'='*55}")
    print(f"品类适配度评估:{result['品类']}")
    print(f"{'='*55}")
    print(f"\n适配度评分:{result['适配度评分']}")
    print(f"定级建议:{result['定级建议']}")
    print(f"上架建议:{result['上架建议']}")

    if result['加分项']:
        print(f"\n加分项:")
        for r in result['加分项']:
            print(f"  {r}")
    if result['中性项']:
        print(f"\n中性项:")
        for r in result['中性项']:
            print(f"  {r}")
    if result['扣分项']:
        print(f"\n扣分项:")
        for r in result['扣分项']:
            print(f"  {r}")


if __name__ == "__main__":
    run()

案例库

案例1:橙心优选败局复盘(选品失控)

背景:滴滴 2020 年 8 月上线橙心优选,2023 年 3 月关停,历时 31 个月

选品问题:
  1. 无差异化:SKU 扩张至 3000+(行业均值 800-1200),单品采购量分散,供应链议价能力极弱
  2. 低价依赖:平台补贴 30-50%,用户没有平台忠诚度(补贴停即流失)
  3. 供应链失控:生鲜损耗率高达 18-22%(行业均值 6-8%),每单损耗成本 2.5-3.5 元

关键数据推导:
  高峰期日均 GMV ≈ 1.5 亿元
  每单平均客单价 ≈ 35 元
  日均订单量 ≈ 428 万单
  每单补贴额 ≈ 3-5 元(含物流/营销/损耗)
  日均亏损 ≈ 1284-2140 万元
  月均亏损 ≈ 3.9-6.4 亿元
  31 个月累计亏损 ≈ 120-200 亿元

各品类亏损占比:
  生鲜(蔬菜/水果/肉):亏损 55%(损耗率 18-22% 是主因)
  标品(饮料/零食):亏损 20%(竞争平台价格战)
  日用品:亏损 15%(物流成本高于毛利)
  其他:亏损 10%

橙心 vs 多多买菜同期对比:
  ┌─────────────────────────────────────────────────┐
  │  指标          橙心优选      多多买菜          │
  │  ─────────────────────────────────────          │
  │  日均 GMV      1.5亿       5亿+              │
  │  SKU 数量      3000+        800-900             │
  │  单品采购量    分散          集中(议价力强)    │
  │  生鲜损耗率    18-22%       6.5-8%             │
  │  单均亏损      3-5元        <0.5元             │
  │  31个月累计亏损 120-200亿    约50亿(可控)     │
  └─────────────────────────────────────────────────┘

失败根源分析(选品视角):
  ① SKU 无边界:什么都想卖 → 没有核心品类 → 无法形成供应链壁垒
  ② 生鲜占比过高且管理失控:生鲜占 GMV 40%,但损耗率 18%+ → 每卖 100 元亏 18 元
  ③ 标品价格战:可口可乐/农夫山泉等标品,多多买菜价更低,橙心无法竞争

核心教训:
  → 不是所有品类都适合社区团购,生鲜占比 > 50% 必须严控损耗
  → SKU 数量不是优势,爆品精准度 + 单品采购量才是竞争力
  → 损耗率 > 12% 的平台,财务模型必然崩溃(不可逆)
  → 选品边界 = 供应链边界 = 成本边界,三位一体

案例1b:有机菠菜损耗率超标降耗方案

背景:某平台新上架有机菠菜,上架第1个月损耗率 12%(标准 ≤ 8%)

问题诊断:
  → 损耗来源拆解:
    - 在途损耗(干线运输):3%(包装不当)
    - 仓储损耗(冷库存储):2%(温湿度控制问题)
    - 到团损耗(团长提货):4%(分拣不及时)
    - 用户拒收损耗:3%(叶菜不易保存)

可执行降损耗方案:

方案A:分批采购(源头控制)
  → 原来:一次性采购5天库存
  → 改为:每日配送,降低单次采购量
  → 预期效果:降低 40% 存储损耗 → 损耗率从 12% 降至 9%
  → 成本变化:物流成本增加 10%,但损耗减少节省更多

方案B:包装优化(标准化处理)
  → 原来:散装泡沫箱,无孔
  → 改为:带孔透气包装盒,单层摆放
  → 预期效果:降低 30% 运输损耗 → 损耗率从 12% 降至 10%
  → 成本变化:包装成本增加 ¥0.3/份,可接受

方案C:物流链路优化(缩短周转时间)
  → 原来:中心仓→网格仓→团长(平均周转 36小时)
  → 改为:中心仓→团长直发(部分区域试点)
  → 预期效果:降低 35% 物流损耗 → 损耗率从 12% 降至 8.5%
  → 成本变化:物流成本增加 5%,但客诉率降低

方案D:设定改善期限(管理机制)
  → 第1周:每日监控损耗数据,找出主因
  → 第2-4周:优先执行成本最低的改善(包装优化)
  → 第2个月:评估效果,决定是否扩大试点
  → 第3个月:若损耗率降至 ≤ 8%,正式推广全链路

综合执行计划(4周改善周期):
  Week 1:诊断分析,确定主因,制定改善计划
  Week 2:执行包装优化 + 分批采购试点
  Week 3:评估效果,调整策略
  Week 4:固化最优方案,推广至全链路

验收标准:
  → 损耗率 ≤ 8%:继续正常运营
  → 损耗率 8-10%:限流销售,控制库存
  → 损耗率 > 10%:暂停上架,待问题解决后再上

注意事项:
  → 降损耗不能牺牲品质(不能减少保鲜措施)
  → 团长培训同样重要(到团后2小时内必须完成分拣)
  → 损耗率数据必须每日追踪,及时发现异常

案例2:多多买菜成功选品策略

成功点:聚焦农产品,差异化竞争,财务模型健康

具体做法:
  1. 以蔬菜/水果/肉类为主,占 GMV 65%+
  2. 源头直采:云南蔬菜(通海/元谋)、山东大蒜(金乡)、四川丑柑(蒲江)
  3. 整箱/整袋销售:最小销售单元 2-5 斤,降低物流难度
  4. 爆品逻辑:每期只主推 1 个单品,全部流量集中打爆
  5. SKU 严控:活跃 SKU 始终控制在 800-1000 个,不追求数量

关键数据(2023年):
  GMV:约 1800 亿元(行业第一,超第二名美团 3 倍)
  营收:约 320 亿元(GMV→营收 转化率 18%)
  净利润:接近盈亏平衡(2023年 впервые 实现微利)
  生鲜品类毛利率:27-32%(业内最高)
  综合损耗率:6.5-7.5%(行业最优,比橙心低 11-15pp)
  活跃 SKU:约 900 个(精而不滥,周转率 12-15 次/月)

选品结构占比(多多买菜 SKU 构成):
  蔬菜/水果/肉禽(生鲜):SKU 占比 45%,GMV 占比 65%,毛利 27-32%
  乳品/低温食品:SKU 占比 15%,GMV 占比 15%,毛利 15-20%
  标品(饮料/零食/日用):SKU 占比 30%,GMV 占比 15%,毛利 18-22%
  进口/有机/有机:SKU 占比 10%,GMV 占比 5%,毛利 35-45%

单品采购量优势(核心竞争壁垒):
  土豆:日采购 500 吨 → 采购成本比中小平台低 18%
  大蒜:日采购 200 吨 → 采购成本比中小平台低 22%
  鸡蛋:日采购 300 万枚 → 采购成本比中小平台低 15%

用户结构:
  70 后+80 后用户占比 65%(价格敏感,追求实用性)
  重点区域:山东/河南/四川/广东(农业大省+人口大省)
  用户月均购买频次:5-7 次(高于行业均值 3-5 次)

可复用经验:
  → SKU 数量不是护城河,单品采购量才是(500 吨/天的土豆谁也打不过)
  → 爆品集中打法(1 期 1 爆品,所有流量打一个品) > 全面铺货
  → 源头直采是降本提质的关键,损耗率每降 1% = 年省数亿元
  → 选品边界决定了供应链边界,进而决定成本边界,三位一体

案例3:兴盛优选地方特产选品

成功点:地方化选品,建立区域护城河,用户粘性极高

具体做法:
  1. 湖南区域:主打辣椒系(剁椒鱼头/辣椒酱)、腊肉系
  2. 湖北区域:主打热干面/周黑鸭/武昌鱼
  3. 广东区域:主打腊味/早茶点心/潮汕牛肉丸
  4. 供应商本地化:区域小型工厂/合作社,本地人管本地事

差异化价值:
  用户感受:"这就是我家门口的东西,又便宜又方便"
  竞品无法复制:美团/多多无法每个区域都本地化供应链

关键数据:
  湖南市场份额:一度达 45%(碾压美团 25%/多多 20%)
  区域毛利率:28-32%(高于行业平均 20%)
  用户月均购买频次:9-12 次(业内最高,多多买菜为 5-7 次)
  次月留存率:78%(行业最高,美团/多多约 55-65%)
  自营占比:约 65%(最高,高毛利结构)

失败教训(2023年收缩):
  扩张过快:湖南以外省份供应链不成熟,损耗率飙升
  核心结论:区域密度 > 全国覆盖,先做透再做大

案例4:某平台"进口水果"选品失败教训

背景:2022年某平台为提升客单价,引入进口水果品类

选品决策:
  → 选品经理认为进口车厘子/蓝莓/牛油果有消费升级需求
  → 定价:市场价 8-9 折,目标客群:高学历/高收入用户
  → 供应商:找到进口水果贸易商,有完整资质

初期数据(看起来很好):
  → 上架第1周:日均订单 800 单,客单价 ¥85(高于均值 35元)
  → 用户反馈:进口水果品质好,复购意愿强
  → 毛利率:约 18%(扣除损耗前)

问题浮现(第2-3周):
  1. 冷链要求高:
    → 进口水果需要全程冷链 2-6℃
    → 到团后团长冷柜条件参差不齐(部分团长无冷柜)
    → 用户提货延迟或未及时冷藏:果品腐败投诉激增

  2. 损耗率飙升:
    → 预期损耗:3-5%
    → 实际损耗:12-18%(到团后腐败为主因)
    → 每单亏损:损耗 ¥12/单 × 800单/天 = 每天亏损近万元

  3. 客诉率暴涨:
    → 进口水果相关投诉:日均 35 起(占总投诉 40%)
    → 用户差评扩散:社交媒体出现"进口水果不新鲜"的帖子

最终处置(第4周):
  → 全面下架进口水果
  → 供应商货款纠纷:部分货物已到港,违约损失约 ¥30 万
  → 直接损失:累计亏损 + 赔偿 + 违约 ≈ ¥180 万

核心教训:
  → 社区团购的冷链条件(团长端)无法支撑高标准进口水果
  → 损耗率测算必须包含"到团后"损耗,不能只算干线运输
  → 选品不能只看"毛利率",要看"履约毛利率"(扣除全链路损耗)
  → 进口水果适合盒马/叮咚等有专业冷链的平台,不适合社区团购

附录:选品检查清单

新品上架前检查清单:

□ 1. 需求验证:有没有用户主动搜索/询问过这个品?
□ 2. 供应链确认:供应商是否已签署合同,货能不能准时到?
□ 3. 资质审核:食品经营许可证/检测报告是否齐全?
□ 4. 毛利测算:毛利率是否 ≥ 20%?(用 SKU 利润测算器验证)
□ 5. 竞品对比:我们的售价是否有竞争力?(用竞品对比器验证)
□ 6. 风险评估:有没有质量安全风险/合规风险?
□ 7. 损耗预估:生鲜损耗率是否在可控范围内?
□ 8. 试销计划:是否安排了 50-100 件试销?
□ 9. 退换货预案:如果出现滞销,供应商是否接受退换?
□ 10. 营销资源:这个品有没有营销费用支持?

以上全部 ✅ 才能正式上架
任何 ❌ 都需要先解决才能上架