首页

数据方法论

指标口径 · 计算公式 · 维度权重 · 榜单规则 · 单位换算

九优食仓共登记 29 个数据源,其中 1 个已通过可用性核验,其余标注为待验证、受限或网络不可达,页面中逐条标明状态。指标体系含 55 项定义,分布在 6 个维度;价格统一折算到基准单位后再比较,当前累计 730 条已审核报价、覆盖 3 个采集日,最新数据日期 2026-10-05。

已登记数据源
29 个(核验通过 1 个)
指标定义
55 项
最新行情日期
2026-10-05
已审核报价
730 条
29已登记数据源(核验通过 1)
55指标定义 / 6 个维度
730已审核报价
3覆盖采集日
402启用标准品
132在册农批市场

一、数据从哪来

共登记 29 个数据源,其中 1 个已通过可用性核验。 未通过核验的站点不参与任何聚合与排名,页面逐条标明核验状态与原因 —— 把「已登记」和「已在用」分开说清楚, 避免读者把登记表当成在用清单。

数据源类型核验等级核验状态状态说明
农业农村部全国农产品批发价格系统 gov_api T1 已通过 巡检10-12 07:00:可用,入库 245 条
武汉白沙洲市场蔬菜批发价格 API gov_api T1 需鉴权 [实测返回鉴权错误,与「免 token」描述不符] ⚠️ 实测需登录(原文已解密核对)。拿到账号后是极高价值的单市场全品
山东公共数据开放网 滨州农产品价格监测 gov_api T1 需鉴权 [实测返回鉴权错误,与「免 token」描述不符] ⚠️ 实测返回「请求者标识不存在」,说明必须带 X-Client-I
烟台公共数据开放平台 农产品批发市场价格 API gov_api T1 需鉴权 [实测返回鉴权错误,与「免 token」描述不符] ⚠️ 实测返回「请求者标识不存在」。签名算法最复杂,但签名实现一次可
辽宁省公共数据开放平台 农副产品价格监测周报 API gov_api T1 需鉴权 [实测返回鉴权错误,与「免 token」描述不符] ⚠️ 实测返回「请求者标识不存在」。周报口径,适合做省级周度均价
北京新发地农产品批发市场 mkt_web T2 未核验 巡检10-12 07:00:页面可访问但未解析出条目,需核对 parser 配置
重庆双福国际农贸城 mkt_web T2 未核验 巡检10-12 07:01:解析 40 条但全部判脏,需核对字段映射/单位归一
嘉兴水果市场 mkt_web T2 网络不可达 巡检实测:HTTP 404,行情页地址已变更
郑州万邦国际农产品物流城 mkt_web T2 网络不可达 巡检实测:域名无法解析(DNS 不存在),URL 系早期凭印象填写
广州江南果菜批发市场 mkt_web T2 未核验 巡检10-12 07:01:页面可访问但未解析出条目,需核对 parser 配置
武汉白沙洲农副产品大市场 官网行情 mkt_web T2 网络不可达 巡检实测:域名无法解析(DNS 不存在),URL 系早期凭印象填写
上海西郊国际农产品交易中心 mkt_web T2 网络不可达 巡检实测:HTTP 404,行情页地址已变更
寿光地利农产品物流园 mkt_web T2 网络不可达 巡检实测:域名无法解析(DNS 不存在),URL 系早期凭印象填写
南京众彩农副产品批发市场 mkt_web T2 网络不可达 巡检实测:域名无法解析(DNS 不存在),URL 系早期凭印象填写
无锡朝阳农产品大市场 mkt_web T2 网络不可达 巡检实测:域名无法解析(DNS 不存在),URL 系早期凭印象填写
济南堤口果品蔬菜批发市场 mkt_web T2 网络不可达 巡检实测:域名无法解析(DNS 不存在),URL 系早期凭印象填写
徐州农副产品中心批发市场 mkt_web T2 未核验 巡检10-12 07:01:页面可访问但未解析出条目,需核对 parser 配置
昆明骏骐干菜副食粮油批发市场 mkt_web T2 网络不可达 巡检实测:域名无法解析(DNS 不存在),URL 系早期凭印象填写
农业农村部重点农产品市场信息平台 gov_web T3 网络不可达 [沙箱代理拦截,非站点故障] 与上面 API 同源互补(含价格指数与行情分析报告);沙箱代理拦截,待生产验证
商务部全国农产品商务信息公共服务平台(新农村商网) gov_web T3 网络不可达 [沙箱代理拦截,非站点故障] 老牌政府行情站,每日更新批发报价;沙箱代理拦截,待生产验证
商务部全国市场运行与流通发展服务平台 gov_web T3 网络不可达 [沙箱代理拦截,非站点故障] 周度均价与涨跌分析,适合做宏观价格指数;沙箱代理拦截,待生产验证
中国农产品市场协会 gov_web T3 网络不可达 [沙箱代理拦截,非站点故障] 行业协会汇总全国头部农批行情;沙箱代理拦截,待生产验证
惠农网 b2b T4 网络不可达 [沙箱代理拦截,非站点故障] ⚠️ 合规提示:robots 可能限制抓取,启用前必须人工确认 robots.txt;B2
冻品e港行情 b2b T4 网络不可达 [沙箱代理拦截,非站点故障] 冻品垂直平台,进口冻品报价丰富;robots 待确认
蔬果通 b2b T4 网络不可达 [沙箱代理拦截,非站点故障] 聚合全国 300+ 农批报价,适合做交叉校验;robots 待确认
上海辉展果蔬市场(公众号) wechat T5 未核验 稳定性最弱,只作补充;未配置 OCR 通道前保持停用
长沙海吉星(公众号) wechat T5 未核验 每日综合行情推送;未配置 OCR 通道前保持停用
成都银犁冷藏(公众号) wechat T5 未核验 冻品专项行情,不定期更新;未配置 OCR 通道前保持停用
昆明金马正昌果品市场(公众号) wechat T5 未核验 水果+坚果干货行情;未配置 OCR 通道前保持停用

