开发外包报价是怎么算出来的
很多人以为「报价 = 工期 × 人天单价」,然后拿这个数字去跟另一家比。这是最容易亏钱的方式,因为它把两件本来不等价的东西混在了一起:工作量,和做这件事的人。
先看真实市场。
市场上现在是什么价
我每天抓一批国际接单平台的活跃项目,按「项目最高预算」统计(数据来自 441 个在招项目,每天自动重算):
| 方向 | 样本 | 25 分位 | 中位数 | 75 分位 |
|---|---|---|---|---|
| Node.js / TypeScript 后端 | 89 | $25 | $395 | $750 |
| API 集成 | 73 | $30 | $395 | $750 |
| 移动端 | 57 | $25 | $395 | $750 |
| React / Next.js 前端 | 53 | $35 | $250 | $750 |
| Python 后端 | 89 | $21 | $250 | $750 |
| 爬虫 / 数据采集 | 17 | $16 | $250 | $523 |
| DevOps / 部署 | 32 | $25 | $250 | $750 |
| UI / 设计 | 74 | $25 | $250 | $454 |
| WordPress / 建站 | 92 | $30 | $177 | $531 |
| AI / LLM 应用 | 42 | $25 | $132 | $395 |
几个必须知道的结论:
- 整体中位数是 $250,25 分位只有 $25。也就是说,一半以上的项目预算都在几百块以内。
- 竞争人数是关键变量。投标人数不超过 30 人的那批项目,中位数只有 $30。几百块的项目里挤着几百个人,报价再低也轮不到你。
- 真正值得抢的是尾部:预算 $1000 以上、投标人数个位数的单子。同一批数据里,13 个 48 小时内发布、预算超过 $1000 的项目里,有相当一部分只有个位数竞争者。
国内平台是什么价
国际平台是美元,中文客户心里的锚在国内平台。我同时抓了国内威客任务大厅的公开挂牌价(软件 / 系统 / 小程序 / APP 类,15 条样本):
| 需求 | 挂牌价 |
|---|---|
| 【其他工具软件】C#开发SMT钢网开孔自动化软件 | 20万-30万元 |
| 【其他行业】基于大疆MSDK司空2无人机巡检平台 | 10万-20万元 |
| 【电子设备】VHF电台开发(航空频段) | 10万-20万元 |
| 【APP开发】本地同城生活信息发布系统 | 10万-20万元 |
| 【APP开发】类似贝壳app开发 | 10万-20万元 |
| 【APP开发】足浴收银系统 | 5万-10万元 |
| 【智能体开发】呼叫中心售后知识库及智能派单开发 | 5万-10万元 |
| 【API接口】实验室检测设备数据直连 | 5万-10万元 |
| 【其他软件开发】线结构光近距避障系统算法开发--须量 | 5万-10万元 |
| 【APP开发】5套iOS+Android原生App | 5万-10万元 |
这批的中位数是 ¥5.0 万。注意两件事:
- 挂牌价 ≠ 成交价。平台挂出来的是「最高愿意出」,实际成交通常低一档;所以拿它判断「客户预算的真实量级」比拿它当报价基准靠谱。
- 同一个需求名下的价差极大。同样是「APP 开发」,从 5 万到 30 万都有——差的不是工作量,是要不要上链、要不要接支付、要不要能扛并发、有没有验收标准。
所以你报 3 万还是 8 万,取决于你把交付边界划到哪,而不是「行情就是这么贵」。
为什么差价能到十倍
同一个「做一个网站」,可以报 $200 也可以报 $5000,差别不在工作量,在四件事:
- 需求边界。「做个官网」和「官网 + 后台 + 支付 + 邮件通知 + 数据分析」是两个项目,报价当然不同。
- 验收标准。「上线能看」和「通过验收用例、文档齐全、可交接给下一任维护」是两种交付。
- 技术选型。用成熟框架做,和从零造轮子做,工作量差几倍。
- 你的定位。你是「一个人接单」,还是「一个人带方案做咨询式交付」——后者卖的是判断力,不只是工时。
一个能落地的报价结构
别报总价,报里程碑:
| 阶段 | 交付物 | 验收标准 |
|---|---|---|
| 第一阶段(占预算 30%~40%) | 能跑起来的那部分:核心流程打通、能演示 | 一句话说得清「完成没完成」 |
| 第二阶段 | 补齐边界功能 | 用验收清单逐条对 |
| 第三阶段(可选) | 加固、文档、交接 | 交付物清单 |
这么拆的好处:客户的第一笔风险敞口小,你的第一阶段永远能收钱;而且范围外的任何新想法都自动变成新阶段,不需要在合同里吵。
报价的三个常见错误
一、把"起步价"报成"总价"。 起步价对应的是第一阶段的范围,不是整个项目。写清楚「本报价对应阶段一」,否则你会被要求用起步价交付全量。
二 silently 降价。 客户预算低于你的报价时,正确的做法是缩小第一阶段去卡住它,而不是默默按他的预算干活——后者你一定亏。
三,不写"不包含什么"。 需求方最常见的期待落差来自"我以为这个包含"。把不包含的东西列出来:第三方费用、后续运维、模型调用费、素材采购、域名服务器。
怎么判断一个单子值不值得接
三个问题,三个都过再接:
- 钱够不够覆盖你的真实成本? 按你自己的人天单价算,不是按对方的预算上限。模型调用、服务器、第三方 API 都要算进去。
- 需求边界清楚吗? 不清楚就先别报价——先做一次需求梳理,梳理本身就可以是付费的第一阶段。
- 有没有验收标准? 没有验收标准,交付后一定会扯皮。
怎么快速判断一个需求值不值得做
别靠拍脑袋。把需求原文贴进来,让工具先给你一个结构化的判断:能不能做、哪些地方需求内部是矛盾的、方案要点与取舍、风险在哪、阶段怎么切、工期与报价区间大概在什么位置。
把需求原文贴进去,会得到:可行性判断 · 需求内部的矛盾点 · 方案要点与取舍 · 风险清单 · 阶段拆分与验收标准 · 工期与报价区间。
评估完还能一键生成分享链接,发给老板或同事确认需求——链接里的联系方式会自动隐去,30 天失效。
顺带一句
看这些数字的时候别被"中位数"骗了。中位数描述的是这个市场,不描述你的能力。 上面那些 $132 中位数的 AI 项目,是给「谁都能搭一个 demo」那批活准备的;真正值钱的是那些边界清楚、需要判断、验收标准明确的项目——它们的分布不在中位数里。
数据是每天自动重算的,方法与原始样本见 <a href="/market.html">完整行情报告</a>。
相关:AI 功能类项目,报价为什么反而更低 · 收到报价后怎么判断:一张自检表 · 国际接单平台和中文客户直谈,差多少钱 · 外包付款怎么给,才不会做完收不到钱