AI business value framework

io.github.Craig-Horton由 GitHub 账号 Craig-Horton 发布v0.15.2更新于 Nov 11, 2026

Review an AI proposal and return Stop, Fix or Accelerate, the decision gaps and the next action.

已验证Streamable HTTP可网页运行数据与分析商业与电商

概览

AI 生成的概览

用 AI BVF 框架评估 AI 投资提案,给出 Stop、Fix 或 Accelerate 结论、证据缺口与下一步行动。

可以做什么
  • 评估并打分用自然语言描述的 AI 举措,补齐缺失输入并返回推理、审计与敏感性
  • 针对 Fix 或 Stop 结论提出支柱改进动作与工作重设计步骤
  • 组装、校验、评分并排序举措组合,生成分批推进波次
  • 诊断流程信号、推断准备度并模拟运营模式阻力
  • 查询基准规划费率与行业、职能、AI 层级、准备度分类法,并把业务用语映射到该分类法
适用场景
适合在评审单个 AI 提案或一组 AI 举措时使用,希望在资助或决策会议前得到结构化、可复现的决策简报,并明确假设与证据缺口。
运行要求
可通过 npx(需 Node.js)以 stdio 在本地运行,也可使用远程托管连接器。本地包无需账号、API 密钥或环境变量;浏览器方式同样无需账号。
安装前请注意
评分是基于规则的分数,并非经过校准的成功概率;规划收益数字不含项目成本、利润率与时间安排。模块标签不构成监管合规认证,证据真实性仍由组织负责。默认开启匿名使用遥测,本地调用会附带稳定的安装哈希;可用 AIBVF_TELEMETRY_DISABLE=1 关闭。

安装

在 SourceWeft 中

  1. 打开 控制台中的 AI business value framework,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.Craig-Horton%2Faibvf-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "ai-business-value-framework": {
      "type": "http",
      "url": "https://mcp.aibvf.com/api/mcp"
    }
  }
}

README

AI BVF: review one AI investment decision

Turn an AI proposal into a decision brief: the verdict, the evidence gaps and the next action for the person who owns the work.

Try one proposal in your browser

Open aibvf.com/start. Your first assessment needs no account or installation.

Paste this synthetic example, or describe a proposal you are reviewing:

We are a EUR 2.4bn manufacturer considering GenAI for predictive maintenance in our supply chain. Our operating model is traditional. We have a sponsor, but the affected roles, human override rights and performance measures still need review.

Run the assessment, check how the proposal was interpreted, and correct the assumptions. The assessment asks for unresolved inputs and marks estimated pillar scores. Keep the action list, name an owner and return with evidence when the work changes.

The decision brief

The result brings the following questions together. This is an illustrative reading guide for the example, with the engine's field names documented below.

Part of the briefWhat to review
VerdictStop, Fix or Accelerate, with the rule that produced the call. An initial proposal with estimated pillars remains provisional.
Evidence gapsWhich inputs were supplied, which were estimated, and what remains unknown about workflow, roles, decision rights and measures.
Planning benefitA readiness-adjusted EUR scenario. Build costs, operating costs, change costs and financial timing still need a separate business case.
Decision scoreA 0 to 100 summary of pillar inputs and input completeness. It has no calibrated probability interpretation.
Next actionThe evidence or work change needed before another review, with an accountable owner assigned by the team.

For the example above, the first useful action is to evidence the proposed workflow and its owners. An Accelerate verdict requires the pillar thresholds to clear and all four work architecture checks to be met.

See the reproducible worked example for exact inputs, calculations and a re-score that stays at Fix until the work architecture is evidenced.

Bring the assessment into your existing workflow

The browser is the first-use route. The hosted connector and local MCP package let an assistant repeat the assessment while you work on a proposal.

Hosted connector on claude.ai

Open Settings, then Connectors, then Add custom connector, and paste:

text
https://mcp.aibvf.com/api/mcp

Then ask:

Assess this AI initiative using AI BVF: we are a EUR 2.4bn manufacturer considering GenAI predictive maintenance, with a traditional operating model. Resolve the inputs, show the assumptions and identify the evidence needed for the next decision.

Local with Claude Desktop, Claude Code or Cursor

Add this configuration to your MCP client:

json
{  "mcpServers": {    "aibvf": { "command": "npx", "args": ["-y", "aibvf-mcp"] }  }}

Quit and restart the client. Windows uses cmd /c; the client setup and troubleshooting guide contains the complete configuration.

Start with assess_ai_initiative. Use recommend_improvements for a Fix or Stop, review the proposed actions with the people who own the work, and re-score after the evidence changes.

How to read a result

AI BVF is a deterministic planning model with disclosed assumptions. The source and formulas can be inspected, and identical inputs produce identical outputs for a given engine version.

The four pillars are Strategic Alignment, Financial Return, Change Enablement and Governance Risk. GR >= 70 or FR <= 20 returns Stop; SA >= 60, FR >= 60, CE >= 60 and GR <= 40 clear the pillar test for Accelerate. A gap, partial assessment or missing work architecture evidence holds an otherwise green initiative at Fix.

Keep these boundaries with the result:

  • Decision score. Existing API fields confidence, decision_confidence and projected_confidence retain their names for compatibility. These are rule-based scores, with no measured probability of project success or prediction accuracy.
  • Planning benefit. The scorer's net_low_eur, net_high_eur and MCP net_value_eur apply a readiness capture assumption to a revenue-based benefit scenario. Project costs, margins, timing and overlap are outside that calculation.
  • Research context. External research informs the questions. It does not publish or validate the AI BVF function rates, industry multipliers, readiness capture percentages or drag rates.
  • Module labels. applied_modules records implementation context. Labels such as healthcare_clinical_validation and financial_dora_module do not perform clinical validation or certify regulatory compliance.
  • Supplied evidence. The engine records supplied values and work architecture checks. The organisation remains responsible for reviewing the evidence behind them.

Read the scoring formulas and worked example before using the outputs in a funding decision.

Tools for developers

Thirteen tools are exposed through local stdio and the hosted Streamable HTTP connector.

ToolPurpose
assess_ai_initiativeResolve a plain-English proposal, request missing decision inputs and return the assessment.
score_initiativeScore explicit inputs, apply the work architecture gate, and return reasoning, audit and sensitivity.
recommend_improvementsPropose pillar actions and work redesign steps for a Fix or Stop. Re-score evidence before accepting a projected outcome.
assemble_portfolioStructure loose portfolio inputs, resolve aliases and disclose estimated pillars.
validate_portfolioValidate a portfolio document against the published JSON Schema.
score_portfolioScore a portfolio and return its aggregate shape. Review benefit overlap before using a total.
sequence_portfolioProduce rollout waves with change-capacity constraints and named gates.
diagnose_processEvaluate observed process signals and return an intervention with its modelled effect.
infer_readinessInfer a readiness classification from supplied process signals and report coverage.
calculate_pace_layer_dragReturn a directional scenario for operating-model friction using disclosed rates.
get_benchmarkReturn AI BVF planning rates with evidence status and use guidance.
list_taxonomyList the accepted industries, functions, AI tiers and readiness levels.
map_to_taxonomyMap everyday business terms to the supported taxonomy and expose unresolved terms.

For portfolios, use assemble_portfolio, validate_portfolio, score_portfolio, then sequence_portfolio. An aggregate modelled range needs a separate review of overlapping work and shared benefits.

Packages and public specification

PackageVersionPurpose
aibvf-mcp0.14.14MCP server, 13 tools, stdio plus hosted Streamable HTTP at mcp.aibvf.com.
aibvf-check0.1.1Policy checks for a declared AI initiative manifest in CI.
@aibvf/core0.10.6TypeScript assessment and scoring engine.
aibvf0.2.2Python scoring engine and validator. Check its documented feature coverage before substituting it for the TypeScript implementation.

The public portfolio specification is version 1.0. That document format has a separate version from the packages implementing it; the package version identifies the code and behaviour used for a particular assessment.