二、价格怎么折算

不同市场的报价单位不统一(斤/公斤/箱/只…),直接比较没有意义。平台为每个单位登记到基准单位的换算系数, 聚合时一律折算到基准单位后再计算。未登记系数的单位不参与跨单位聚合。

单位折算到系数1 基准单位 =
斤 斤 1.0000 1.0000 斤
公斤 斤 2.0000 0.5000 公斤
kg 斤 2.0000 0.5000 kg
千克 斤 2.0000 0.5000 千克
g 斤 0.0020 500.0000 g
克 斤 0.0020 500.0000 克
吨 斤 2,000.0000 0.0005 吨
t 斤 2,000.0000 0.0005 t
两 斤 0.1000 10.0000 两
箱 斤 0.0000 10,000.0000 箱
件 斤 0.0000 10,000.0000 件
袋 斤 0.0000 10,000.0000 袋
桶 斤 0.0000 10,000.0000 桶
瓶 斤 0.0000 10,000.0000 瓶
升 斤 0.0000 10,000.0000 升
L 斤 0.0000 10,000.0000 L
个 斤 0.0000 10,000.0000 个
只 斤 0.0000 10,000.0000 只
盒 斤 0.0000 10,000.0000 盒
包 斤 0.0000 10,000.0000 包
筐 斤 0.0000 10,000.0000 筐

三、指标定义与维度权重

每个指标都有明确的计算式与最小样本量要求;样本量不足时不计算、不填充,指标值记为「无」而非 0,避免用 0 冒充数据。

品类完整 当前权重 15.00%

权重判定:sample —— 可用主体仅 1 个(需 ≥5 个),区分度不可信,不调权重

指标适用范围最小样本计算式
子类覆盖率
该品类下有启用标准品的子类数 / 子类总数(不含「待归类」节点)。反映品类结构建得全不全。
cat 3 covered_children/total_children FROM food_category 子树聚合(待归类节点不计入)
标准品启用率
该品类及子树下 status=1 的标准品数 / 标准品总数。低说明大量标准品还压在「待归类」没归完。
cat 3 COUNT(item WHERE status=1)/COUNT(item) FROM food_item WHERE cat_id IN (cat_id 及其子树)
报价挂标准品率
该品类有效报价中能对上标准品(item_id>0)的比例。对不上说明采集还在往「待归类」里塞数据。
cat 5 SUM(item_id>0)/COUNT(*) FROM food_quote WHERE status=1 AND cat_id=:cid AND quote_date>=:d7
品类映射率
cat_id>0 的占比(未映射无法进分类榜)
market 10 SUM(cat_id>0)/COUNT(*) FROM food_quote WHERE status=1 AND market_id=:mid AND quote_date>=:d30
品类覆盖率
本城市在售品类数 / 全国实际在售品类数。分母跟着实际采集走,不用理论品类总数。
city 3 COUNT(DISTINCT cat_id) FROM food_price_daily WHERE region_id=:rid / 全国同期实际品类数
品项覆盖率
本城市在售标准品数 / 全国实际在售标准品数。反映本城行情数据的广度。
city 3 COUNT(DISTINCT item_id) FROM food_price_daily WHERE region_id=:rid / 全国同期实际品项数
来源链接率
带 source_url 的占比(可溯源是可信度底线)
market 10 SUM(source_url IS NOT NULL AND source_url<>"")/COUNT(*) FROM food_quote WHERE status=1 AND market_id=:mid AND quote_date>=:d30
规格非空率
有效报价中 spec 非空的比例
market 10 SUM(spec<>"")/COUNT(*) FROM food_quote WHERE status=1 AND market_id=:mid AND quote_date>=:d30
单位可换算率
unit_factor>0 的占比(容器单位不可比,需人工补)
market 10 SUM(unit_factor>0)/COUNT(*) FROM food_quote WHERE status=1 AND market_id=:mid AND quote_date>=:d30

