Efficiency Ratios

Deterministic operational-efficiency ratio tools for AI agents — asset, fixed-asset, inventory, receivables and payables turnover, days outstanding measures…

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeRead-only

What it can do

  • Calculate Asset Turnover: Calculate asset turnover: net sales divided by average total assets — how efficiently a company generates revenue from its asset base. Formula: Asset Turnover = Net Sales / A
  • Calculate Fixed Asset Turnover: Calculate fixed asset turnover: net sales divided by average net fixed assets — how efficiently a company uses its plant, property and equipment to generate sales. Form
  • Calculate Inventory Turnover: Calculate inventory turnover: cost of goods sold divided by average inventory — how many times inventory is sold and replaced in a period. Formula: Inventory Turnover = C

What data it sees

Do you need an account

No: the server works without sign-in

Deterministic operational-efficiency ratio tools for AI agents — asset, fixed-asset, inventory, receivables and payables turnover, days outstanding measures and cash conversion cycle via Model Context Protocol. Useful for corporate finance, financial analysis, working-capital analysis, financial formulas and financial modeling.

How to connect

How to connect Efficiency Ratios to Claude

The server address to paste into Claude settings:

https://efficiency--johnbehar1500.run.tools

  1. Open Claude (claude.ai or the desktop app).
  2. Go to Settings → Connectors.
  3. Click Add custom connector.
  4. Paste the server address copied below into Remote MCP server URL and click Add.
  5. In a chat, click + → Connectors and switch the new connector on.

Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

Authorization

After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

How to connect Efficiency Ratios to ChatGPT

The server address to paste into ChatGPT settings:

https://efficiency--johnbehar1500.run.tools

  1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
  2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
  3. Open Settings → Connectors and click Create.
  4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
  5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
  6. In a new chat open + → Apps/Connectors and enable the connector.

OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

Authorization

On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

How to connect Efficiency Ratios to Cursor

The server address to paste into Cursor settings:

https://efficiency--johnbehar1500.run.tools

Fastest: click Open in Cursor below and confirm the prompt.

Manually:

  1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
  2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
  3. Save the file. The server appears in the MCP list; authorize it there if asked.

Authorization

If the service needs sign-in, an authorize button appears next to the server in the MCP list.

Server tool list (9)

Raw names from tools/list. Only developers need these.