Protocol page · npm package · MCP registry · Release history

Anonymous usage telemetry

The MCP server can report tool calls and a server_connect event. Events include protocol and package versions, entry route, assessment stage, work architecture status, taxonomy fields, a daily-rotated caller hash, and classification plus confidence where supplied.

Local stdio calls also include a stable one-way install_hash for repeat-use measurement, derived from a random local seed. Hosted calls send no stable install hash, and a broad user_role is sent only when a local user explicitly sets AIBVF_USAGE_ROLE.

No portfolio content, revenue figures, numeric pillar scores or personal identifiers are included. Set AIBVF_TELEMETRY_DISABLE=1 to prevent events and creation of the local install-id file. Point at your own backend with AIBVF_TELEMETRY_URL and AIBVF_TELEMETRY_KEY.

Package downloads include repeat installs, dependencies and automation. Use completed assessments and subsequent decision reviews to evaluate adoption.

Contribute a case or a correction

Bring a reproducible counterexample: the inputs, actual output, expected decision, supporting evidence and engine version. The contribution guide includes a template and explains the review and licensing boundaries.

The ten-team pilot pack defines the first-use and return-use checks, interview prompts and tracker. Examples in this repository are synthetic unless a case explicitly records consent and its evidence.

If AI BVF helped you review a decision, star the repository or share a counterexample. Both give the project useful feedback.

License

Repository source code is MIT licensed under LICENSE. The specification and JSON Schema under spec/ are CC-BY-4.0, and the AI BVF names and logo are trademarks, as set out in NOTICE.

Private benchmark material and certification marks are outside the source-code contribution route. The contribution guide explains how to discuss those materials without changing the rights granted by the repository licenses.

About the author

Craig Horton is an independent transformation lead based in Amsterdam and the author of the AI Business Value Framework. His work connects AI investment decisions with organisational readiness and the redesign of work.

The Transformation Brief · Craig Horton on LinkedIn

来源:README.md,提交 b793b7f

工具

13

assess_ai_initiative

Assess AI initiative from plain English

The front door for one AI investment decision. CALL THIS FIRST when the user describes an AI idea in ordinary language or asks whether it should proceed. It works as a short guided conversation and returns one thing to ask at a time. Pass the proposal unchanged on every call, plus everything the user has answered so far. needs_input: a piece of context (industry, business function, AI type or headcount) could not be read; ask question and pass the answer in its named field. needs_confirmation: show the understood statement, ask the user whether it is right, then call again with confirmed true or with the corrected item. not_enough_to_judge: ask question, the next of at most five plain questions, showing every choice label; pass the id of the choice the user picks in answers. When question is absent, tell the user what is listed in to_find_out and stop. verdict: Accelerate, Fix or Stop, resting only on the user's answers. Give the user summary first, then each item in holding_back with what they said and what it needs to become, then first_step; these are written in everyday words, so do not replace them with framework terms. Lead with warning whenever it is present. This tool fills in no score and returns no euro figure, so never state a euro benefit from this result, never set confirmed and never pick an answer on behalf of the user; when the user is unsure, pass unknown. Organisations under 250 people get questions worded for a smaller firm, with the same rules for every size. Use score_initiative when canonical fields and 0 to 100 scores are already known and a planning range is wanted for advisory work, score_portfolio for several initiatives, and diagnose_process for measured waste in a running process. Deterministic calculation with no authentication. Anonymous usage telemetry may be sent; set AIBVF_TELEMETRY_DISABLE=1 to opt out.

输入参数scoresai_tieranswersfunctionindustryproposal必填confirmedemployeesreadinessrevenue_eurwork_architecturesignal_completeness

score_initiative

Score AI initiative