新鲜度 当前权重 20.00%

权重判定:sample —— 可用主体仅 1 个(需 ≥5 个),区分度不可信,不调权重

指标适用范围最小样本计算式
数据覆盖天数(天)
该品类近 7 日有数据的天数
cat 3 COUNT(DISTINCT quote_date) FROM food_price_daily WHERE cat_id=:cid AND quote_date>=:d7
有数据天数(天)
近7日中有成交记录的天数
city 1 COUNT(DISTINCT quote_date) FROM food_price_daily WHERE region_id=:rid
近24h有数据天数(天)
最近 24 小时内有有效报价的天数
market 1 COUNT(DISTINCT DATE(quote_date)) FROM food_quote WHERE status=1 AND quote_date>=:d1
近7日采集成功率
该市场近 7 日采集成功次数/总次数
market 1 clean_ok/(clean_ok+dirty) FROM food_collect_log WHERE market_id=:mid AND run_at>=:d7
距最近报价小时数(小时)
距最近一次有效报价的小时数,越小越新鲜
market 1 TIMESTAMPDIFF(HOUR, MAX(quote_date), NOW()) FROM food_quote WHERE status=1

市场影响力 当前权重 12.00%

权重判定:sample —— 可用主体仅 1 个(需 ≥5 个),区分度不可信,不调权重

指标适用范围最小样本计算式
覆盖城市数(个)
近 7 日该品类出现报价的城市数(region_id>0)。跨城数越高说明流通半径越大。
cat 3 COUNT(DISTINCT region_id) FROM food_quote WHERE status=1 AND cat_id=:cid AND region_id>0 AND quote_date>=:d7
市场分散度
1 − 头部最大市场报价占比。越接近 1 说明供给越分散、不依赖单一市场,抗风险能力越强。
cat 5 1 - MAX(market_cnt)/SUM(market_cnt) FROM food_quote WHERE status=1 AND cat_id=:cid AND quote_date>=:d7
覆盖市场数(个)
近 7 日该品类出现报价的农批市场数量。市场越多,说明该品类流通越广、越大宗。
cat 3 COUNT(DISTINCT market_id) FROM food_quote WHERE status=1 AND cat_id=:cid AND quote_date>=:d7
报价份额
该品类近 7 日有效报价条数 / 全站同期有效报价条数。反映该品类在全国供应中的权重。
cat 5 COUNT(*) WHERE cat_id=:cid / COUNT(*) FROM food_quote WHERE status=1 AND quote_date>=:d7
覆盖市场数(个)
本城市近 7 日有报价的农批市场数量。市场越多说明该城市流通体系越完整。
city 3 COUNT(DISTINCT market_id) FROM food_quote WHERE status=1 AND region_id=:rid AND quote_date>=:d7
报价份额
本城市近 7 日有效报价条数 / 全站城市报价总量。反映该城市在全国行情版图中的权重。
city 10 COUNT(*) WHERE region_id=:rid / COUNT(*) FROM food_quote WHERE status=1 AND region_id>0 AND quote_date>=:d7
城市能级(级)
所在城市能级 1-5(来源 yq_region 映射)
market 1 city_tier FROM yq_region JOIN food_market ON region
地理坐标精度
有精确坐标(6位小数)=1,仅到市=0.4
market 1 IF(lng<>0 AND LENGTH(lng)>0 AND CHAR_LENGTH(lng)-CHAR_LENGTH(TRIM(TRAILING "." FROM REPLACE(lng,"0","")))>0,1,0.4) FROM food_market
一级市场标记
一级批发市场标记加权(二级=0.6)
market 1 IF(level="L1",1,0.6) FROM food_market

价格优势 当前权重 25.00%

权重判定:sample —— 可用主体仅 1 个(需 ≥5 个),区分度不可信,不调权重

