|
| 1 | +# InsightBench Dataset Schema |
| 2 | + |
| 3 | +This document describes the structure and conventions of the InsightBench dataset. |
| 4 | + |
| 5 | +## Overview |
| 6 | + |
| 7 | +InsightBench contains **97 flags** (analytical tasks) with a total of **409 ground-truth insights** for evaluating data analytics agents. Each flag consists of: |
| 8 | +- A CSV dataset (simulated ServiceNow data) |
| 9 | +- A Jupyter notebook with ground-truth analysis code and insights |
| 10 | +- A JSON metadata file used by the evaluation framework |
| 11 | + |
| 12 | +## JSON Schema |
| 13 | + |
| 14 | +Each `flag-{N}.json` file has this structure: |
| 15 | + |
| 16 | +```json |
| 17 | +{ |
| 18 | + "dataset_csv_path": "data/notebooks/csvs/flag-{N}.csv", |
| 19 | + "user_dataset_csv_path": "data/notebooks/csvs/flag-{N}-sysuser.csv | null", |
| 20 | + "metadata": { |
| 21 | + "goal": "Analytical goal description", |
| 22 | + "role": "Analyst role (e.g., 'L2 Support Agent')", |
| 23 | + "category": "One of the canonical categories", |
| 24 | + "dataset_description": "Description of the dataset fields", |
| 25 | + "header": "Task title", |
| 26 | + "difficulty": 1-4 (optional, null if not assigned) |
| 27 | + }, |
| 28 | + "insight_list": [ |
| 29 | + { |
| 30 | + "data_type": "descriptive | diagnostic | predictive | ...", |
| 31 | + "insight": "The key finding (ground truth)", |
| 32 | + "insight_value": { ... }, |
| 33 | + "plot": { ... }, |
| 34 | + "question": "The analytical question", |
| 35 | + "actionable_insight": "Recommended action", |
| 36 | + "code": "Python analysis code" |
| 37 | + } |
| 38 | + ], |
| 39 | + "insights": ["insight text 1", "insight text 2", ...], |
| 40 | + "summary": "Summary of all findings" |
| 41 | +} |
| 42 | +``` |
| 43 | + |
| 44 | +## Categories |
| 45 | + |
| 46 | +| Category | Count | Description | |
| 47 | +|----------|-------|-------------| |
| 48 | +| Incident Management | 31 | ServiceNow incident analysis | |
| 49 | +| Finance Management | 28 | Expense and financial analysis | |
| 50 | +| Goal Management | 20 | Organizational goal tracking | |
| 51 | +| User Management | 8 | HR and personnel analysis | |
| 52 | +| Asset Management | 6 | IT asset management | |
| 53 | +| Asset Management & User Management | 2 | Cross-domain analysis | |
| 54 | +| Finance Management & User Management | 2 | Cross-domain analysis | |
| 55 | + |
| 56 | +## Data Types (Insight Classification) |
| 57 | + |
| 58 | +| Type | Count | Description | |
| 59 | +|------|-------|-------------| |
| 60 | +| descriptive | 188 | What happened? Distribution, averages, totals | |
| 61 | +| diagnostic | 108 | Why did it happen? Correlations, root cause | |
| 62 | +| comparative | 33 | How do groups differ? Cross-group analysis | |
| 63 | +| predictive | 22 | What will happen? Trends, forecasts | |
| 64 | +| analytical | 23 | Deep analysis of patterns and relationships | |
| 65 | +| time_series | 17 | Temporal patterns and trends | |
| 66 | +| correlative | 6 | Statistical correlations | |
| 67 | +| trend diagnosis | 4 | Trend identification and analysis | |
| 68 | +| frequency | 4 | Frequency and count analysis | |
| 69 | +| distribution | 2 | Distribution shape analysis | |
| 70 | +| prescriptive | 1 | What should be done? Recommendations | |
| 71 | +| categorical | 1 | Categorical data analysis | |
| 72 | + |
| 73 | +## Adversarial Flags (80-87) |
| 74 | + |
| 75 | +Flags 80-87 are **deliberately adversarial** test cases. Their CSVs intentionally lack the columns required by the analysis. The ground-truth insights are error messages like "There was no column X to conduct any analysis." |
| 76 | + |
| 77 | +These flags test whether data analytics agents: |
| 78 | +1. Correctly identify when required data is unavailable |
| 79 | +2. Report the limitation instead of hallucinating insights |
| 80 | +3. Do not fabricate analysis results |
| 81 | + |
| 82 | +## Difficulty Levels |
| 83 | + |
| 84 | +Difficulty is assigned to 12 flags (from notebook metadata): |
| 85 | + |
| 86 | +| Level | Flags | |
| 87 | +|-------|-------| |
| 88 | +| 1 | 12, 59 | |
| 89 | +| 2 | 3, 49 | |
| 90 | +| 3 | 2, 48 | |
| 91 | +| 4 | 1, 47, 94, 95, 96, 97 | |
| 92 | + |
| 93 | +## Evaluation |
| 94 | + |
| 95 | +The evaluation framework uses the `insights` array (list of insight text strings) for scoring via ROUGE-1 or G-EVAL. The `insight_list` provides the full structured ground truth. |
| 96 | + |
| 97 | +Benchmark tiers: |
| 98 | +- `"toy"`: flags 1-5 (5 flags) |
| 99 | +- `"standard"`: flags 1-30 (30 flags) |
| 100 | +- `"full"`: flags 1-97 excluding duplicates (97 flags) |
| 101 | + |
0 commit comments