Canonical-field scorer for one AI initiative. CALL THIS when industry, revenue_eur, function, ai_tier and readiness are already known, or when re-scoring with measured pillar evidence. For a proposal written in ordinary business language, call assess_ai_initiative first; it resolves these fields and asks for anything missing. Pillar scores remain optional: missing pillars are estimated deterministically, reported through pillar_basis, and reduce decision score, while a fully estimated pass can never return Accelerate. Returns Accelerate, Fix or Stop, modelled gross and readiness-adjusted EUR benefit ranges, decision score, sensitivity, assumptions and an audit trail. Use score_portfolio for several initiatives and diagnose_process for measured waste in an existing process. Deterministic calculation with no authentication. Anonymous usage telemetry may be sent; set AIBVF_TELEMETRY_DISABLE=1 to opt out.

输入参数scoresai_tier必填function必填industry必填readiness必填revenue_eur必填work_architecturesignal_completeness

score_portfolio

Score AI portfolio

Score several AI initiatives as one AI BVF v1.0 portfolio and return the board-level position: counts of Accelerate / Fix / Stop, aggregate modelled EUR value range, mean decision score, the highest-value initiative, the highest-risk initiative, and every individual result. CALL THIS when the user has a portfolio document and needs to know what it contains before deciding funding or order, instead of looping score_initiative one initiative at a time. The single readiness value applies across every initiative: it changes capture rates and the pace-layer drag, so measure it with infer_readiness first when process data exists. The portfolio must carry organization.revenue_eur for EUR values; initiatives with missing revenue or invalid taxonomy are reported as skipped, never silently counted. Run validate_portfolio first only when the document shape is uncertain, then call sequence_portfolio when the verdicts need turning into a 90-day order. Deterministic calculation with no authentication. Anonymous usage telemetry may be sent; set AIBVF_TELEMETRY_DISABLE=1 to opt out.

输入参数portfolio必填readiness必填

recommend_improvements

Recommend pillar improvements

Turn a Fix or Stop verdict into the change plan that could earn a re-score, with pillar targets, named plays, owners, stop conditions, cost of waiting and a deadline. CALL THIS after score_initiative returns Fix or Stop, using the same five context fields and any scores or work-architecture evidence from that call. Do not use it to produce the initial verdict, sequence several initiatives or diagnose measured process waste; use score_initiative, sequence_portfolio or diagnose_process for those jobs. Do not call it for Accelerate unless a specific delivery risk needs testing before commitment. resistance_type selects the will or skill route, risk_type selects the regulatory, reputational or operational route, and omitted diagnostics remain provisional with the next question returned. Lead with binding_constraint, surface honest_stop when present, and use rescore_gate to decide whether this remains Fix or becomes Stop. Deterministic calculation with no authentication. Anonymous usage telemetry may be sent; set AIBVF_TELEMETRY_DISABLE=1 to opt out.

输入参数scoresai_tier必填function必填industry必填readiness必填risk_typerevenue_eur必填resistance_typework_architecture

calculate_pace_layer_drag

Calculate pace-layer drag cost

Quantify the annual EUR cost of an AI ambition outrunning the operating model: queues, hand-offs and slow decisions that prevent the organisation capturing the value already assumed in the case. CALL THIS when the user needs the cost of waiting for the organisation to change, or when a Fix plan needs a cost-of-waiting figure. Do not use it to score an AI initiative, estimate the implementation cost, or calculate a process saving: use score_initiative for the investment verdict, diagnose_process for a running process, and recommend_improvements for the change plan. revenue_eur sets the absolute EUR range; ai_tier and readiness together set the drag rate and pace_gap, so gen3 in a siloed organisation costs more than gen1 in an agile one. industry is accepted for a consistent interface and defaults to universal, but does not change this calculation yet. Returns a low/high EUR range, drag rate, pace-gap severity, drivers and source. Deterministic calculation with no authentication. Anonymous usage telemetry may be sent; set AIBVF_TELEMETRY_DISABLE=1 to opt out.

输入参数ai_tier必填industryreadiness必填revenue_eur必填

validate_portfolio

Validate BVF portfolio document