指标适用范围最小样本计算式
涨跌均值(7日)(%)
近 7 日日环比涨跌均值,负值=跌。涨跌榜主指标
cat 5 AVG(mom_pct) FROM food_price_daily WHERE quote_date>=:d7 AND item_id>0 AND cat_id=:cid AND sample_cnt>=3
价格波动率
该品类近 7 日均价的变异系数,越小越稳定
cat 5 STDDEV(price_avg)/AVG(price_avg) FROM food_price_daily WHERE cat_id=:cid AND quote_date>=:d7
上涨品项占比
近 7 日 mom_pct>0 的品项占比
cat 5 SUM(mom_pct>0)/COUNT(*) FROM food_price_daily WHERE cat_id=:cid AND quote_date>=:d7 AND sample_cnt>=3 AND mom_pct IS NOT NULL
低价品项占比
低于全国均价 5% 的品项占比
market 5 低价品项数/有效品项数,需 join price_index 派生
城市菜价涨跌(%)
近7日同品类日环比均值,负=跌
city 5 AVG(mom_pct) FROM food_price_daily WHERE region_id=:rid AND quote_date>=:d7 AND sample_cnt>=3
城市菜价指数
本城市在售品均价 / 全国同品均价 × 100,>100 表示比全国贵
city 3 AVG(city price_avg)/AVG(national price_avg)*100 FROM food_price_daily WHERE region_id=:rid
上涨品类占比
近7日上涨(mom_pct>0)的样本占比
city 10 SUM(mom_pct>0)/COUNT(mom_pct) FROM food_price_daily WHERE region_id=:rid AND quote_date>=:d7 AND sample_cnt>=3
价格波动率(7日CV)
近 7 日归一价的变异系数 σ/μ,越小越稳定
market 5 STDDEV_SAMP(price_base)/NULLIF(AVG(price_base),0) FROM food_price_daily WHERE quote_date>=:d7
价格指数(vs 全国)
该主体同标准品归一价之和 / 全国同标准品归一价之和 × 100,小于 100 表示更便宜
market 7 SUM(q.price_base) / NULLIF((SELECT SUM(q2.price_base) FROM food_quote q2 WHERE q2.item_id=q.item_id AND q2.quote_date=:d AND q2.status=1 AND q2.price_base IS NOT NULL),0) * 100
上涨品类占比
近 7 日 price_daily 中 change_pct>0 的品类占比
cat 3 SUM(change_pct>0)/COUNT(*) FROM food_price_daily WHERE quote_date>=:d7 AND item_id>0

口碑信誉 当前权重 8.00%

权重判定:sample —— 可用主体仅 1 个(需 ≥5 个),区分度不可信,不调权重

指标适用范围最小样本计算式
来源可溯率
带 source_url 的比例。数字能溯源到原始页面是可信度的底线。
cat 5 SUM(source_url IS NOT NULL AND source_url<>"")/COUNT(*) FROM food_quote WHERE status=1 AND cat_id=:cid AND quote_date>=:d7
规格填写率
该品类有效报价中 spec 非空的比例。数据可信度指标:规格缺失会让价格失去可比性。
cat 5 SUM(spec<>"")/COUNT(*) FROM food_quote WHERE status=1 AND cat_id=:cid AND quote_date>=:d7
单位可换算率
unit_factor>0 的占比。容器类单位 factor=0 不可比,不参与任何聚合。
cat 5 SUM(unit_factor>0)/COUNT(*) FROM food_quote WHERE status=1 AND cat_id=:cid AND quote_date>=:d7
聚合链条完整率
该城市日聚合行中 mom_pct 非空的比例。mom_pct 为空说明该品项当日首次入库、没有前值可比 —— 占比越高说明历史数据越连续、越能支撑涨跌结论。聚合同步来的城市靠这个指标衡量可信度。
city 5 SUM(mom_pct IS NOT NULL)/COUNT(*) FROM food_price_daily WHERE region_id=:rid AND quote_date>=:d7 AND sample_cnt>=3
价格区间完整率
同时具备 price_low / price_avg / price_high 的行占比。只有均价没有区间的行做不了品种内价差分析。
city 5 SUM(price_low>0 AND price_high>0)/COUNT(*) FROM food_price_daily WHERE region_id=:rid AND quote_date>=:d7
采样厚度比
本城市窗口内聚合行数 / 窗口内最多的城市。3 行样本与 300 行样本同分不可信,该指标把体量差异显式化,避免薄数据城市靠其他维度拿到虚高分。
city 1 COUNT(*) WHERE region_id=:rid / MAX(城市行数) FROM food_price_daily WHERE region_id>0 AND quote_date>=:d7
来源可溯率
本城市报价中带 source_url 的比例。
city 10 SUM(source_url IS NOT NULL AND source_url<>"")/COUNT(*) FROM food_quote WHERE status=1 AND region_id=:rid AND quote_date>=:d7
规格填写率
本城市**原始采集报价**中 spec 非空的比例。注意:仅对本城市有原始采集数据时才有值;聚合同步来的城市此指标为空,请改看「聚合链条完整率」。
city 5 SUM(spec<>"")/COUNT(*) FROM food_quote WHERE status=1 AND region_id=:rid AND quote_date>=:d7
单位可换算率
本城市报价中 unit_factor>0 的占比。
city 10 SUM(unit_factor>0)/COUNT(*) FROM food_quote WHERE status=1 AND region_id=:rid AND quote_date>=:d7
品类覆盖广度(个)
该供应商供应的品类数量(品类越全越稳)
supplier 3 COUNT(DISTINCT cat_id) FROM food_supply_link WHERE subject_type="supplier"
上榜天数(天)
档案创建至今天数,稳定运营加分
market 1 DATEDIFF(NOW(), create_time) FROM food_market
人工保障标记
运营钉住加权(人工干预可保障名次)
market 0 IF(frozen=1,1,0) FROM yq_rank_item
报价连续率
近30日无断档天数占比(连续出现=1)
market 7 有报价天数/应有天数(30) FROM food_quote WHERE market_id=:mid

