# Missing data profiler

- Human page: https://happytails.ai/en/data-tools/missing-data-profiler/
- Markdown: https://happytails.ai/en/data-tools/missing-data-profiler.md
- Structured JSON: https://happytails.ai/agents/en/data-tools/missing-data-profiler/index.json
- Visibility: public

## Tool capabilities

| Property | Value |
| --- | --- |
| Tool ID | `missing-data-profiler` |
| Category | data-tools |
| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |
| Browser execution | Use the visible action or interactive controls. |
| Browser processing | Browser; see tool notes for network behavior. |
| HTTP API | Not callable through HTTP. |
| Browser-agent interface | run_current_tool |

### Implementation notes

Profile top-level variables across JSON objects. Choose whether empty or whitespace-only strings count as missing; null and absent fields always do. Zero and false remain present. Nested values are present unless null. Reports contain counts, source row numbers and patterns without copying input values. At most 10,000 rows, 200 variables and 100,000 cells. No imputation is performed. Processing stays on your device. JSON supports up to 1,000,000 input characters, 50,000 values and 64 nesting levels. Duplicate keys and numbers that cannot survive JSON serialization exactly are rejected. Operations are limited to 100,000 comparisons, 4,000,000 JSON output characters and 8,000,000 CSV output characters. Tables show the first 200 rows; downloads preserve the complete report. CSV uses exact JSON Pointer paths and typed JSON value envelopes for spreadsheet-safe reporting.

### Inputs and settings

Text input: JSON input.

Example or placeholder shown in the interface (not a validated fixture):

```text
[
  {
    "id": 1,
    "score": 0,
    "note": null
  },
  {
    "id": 2,
    "note": ""
  },
  {
    "id": 3,
    "score": null,
    "note": "  "
  }
]
```

Profile top-level variables across JSON objects. Choose whether empty or whitespace-only strings count as missing; null and absent fields always do. Zero and false remain present. Nested values are present unless null. Reports contain counts, source row numbers and patterns without copying input values. At most 10,000 rows, 200 variables and 100,000 cells. No imputation is performed. Up to 1,000,000 characters. Review the settings before running.

| Setting | Meaning | Control type | Default | Constraints |
| --- | --- | --- | --- | --- |
| `blanks` | Missing string values | select | "Null and absent only" | Allowed: Null and absent only, Empty strings, Whitespace strings |

### Browser-agent workflow

1. Open the human page in a browser that supports WebMCP.
2. Discover the interface exposed by that page; use its actual schema.
3. Select files on the page first when the tool requires files.
4. Call `run_current_tool` with valid input and settings.
5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.

Calls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.

### Planning specification

Profile top-level variables across JSON objects. Choose whether empty or whitespace-only strings count as missing; null and absent fields always do. Zero and false remain present. Nested values are present unless null. Reports contain counts, source row numbers and patterns without copying input values. At most 10,000 rows, 200 variables and 100,000 cells. No imputation is performed. Processing stays on your device. JSON supports up to 1,000,000 input characters, 50,000 values and 64 nesting levels. Duplicate keys and numbers that cannot survive JSON serialization exactly are rejected. Operations are limited to 100,000 comparisons, 4,000,000 JSON output characters and 8,000,000 CSV output characters. Tables show the first 200 rows; downloads preserve the complete report. CSV uses exact JSON Pointer paths and typed JSON value envelopes for spreadsheet-safe reporting.

This describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.

### Complete machine-readable capability record