Check whether a supplied AI BVF v1.0 portfolio document has the shape the portfolio tools require, before scoring, sequencing, storing or sharing it. CALL THIS when the document came from a file, another system or hand-built JSON and its structure is uncertain. It checks required fields, taxonomy values and 0–100 pillar ranges only; it does not judge the evidence or calculate a verdict. Pillars may be bare numbers or { value, confidence } objects, both are valid. Use assemble_portfolio when the user has a list of initiatives in conversation and needs the document built for them, score_portfolio when the document is already ready for verdicts, and sequence_portfolio only after its initiatives are scoreable. Returns valid=true or one error per failing JSON path. Deterministic validation with no authentication. Anonymous usage telemetry may be sent; set AIBVF_TELEMETRY_DISABLE=1 to opt out.

输入参数portfolio必填

get_benchmark

Get planning rates

Look up the disclosed AI BVF planning rates behind the value model for one business function and industry. CALL THIS when the user wants to inspect the revenue-uplift and cost-takeout assumptions before scoring, or to compare the value drivers across functions. function selects the base rate range and named drivers; industry applies the multiplier, while universal returns the unadjusted base rate. External research in the evidence register frames the adoption and value problem but does not publish these function rates. The output is a rate, expressed as a fraction of revenue, not an initiative verdict or EUR business case. Replace it with measured organisation evidence before funding. Use score_initiative for an Accelerate/Fix/Stop decision, score_portfolio for several initiatives and diagnose_process for measured operational waste. Deterministic lookup with no authentication. Anonymous usage telemetry may be sent; set AIBVF_TELEMETRY_DISABLE=1 to opt out.

输入参数function必填industry必填

list_taxonomy

List BVF taxonomy enums

Return the exact industry, function, AI-tier and readiness values every AI BVF calculation accepts. CALL THIS when the caller needs the complete allowed list or when a free-text value is not obvious. It returns taxonomy only, no score, verdict or language mapping. Use map_to_taxonomy when the user has said customer service, banking, RPA or bureaucratic and you need the one canonical value; use this tool when they need the whole menu of values to choose from. Takes no parameters. Deterministic lookup with no authentication. Anonymous usage telemetry may be sent; set AIBVF_TELEMETRY_DISABLE=1 to opt out.

无需输入参数。

diagnose_process

Diagnose business process

Diagnose a single existing business process from operational evidence and return the intervention, modelled net EUR saving, efficiency gain, verdict and confidence. CALL THIS when the user can describe a process already running, including volume, touch time, waiting, hand-offs, rework, automation and cost. instances_per_year × fte_hours_per_instance × loaded_hourly_rate_eur builds the labour baseline, direct_spend_eur adds the non-labour baseline, and readiness caps the saving that the organisation can realise. The friction signals select the intervention: low automation points to Automate, many hand-offs or wait to Consolidate & re-sequence, rework to Quality controls, low-volume heavy work to Eliminate / insource. signal_completeness must fall when inputs are estimated, because it directly reduces decision score. Use score_initiative for a proposed AI investment and infer_readiness when the question is the organisation’s change capacity. Effectiveness bands are benchmark-cited and figures are directional, not audited. Deterministic calculation with no authentication. Anonymous usage telemetry may be sent; set AIBVF_TELEMETRY_DISABLE=1 to opt out.

输入参数function必填handoffs必填readinessprocess_id必填rework_rate必填touch_ratio必填cycle_time_days必填automation_level必填direct_spend_eur必填instances_per_year必填signal_completenessfte_hours_per_instance必填另有 1 个

infer_readiness

Measure readiness from process signals

Measure organisational readiness from process data, so the investment case does not depend on an untested maturity claim. CALL THIS before score_initiative, score_portfolio or calculate_pace_layer_drag when the user can provide at least two of five signals: hand-offs, rework, touch ratio, automation level and cycle time. function selects the comparison medians for hand-offs and cycle time; more signals increase confidence and disagreement between them reduces it. claimed_readiness is optional, but pass it when the organisation has declared itself agile, traditional or siloed, because the returned gap exposes where its self-image runs ahead of the process data. Fewer than two signals produces a refusal, not a guess. Pass the measured readiness into the downstream tool, then use diagnose_process when the next question is what to change in that process. Deterministic calculation with no authentication. Anonymous usage telemetry may be sent; set AIBVF_TELEMETRY_DISABLE=1 to opt out.