供应规模 当前权重 20.00%

权重判定:sample —— 可用主体仅 1 个(需 ≥5 个),区分度不可信,不调权重

指标适用范围最小样本计算式
在售品项数(个)
该品类近 7 日有报价的标准品数量
cat 3 COUNT(DISTINCT item_id) FROM food_price_daily WHERE cat_id=:cid AND quote_date>=:d7
报价记录数(条)
该品类近 7 日日聚合记录条数
cat 5 COUNT(*) FROM food_price_daily WHERE cat_id=:cid AND quote_date>=:d7
覆盖品类数(个)
近7日有成交记录的品类数量
city 3 COUNT(DISTINCT cat_id) FROM food_price_daily WHERE region_id=:rid
在售品项数(个)
近7日有成交记录的标准品数量
city 5 COUNT(DISTINCT item_id) FROM food_price_daily WHERE region_id=:rid
报价样本量(条)
近7日参与计算的价格记录条数
city 10 COUNT(*) FROM food_price_daily WHERE region_id=:rid
日均有效报价数(条)
近 30 日该主体日均有效报价条数(status=1 且 price_base 非空)
market 1 AVG(daily_cnt) FROM (SELECT market_id, COUNT(*) daily_cnt FROM food_quote WHERE status=1 AND price_base IS NOT NULL AND quote_date>=:d30 GROUP BY market_id) t
收录标准品数(个)
近 30 日出现过的去重标准品数量
market 3 COUNT(DISTINCT item_id) FROM food_quote WHERE status=1 AND item_id>0 AND quote_date>=:d30
覆盖市场数(个)
该供应商关联的农批市场数量
supplier 1 COUNT(DISTINCT market_id) FROM food_supply_link WHERE subject_type="supplier"
关联供应商数(家)
该市场关联的供应商数量
market 1 COUNT(DISTINCT supplier_id) FROM food_supply_link WHERE subject_type="market"

四、榜单怎么生成

榜单按下列规则每日重算。排名只依据上述指标,不设投票排名,票数不参与任何位次计算。

榜单主体周期榜单长度统计范围
品类涨跌榜
cat-price-change
cat daily TOP 20 l1=0 · window=7d · sort=change_pct
农批市场综合榜
market-comprehensive
market daily TOP 50 level= · window=30d
城市菜价水平榜
city-price-level
city daily TOP 20 window=7d · sort=price_index
品类综合榜
cat-comprehensive
cat daily TOP 20 l1=0 · window=7d
城市综合榜
city-comprehensive
city daily TOP 20 window=7d
供应商综合榜
supplier-comprehensive
supplier daily TOP 20 window=30d
数据可信度榜
data-trust-market
market daily TOP 50 window=30d · dims=["freshness","completeness","reputation"]
城市数据可信度榜
data-trust-city
city daily TOP 50 window=30d · dims=["freshness","completeness","reputation"]
样本量低于该指标最小样本要求的主体不进榜。这样做是为了避免出现 「第一名其实只有 1 条数据」的情况 —— 单点样本的方差极大,一个采集错误就能改变排名。
当前最新行情日期为 2026-10-05。农批站点在节假日与休市日不采集, 因此该日期可能早于今天;这是真实的采集节奏,不是数据缺失。
客服 数据