```json
{
  "id": "missing-data-profiler",
  "category": "data-tools",
  "built": true,
  "requirements": "Profile top-level variables across JSON objects. Choose whether empty or whitespace-only strings count as missing; null and absent fields always do. Zero and false remain present. Nested values are present unless null. Reports contain counts, source row numbers and patterns without copying input values. At most 10,000 rows, 200 variables and 100,000 cells. No imputation is performed. Processing stays on your device. JSON supports up to 1,000,000 input characters, 50,000 values and 64 nesting levels. Duplicate keys and numbers that cannot survive JSON serialization exactly are rejected. Operations are limited to 100,000 comparisons, 4,000,000 JSON output characters and 8,000,000 CSV output characters. Tables show the first 200 rows; downloads preserve the complete report. CSV uses exact JSON Pointer paths and typed JSON value envelopes for spreadsheet-safe reporting.",
  "implementation": {
    "fields": [
      {
        "key": "blanks",
        "label": "Missing string values",
        "value": "Null and absent only",
        "type": "select",
        "values": [
          "Null and absent only",
          "Empty strings",
          "Whitespace strings"
        ]
      }
    ],
    "presentation": "metrics",
    "inputMaxLength": 1000000,
    "inputErrorCode": "DATA_DIAGNOSTIC_INPUT",
    "note": "Profile top-level variables across JSON objects. Choose whether empty or whitespace-only strings count as missing; null and absent fields always do. Zero and false remain present. Nested values are present unless null. Reports contain counts, source row numbers and patterns without copying input values. At most 10,000 rows, 200 variables and 100,000 cells. No imputation is performed. Processing stays on your device. JSON supports up to 1,000,000 input characters, 50,000 values and 64 nesting levels. Duplicate keys and numbers that cannot survive JSON serialization exactly are rejected. Operations are limited to 100,000 comparisons, 4,000,000 JSON output characters and 8,000,000 CSV output characters. Tables show the first 200 rows; downloads preserve the complete report. CSV uses exact JSON Pointer paths and typed JSON value envelopes for spreadsheet-safe reporting.",
    "experience": {
      "automatic": false,
      "single": false,
      "inputMaxLength": 1000000,
      "inputMode": "text",
      "label": "JSON input",
      "placeholder": "[\n  {\n    \"id\": 1,\n    \"score\": 0,\n    \"note\": null\n  },\n  {\n    \"id\": 2,\n    \"note\": \"\"\n  },\n  {\n    \"id\": 3,\n    \"score\": null,\n    \"note\": \"  \"\n  }\n]",
      "help": "Profile top-level variables across JSON objects. Choose whether empty or whitespace-only strings count as missing; null and absent fields always do. Zero and false remain present. Nested values are present unless null. Reports contain counts, source row numbers and patterns without copying input values. At most 10,000 rows, 200 variables and 100,000 cells. No imputation is performed. Up to 1,000,000 characters. Review the settings before running.",
      "action": null
    },
    "mode": "explicit",
    "interactive": false
  },
  "execution": "Browser interface",
  "api": null,
  "browser_agent": {
    "supported": true,
    "name": "run_current_tool",
    "discovery": "WebMCP on the human page in a supporting browser",
    "verification": "See audit/API-AUDIT.md; availability is not verification"
  }
}
```

## Page guide

Inspect missingness by row, variable and repeated pattern without silently replacing missing values.

How can we improve this tool?

Report a problem or share an idea.

Please leave out private information. Your message and the tool name go to our team via PostHog.

### How to use Missing data profiler

1. Paste the documented input and choose the relevant settings.
2. Run the local diagnostic and inspect its findings.
3. Download the complete output and reports. Tables preview the first 200 rows.

## Useful next steps

- [CSV type profiler](https://happytails.ai/en/data-tools/csv-type-profiler/) ([Markdown](https://happytails.ai/en/data-tools/csv-type-profiler.md))

- [JSON path inventory](https://happytails.ai/en/data-tools/json-path-inventory/) ([Markdown](https://happytails.ai/en/data-tools/json-path-inventory.md))

## Make the missing-value definition explicit

Absent fields and null always count as missing. Choose whether empty strings or whitespace-only strings also count. Zero and false remain valid values. Each top-level object key is a variable; nested non-null values remain present. Reports identify source rows and missingness patterns but do not retain input cell values or perform imputation.

### Keep the complete report

JSON records the full result, settings and assumptions. CSV contains exact JSON Pointer paths, value types and JSON value envelopes for every report node, including typed object and array markers. Preview limits do not truncate downloadable reports.
