AI PLAY玩法更新持续收录
← 回到更新流

2026-10-08 · 原文发布日

每天自动诊断黄金货架位上的滞销商品

面向零售门店的n8n流程:每天凌晨汇总Google Sheets里的商品目录、销售、库存和货架陈列数据,算出未售天数、到期天数、相对品类中位的价格指数、清货天数和占用资金等指标。筛出在黄金视线层放够天数却近30天滞销的商品,按规则矩阵给出清仓、下架、试价、移位或观察建议,再把资金占用最高的若干条交给Gemini复核,价格有确定性护栏钳制,最终行动票写入Action_Queue页并在Slack发摘要。

原文要点

原模板每天01:00(或手动)运行:从Google Sheets读Catalog_Master、Sales_Rollup、Inventory_Snapshot、Planogram四个标签页,按门店×SKU连接成含品类同组统计和替代SKU候选的数据集;计算未售天数、到期天数、相对品类中位的价格指数、动销速率、清货天数、资金占用;筛出在黄金视线层(zone_tier)放够天数、有库存、近30天低销的SKU,按规则矩阵给出liquidate/delist/price test/relocate/monitor;按资金占用排序取前N(max_ai_items)送Gemini出结构化决策,再用确定性护栏钳制价格并强制下架与替代SKU规则;行动票upsert进Action_Queue页,Slack发摘要,Run_Log写一行审计。模板免费,Gemini与Slack为各自服务。

这次做成什么

搭一条每日滞销诊断流水线:规则引擎先初筛黄金位滞销品,Gemini复核高资金占用项,产出带定价、移位、ERP标记和复核日期的行动票;本站给出四张输入表的最小列结构、一条合成测试数据和复核提示词。

准备什么

  • n8n实例,可用Google Sheets(Service Account)、Google Gemini(PaLM)、Slack三类凭据
  • 一个含Catalog_Master、Sales_Rollup、Inventory_Snapshot、Planogram、Action_Queue、Run_Log六个标签页的Google Sheet
  • 门店商品目录、近30天销售汇总、库存快照(含最早批次到期日)、货架陈列(zone_tier等)数据
  • Slack工作区及可发消息的目标频道

具体怎么做

  1. 建表并授权服务账号

    建六个标签页。输入四页最小列:Catalog_Master(store_id,sku_id,category,cost,price,replacement_sku);Sales_Rollup(store_id,sku_id,units_30d,last_sale_date);Inventory_Snapshot(store_id,sku_id,total_on_hand,earliest_batch_expiry);Planogram(store_id,sku_id,zone_tier,days_in_zone,facings)。Action_Queue与Run_Log列以模板配置为准。把表格共享给服务账号邮箱,在n8n配好凭据并在Config里填sheet ID。

  2. 配置阈值与凭据

    在Config检查t_stagnant_days(滞销天数门槛)、expiry_critical_days(临期门槛)、price_index_limit、max_ai_items(送AI复核的条数,练习时设3)、黄金位最短在架天数。再配Gemini与Slack凭据并设频道。阈值是业务决策,没有统一正确值,先用小门店数据试跑再调。

  3. 用合成数据手动触发验证

    往四张输入表各填数行本站给的合成数据,保证至少一行满足:zone_tier=prime、在架天数≥门槛、total_on_hand>0、units_30d低于滞销阈值。手动执行:流程连表→算指标→规则矩阵给建议→按资金占用排序→前N送Gemini→护栏钳制→写Action_Queue→发Slack→写Run_Log。

  4. 核对输出后再激活调度

    检查Action_Queue里行动票的action、定价、移位、复核日期是否被护栏约束在合理范围(如清货价不低于成本);Slack摘要条数与Action_Queue新增一致;Run_Log有一行计数审计。确认后激活01:00定时触发。

可直接复制的材料

四张输入表的合成测试数据(CSV,直接粘进对应标签页)

本站虚构合成数据,字段名需与模板Config核对;A100设计为命中滞销+临期规则

--Catalog_Master--
store_id,sku_id,category,cost,price,replacement_sku
S01,A100,酸奶,3.2,6.5,A101
S01,A101,酸奶,3.5,6.9,
--Sales_Rollup--
store_id,sku_id,units_30d,last_sale_date
S01,A100,2,2026-09-10
S01,A101,48,2026-10-07
--Inventory_Snapshot--
store_id,sku_id,total_on_hand,earliest_batch_expiry
S01,A100,40,2026-10-20
S01,A101,12,2026-11-15
--Planogram--
store_id,sku_id,zone_tier,days_in_zone,facings
S01,A100,prime,45,3
S01,A101,prime,60,2

Gemini复核提示词(本站独立编写)

变量名需在模板中核对替换;护栏(价格钳制、替代SKU强制)由模板代码兜底,提示词只是第一道

你是零售门店商品运营顾问。下面是某门店黄金视线层疑似滞销SKU的JSON数据,含未售天数、到期天数、价格指数(相对品类中位)、清货天数、占用资金与系统建议动作。请复核每条:1)判断建议动作(liquidate/delist/price_test/relocate/monitor)是否合理,可改判并给reason;2)若建议降价,给出suggested_price,但不得高于现价、不得低于成本价;3)若建议delist,确认replacement_sku非空。只输出JSON数组:[{"store_id":"","sku_id":"","action":"","suggested_price":0.0,"reason":""}]
数据:{{items_json}}

输入与输出示例

本站虚构演示,数字对应合成输入,非模板实跑结果

输入

S01店SKU A100:黄金位45天、units_30d=2、在库40件、最早批次2026-10-20到期、成本3.2元、现价6.5元,资金占用128元,规则矩阵初判liquidate。

对应输出

Gemini返回{"store_id":"S01","sku_id":"A100","action":"liquidate","suggested_price":4.5,"reason":"临期且动销极慢"};护栏确认4.5不低于成本3.2;Action_Queue新增一票:清货价4.5元、facings 3→1、复核日期7天后;Slack摘要显示本店1条liquidate;Run_Log写入扫描2条/命中1条。

做完检查这些

  • A100命中滞销+临期规则进入候选,A101(动销48件)被过滤掉,不进入Action_Queue
  • 送Gemini的条数不超过max_ai_items,且按资金占用从高到低取
  • 清货建议价被护栏限制在不高于现价且不低于成本,delist建议必须有replacement_sku
  • Action_Queue新增票数与Slack摘要计数、Run_Log审计行计数一致

容易卡住的地方

  • 六个标签页名与列名必须与模板Config完全一致,错一个下划线连接就失败
  • earliest_batch_expiry等日期列格式不统一会导致到期天数计算错误,先统一为YYYY-MM-DD
  • Gemini返回非JSON时解析节点会报错,提示词里必须强调只输出JSON数组
  • 阈值(t_stagnant_days等)没有普适值,直接套默认值可能全店误报,用合成数据校准后再上真数据
  • Service Account未共享表格会读不到数据;Slack频道未授权会发送失败
  • 行动票只写入Action_Queue并发Slack摘要,模板不会直接改ERP或线上价格,实际执行仍需门店人员按票操作

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Optimize dead shelf products with Google Sheets, Google Gemini and Slack
原作者
iamvaar
原始发布日期
2026-10-08T12:05:50.069Z
来源
https://n8n.io/workflows/20665