Skip to main content
Glama
vikranthviki

Causal Decision Agent

by vikranthviki

machado_mata

Read-only

Decompose outcome gaps between groups across the quantile distribution using Machado-Mata (2005). Separates covariate effects from coefficient effects to explain distributional differences.

Instructions

Machado-Mata (2005) quantile decomposition.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
xYesPrimary running variable, regressor, or feature input for this estimator.
yYesOutcome variable column name or outcome array.
seedNoRandom seed for reproducible stochastic steps.
alphaNoSignificance level for confidence intervals and tests.
groupYesGroup or cohort identifier.
n_simNoNumber of sim.
detailNoPayload depth: 'minimal' (~150 tokens) for sub-step calls where only the point estimate is needed; 'standard' (~1K tokens) for diagnostics + coefficient table; 'agent' (~2K tokens, default) adds violations / next_steps / suggested_functions so the LLM can plan its next call without another round-trip.agent
n_bootNoNumber of bootstrap replications.
n_tau_qrNoNumber of tau qr.
tau_gridNotau grid for reporting (default: deciles 0.1..0.9)
as_handleNoIf true, cache the fitted result on the server and return result_id + result_uri alongside the JSON payload so a subsequent tools/call can chain without re-running.
data_pathYesAbsolute path or URL to a data file. Supported: .csv / .tsv / .txt (delimited), .parquet / .pq, .feather / .arrow, .xlsx / .xls, .dta (Stata), .json / .jsonl. Schemes: file://, s3://, gs://, https://.
inferenceNoinference parameter (str).none
referenceNo0: use Group A's coefficients with Group B's X. The counterfactual is F_{Y<0|1>} -- A's beta on B's X. 1: use Group B's coefficients with Group A's X. .. warning:: Opposite convention to ``dfl_decompose``. In DFL, ``reference=0`` means *A's X, B's beta* (reweighting). Here, ``reference=0`` means *A's beta, B's X* (coefficient swap). See ``dfl_decompose`` docstring for the full convention map.
result_idNoOptional handle to a previously-fitted result (returned by an earlier call when as_handle=true). Tools that operate on a fitted object accept this in place of re-supplying data_path + columns.
data_columnsNoOptional column projection. Parquet/Feather/Stata loaders honour this for fast partial reads.
data_sample_nNoOptional uniform random subsample size (seed=0, deterministic) — useful on huge panels.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.3/5.0
Behavior2/5

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

Annotations only declare readOnlyHint=true and openWorldHint=false; the description adds no behavioral context such as what the decomposition returns, how groups and reference group are interpreted, or that it fits quantile regressions. It does not contradict the annotations.

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

Conciseness3/5

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

The description is short and not rambling, but it is under-specified: the single noun phrase does not front-load an actionable verb or scope. It is concise in length, not in useful structure.

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

Completeness2/5

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

Given 17 parameters, 4 required inputs, and a large sibling ecosystem, a one-phrase description is far from complete. Even with a rich schema and output schema, an agent receives no high-level context about required data layout, grouping, reference conventions, or intended workflow.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents every parameter. The description itself contributes no parameter meaning, which matches the baseline of 3 for high schema coverage.

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

Purpose2/5

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

The description is a noun phrase ('Machado-Mata (2005) quantile decomposition') that essentially restates the tool name; it lacks an explicit verb or resource such as 'Decompose differences in outcome y across groups by quantile.' It does not distinguish machado_mata from closely related siblings like melly_decompose, qte, or dfl_decompose.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool instead of the many other decomposition tools in the sibling list (e.g., melly_decompose, dfl_decompose, oaxaca, qte). No context, prerequisites, or exclusions are provided.

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

Deploy Server

Other Tools