Skip to main content
Glama
simonplmak-cloud

Intangible Asset Valuation

Customer-Related Assets

valuation_customer
Read-onlyIdempotent

Calculate customer-related intangible asset values by selecting the formula for customer relationships, distribution networks, or non-compete agreements and providing the method-specific inputs.

Instructions

Customer-related intangibles: customer relationships with attrition, distribution networks by channel profitability, and non-compete agreements on protected profits. Method selects the formula. Use for customer relationships, distribution networks, and non-compete assets; customer_relationships projects multi-period revenue with a retention rate. For the workforce and key-person assets use valuation_human_capital; for technology assets use valuation_technology. Per method: customer_relationships needs customer_count + avg_revenue_per_customer + retention_rate + profit_margin + discount_rate + projection_period; distribution_network needs channel_count + revenue_per_channel + channel_margin + useful_life + discount_rate; non_compete needs protected_revenue + profit_margin + term + enforcement_probability + discount_rate. retention_rate and enforcement_probability are in [0,1]; projection_period sets the number of discounted periods. Only method is required; other parameters are method-dependent, so supply those named for the selected method and omit the rest (documented defaults apply where defined). Pure arithmetic: no I/O and no external calls, and numeric results are returned rounded to 2 decimals. Parameters belonging to other methods of this tool are accepted and ignored. Supplying an unknown method, or leaving unset a parameter that the chosen method requires, returns an error instead of a value.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
termNoNon-compete term in years.
methodYesFormula to apply. Options: customer_relationships = Multi-period revenue net of attrition, discounted.; distribution_network = Channel revenue times margin over the useful life.; non_compete = Protected profit under an enforcement probability, discounted.
useful_lifeNoUseful life in years n.
channel_countNoNumber of distribution channels.
discount_rateNoPer-period discount rate as a decimal (0.10 = 10%).
profit_marginNoProfit margin as a decimal (0.20 = 20%).
channel_marginNoChannel profit margin as a decimal.
customer_countNoNumber of customers.
retention_rateNoAnnual customer retention rate, in [0,1].
projection_periodNoProjection horizon in years.
protected_revenueNoAnnual revenue protected by the non-compete, in currency units.
revenue_per_channelNoAnnual revenue per channel, in currency units.
enforcement_probabilityNoProbability the non-compete is enforceable, in [0,1].
avg_revenue_per_customerNoAverage annual revenue per customer, in currency units.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoError message when the call fails.
stepsNoIntermediate calculation steps for traceability (one string per step).
valueYesComputed valuation, rate, or metric.
methodNoFormula / method name that produced the result.
assumptionsNoModelling assumptions applied (list of strings or key/value object).
formula_referenceNoMathematical formula or reference applied.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.4
    • changedOutput schema / properties / steps / description
      Previous value: -"Intermediate calculation steps for traceability."New value: +"Intermediate calculation steps for traceability (one string per step)."
    • removedOutput schema / properties / steps / items / type
      Removed value: -"object"
  2. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Although annotations already declare a safe, idempotent, closed-world read, the description adds genuinely new behavioral context: pure arithmetic with no I/O or external calls, results rounded to 2 decimals, extra method-specific parameters accepted and ignored, defaults applied, and a defined failure mode (unknown method or missing required parameter returns an error rather than a value).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and routing, then the method-to-parameter mapping and behavioral notes. It is dense and mostly earns its length given 14 parameters, but repeats the method list ('Use for customer relationships, distribution networks, and non-compete assets') after already enumerating them, a small redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a multi-method calculator with 14 optional parameters and an existing output schema, the description covers what matters: method selection, per-method inputs, unit conventions, optionality rules, error behavior, and precision of returned values. Return-value explanation is correctly omitted since an output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so per-parameter meanings are already documented, but the description adds a mapping the schema cannot express: which of the 14 parameters each method consumes, plus the [0,1] ranges and which fields are required vs. ignored. This materially reduces invocation errors on a large parameter set, though individual parameter semantics largely restate the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific asset class (customer relationships, distribution networks, non-competes) and the three formulas the tool can apply, giving a concrete verb+resource picture. It also explicitly distinguishes itself from sibling tools (valuation_human_capital for workforce, valuation_technology for technology), so an agent can route correctly without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states when to use this tool, names the two nearest alternatives with the condition that selects each ('for the workforce and key-person assets use valuation_human_capital'), and explains the selection rule ('method selects the formula'). Exclusions and alternatives are both explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.