输入参数function必填handoffsrework_ratetouch_ratiocycle_time_daysautomation_levelclaimed_readiness

sequence_portfolio

Sequence a portfolio into waves

Turn a scored AI portfolio into three waves with gates over a configurable horizon, so the roadmap respects the change capacity of each business function. CALL THIS after score_portfolio when the user asks what to stop, fund first, defer or fit into the next 90 days. It does not change any verdict or re-score the business case. Stops enter wave 1 to reclaim budget and attention, quicker Accelerates enter wave 2, complex Accelerates and Fixes enter wave 3 behind their re-score gates. Pass the portfolio returned by score_portfolio directly through portfolio, or pass organization plus initiatives; both score shapes are accepted and nested values are flattened. readiness sets capture rates and pacing, max_parallel_per_function caps simultaneous change in one function per wave, and horizon_days divides the plan into three equal windows. Capacity overflow is reported as a conflict or a deferral beyond the horizon, never hidden. Run recommend_improvements for a Fix before treating its wave placement as permission to proceed. Deterministic calculation with no authentication. Anonymous usage telemetry may be sent; set AIBVF_TELEMETRY_DISABLE=1 to opt out.

输入参数portfolioreadiness必填constraintsinitiativesorganization

map_to_taxonomy

Map language to taxonomy

Map everyday business language to the canonical AI BVF values required by the scoring tools. CALL THIS when the user says customer service, procurement, banking, GenAI copilot or bureaucratic and the matching enum is not certain. Pass only the fields written in free text; each returns the canonical value, what it matched on, or null with suggestions. Words match whole, never inside another word, and the longest phrase wins. A null result requires the user to choose from the suggestions, because a plausible guess would change the score. When candidates are returned the wording pointed to more than one value: ask the user to pick between them. Use list_taxonomy when the user needs every permitted value, then pass the mapped values into score_initiative, diagnose_process, get_benchmark or the portfolio tools. Deterministic lookup with no authentication. Anonymous usage telemetry may be sent; set AIBVF_TELEMETRY_DISABLE=1 to opt out.

输入参数ai_tierfunctionindustryreadiness

assemble_portfolio

Assemble portfolio document

Assemble a valid AI BVF v1.0 portfolio document from loose inputs, deterministically. Agents arrive with initiative names, plain-language functions and half the pillar scores, then hand-build the portfolio JSON and get the shape wrong; this tool builds it right. Give it the organisation (name plus industry in canonical or everyday language) and one entry per initiative (name, function, ai_tier, plus whatever pillar scores you actually have as bare numbers) and it returns the finished document: aliases resolved through the same mapping as map_to_taxonomy, ids generated from names and deduplicated, missing pillars estimated from readiness, tier, function and disclosed AI BVF planning assumptions with the estimation reported per initiative in estimated_pillars, and the whole document validated before it is returned. CALL THIS when the user lists several AI initiatives in conversation and you need a portfolio document for validate_portfolio, score_portfolio or sequence_portfolio, instead of composing the JSON by hand. Do NOT invent pillar scores to fill it: pass only the numbers the user gave you and let the estimation carry the rest honestly, the estimated pillars carry low confidence and scoring haircuts accordingly. Unresolvable inputs come back as issues with suggestions; ask the user to choose rather than guessing. Every default the assembler applies is named in plain language in assumptions: surface them to the user, the assembler structures inputs and never makes hidden business judgements. This tool creates a document in the response only: nothing is stored, nothing is edited, no state exists between calls. Deterministic calculation with no authentication. Anonymous usage telemetry may be sent; set AIBVF_TELEMETRY_DISABLE=1 to opt out.

输入参数readinessinitiatives必填organization必填

版本历史

3
  1. v0.14.14Oct 3, 2026
  2. v0.14.12Sep 22, 2026
  3. v0.14.11Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分