calculate_asset_turnoverCalculate asset turnover: net sales divided by average total assets — how efficiently a company generates revenue from its asset base. Formula: Asset Turnover = Net Sales / Average Total Assets. WHEN TO USE: Use to compare revenue productivity across companies or years; a falling ratio suggests assets are not generating sales efficiently. WHEN NOT TO USE: Do NOT compare asset turnover across industries — capital intensity differs fundamentally (software vs manufacturing). BEHAVIOUR: pure deterministic calculation — no side effects, no network or storage access; idempotent and non-destructive; identical inputs always produce identical outputs. Division by zero or non-finite inputs returns an explicit error instead of a number. RETURNS: JSON object { asset_turnover: number (e.g. 0.85 = 0.85x per year), inputs }. PARAMETERS: net_sales (required): Net sales / revenue for the period, e.g. 900000. Must be >= 0. begin_total_assets (required): Total assets at the START of the period, e.g. 1000000. Must be >= 0. end_total_assets (required): Total assets at the END of the period, e.g. 1100000. Must be >= 0.
calculate_fixed_asset_turnoverCalculate fixed asset turnover: net sales divided by average net fixed assets — how efficiently a company uses its plant, property and equipment to generate sales. Formula: Fixed Asset Turnover = Net Sales / Average Net Fixed Assets. WHEN TO USE: Use for capital-intensive businesses to gauge whether fixed assets are earning their keep (e.g. manufacturing, logistics). WHEN NOT TO USE: Do NOT use for asset-light businesses (software, services) where the ratio is misleadingly high and uninformative. BEHAVIOUR: pure deterministic calculation — no side effects, no network or storage access; idempotent and non-destructive; identical inputs always produce identical outputs. Division by zero or non-finite inputs returns an explicit error instead of a number. RETURNS: JSON object { fixed_asset_turnover: number (e.g. 2.1 = 2.1x per year), inputs }. PARAMETERS: net_sales (required): Net sales / revenue for the period, e.g. 900000. Must be >= 0. begin_net_fixed_assets (required): Net fixed assets (PP&E after depreciation) at period start, e.g. 400000. Must be >= 0. end_net_fixed_assets (required): Net fixed assets at period end, e.g. 450000. Must be >= 0.
calculate_inventory_turnoverCalculate inventory turnover: cost of goods sold divided by average inventory — how many times inventory is sold and replaced in a period. Formula: Inventory Turnover = COGS / Average Inventory. WHEN TO USE: Use to assess inventory management and demand strength; rising turnover usually means better stock discipline or strong demand. WHEN NOT TO USE: Do NOT use COGS-based turnover for service businesses with negligible inventory, and always pair with days inventory outstanding for intuition. BEHAVIOUR: pure deterministic calculation — no side effects, no network or storage access; idempotent and non-destructive; identical inputs always produce identical outputs. Division by zero or non-finite inputs returns an explicit error instead of a number. RETURNS: JSON object { inventory_turnover: number (e.g. 6.0 = 6.0x per year), inputs }. PARAMETERS: cogs (required): Cost of goods sold for the period, e.g. 600000. Must be >= 0. begin_inventory (required): Inventory at period start, e.g. 90000. Must be >= 0. end_inventory (required): Inventory at period end, e.g. 110000. Must be >= 0.
calculate_receivables_turnoverCalculate receivables turnover: net credit sales divided by average accounts receivable — how efficiently a company collects money owed by customers. Formula: Receivables Turnover = Net Credit Sales / Average Accounts Receivable. WHEN TO USE: Use to assess collection efficiency and customer credit quality; a falling ratio signals slower collections or looser credit terms. WHEN NOT TO USE: Do NOT use total revenue if a large share of sales is cash (use credit sales only), and pair with days sales outstanding for intuition. BEHAVIOUR: pure deterministic calculation — no side effects, no network or storage access; idempotent and non-destructive; identical inputs always produce identical outputs. Division by zero or non-finite inputs returns an explicit error instead of a number. RETURNS: JSON object { receivables_turnover: number (e.g. 8.0 = 8.0x per year), inputs }. PARAMETERS: net_credit_sales (required): Net credit sales for the period, e.g. 800000. Must be >= 0. begin_receivables (required): Accounts receivable at period start, e.g. 95000. Must be >= 0. end_receivables (required): Accounts receivable at period end, e.g. 105000. Must be >= 0.
calculate_payables_turnoverCalculate payables turnover: purchases (or COGS) divided by average accounts payable — how many times a company pays its suppliers in a period. Formula: Payables Turnover = COGS or Purchases / Average Accounts Payable. WHEN TO USE: Use to assess supplier payment speed and working-capital management; lower turnover means the company stretches supplier credit longer. WHEN NOT TO USE: Do NOT interpret low payables turnover as inefficiency without context — it can be a deliberate financing strategy. BEHAVIOUR: pure deterministic calculation — no side effects, no network or storage access; idempotent and non-destructive; identical inputs always produce identical outputs. Division by zero or non-finite inputs returns an explicit error instead of a number. RETURNS: JSON object { payables_turnover: number (e.g. 7.5 = 7.5x per year), inputs }. PARAMETERS: cogs_or_purchases (required): Cost of goods sold or total purchases for the period, e.g. 600000. Must be >= 0. begin_payables (required): Accounts payable at period start, e.g. 70000. Must be >= 0. end_payables (required): Accounts payable at period end, e.g. 90000. Must be >= 0.
calculate_days_sales_outstandingCalculate days sales outstanding (DSO): the average number of days it takes a company to collect payment after a sale. Formula: DSO = 365 / Receivables Turnover. WHEN TO USE: Use to measure collection speed and working-capital drag; rising DSO ties up cash and may signal collection problems. WHEN NOT TO USE: Do NOT use when credit sales are unknown (mixed cash/credit revenue distorts the result). BEHAVIOUR: pure deterministic calculation — no side effects, no network or storage access; idempotent and non-destructive; identical inputs always produce identical outputs. Division by zero or non-finite inputs returns an explicit error instead of a number. RETURNS: JSON object { days_sales_outstanding: number of days (e.g. 45.6), inputs }. PARAMETERS: net_credit_sales (required): Net credit sales for the period, e.g. 800000. Must be > 0. begin_receivables (required): Accounts receivable at period start, e.g. 95000. Must be >= 0. end_receivables (required): Accounts receivable at period end, e.g. 105000. Must be >= 0.
calculate_days_inventory_outstandingCalculate days inventory outstanding (DIO): the average number of days a company holds inventory before selling it. Formula: DIO = 365 / Inventory Turnover. WHEN TO USE: Use to assess inventory efficiency and capital tied up in stock; high DIO risks obsolescence and cash drag. WHEN NOT TO USE: Do NOT apply mechanically across industries — optimal DIO differs hugely between fresh grocery and heavy machinery. BEHAVIOUR: pure deterministic calculation — no side effects, no network or storage access; idempotent and non-destructive; identical inputs always produce identical outputs. Division by zero or non-finite inputs returns an explicit error instead of a number. RETURNS: JSON object { days_inventory_outstanding: number of days (e.g. 60.8), inputs }. PARAMETERS: cogs (required): Cost of goods sold for the period, e.g. 600000. Must be > 0. begin_inventory (required): Inventory at period start, e.g. 90000. Must be >= 0. end_inventory (required): Inventory at period end, e.g. 110000. Must be >= 0.
calculate_days_payables_outstandingCalculate days payables outstanding (DPO): the average number of days a company takes to pay its suppliers. Formula: DPO = 365 / Payables Turnover. WHEN TO USE: Use to measure how long a company holds onto cash before paying suppliers — a source of working-capital financing. WHEN NOT TO USE: Do NOT treat very high DPO as always positive — it can indicate cash stress or strained supplier relationships. BEHAVIOUR: pure deterministic calculation — no side effects, no network or storage access; idempotent and non-destructive; identical inputs always produce identical outputs. Division by zero or non-finite inputs returns an explicit error instead of a number. RETURNS: JSON object { days_payables_outstanding: number of days (e.g. 48.7), inputs }. PARAMETERS: cogs_or_purchases (required): Cost of goods sold or purchases for the period, e.g. 600000. Must be > 0. begin_payables (required): Accounts payable at period start, e.g. 70000. Must be >= 0. end_payables (required): Accounts payable at period end, e.g. 90000. Must be >= 0.
calculate_cash_conversion_cycleCalculate the cash conversion cycle (CCC): DSO + DIO - DPO — the net number of days cash is tied up between paying suppliers and collecting from customers. Formula: CCC = Days Sales Outstanding + Days Inventory Outstanding - Days Payables Outstanding. WHEN TO USE: Use as the definitive working-capital efficiency measure: a shorter (or negative) CCC means less capital trapped in operations. WHEN NOT TO USE: Do NOT use unless all three components are computed on a consistent 365-day basis and comparable periods. BEHAVIOUR: pure deterministic calculation — no side effects, no network or storage access; idempotent and non-destructive; identical inputs always produce identical outputs. Division by zero or non-finite inputs returns an explicit error instead of a number. RETURNS: JSON object { cash_conversion_cycle_days: number (e.g. 57.7 days; negative = operating on supplier cash), inputs }. PARAMETERS: dso (required): Days sales outstanding, e.g. 45.6. dio (required): Days inventory outstanding, e.g. 60.8. dpo (required): Days payables outstanding, e.g. 48.7.