Files
sbroenne__mcp-server-excel/.github/usage-analytics.json
2026-09-14 10:04:02 +00:00

1064 lines
24 KiB
JSON

{
"schemaVersion": 2,
"generatedAtUtc": "2026-09-14T09:57:32Z",
"windows": {
"reportingDays": 90,
"comparisonDays": 14,
"trendWeeks": 12,
"categorizedReliabilitySinceUtc": "2026-08-28T09:25:22Z",
"categorizedReliabilityMinimumVersion": "2.0.5"
},
"privacy": {
"excluded": [
"user identifiers",
"session identifiers",
"names and account details",
"locations",
"workbook contents",
"cell values and formulas",
"prompts and messages",
"file names and paths",
"error messages and stack traces"
]
},
"summary": {
"users": 2734,
"toolInvocations": 937504,
"repeatUserRate": 63.41
},
"comparison": {
"currentUsers": 655,
"previousUsers": 1241,
"userChangePct": -47.22,
"currentInvocations": 135170,
"previousInvocations": 244272,
"invocationChangePct": -44.66
},
"weekly": [
{
"week": "2026-06-21",
"users": 170,
"actions": 9021
},
{
"week": "2026-06-28",
"users": 369,
"actions": 28700
},
{
"week": "2026-07-05",
"users": 363,
"actions": 20047
},
{
"week": "2026-07-12",
"users": 595,
"actions": 63350
},
{
"week": "2026-07-19",
"users": 691,
"actions": 83786
},
{
"week": "2026-07-26",
"users": 721,
"actions": 80582
},
{
"week": "2026-08-02",
"users": 696,
"actions": 99799
},
{
"week": "2026-08-09",
"users": 774,
"actions": 148405
},
{
"week": "2026-08-16",
"users": 830,
"actions": 124514
},
{
"week": "2026-08-23",
"users": 818,
"actions": 129029
},
{
"week": "2026-08-30",
"users": 512,
"actions": 85833
},
{
"week": "2026-09-06",
"users": 396,
"actions": 56998
}
],
"versionAdoption": [
{
"week": "2026-06-28",
"version": "Other",
"users": 370,
"sharePct": 100
},
{
"week": "2026-07-05",
"version": "Other",
"users": 361,
"sharePct": 100
},
{
"week": "2026-07-12",
"version": "Other",
"users": 390,
"sharePct": 65.55
},
{
"week": "2026-07-12",
"version": "1.9.5",
"users": 205,
"sharePct": 34.45
},
{
"week": "2026-07-19",
"version": "Other",
"users": 435,
"sharePct": 62.95
},
{
"week": "2026-07-19",
"version": "1.9.5",
"users": 256,
"sharePct": 37.05
},
{
"week": "2026-07-26",
"version": "Other",
"users": 371,
"sharePct": 51.53
},
{
"week": "2026-07-26",
"version": "1.10.3",
"users": 270,
"sharePct": 37.5
},
{
"week": "2026-07-26",
"version": "1.9.5",
"users": 79,
"sharePct": 10.97
},
{
"week": "2026-08-02",
"version": "1.10.3",
"users": 331,
"sharePct": 47.63
},
{
"week": "2026-08-02",
"version": "Other",
"users": 287,
"sharePct": 41.29
},
{
"week": "2026-08-02",
"version": "1.9.5",
"users": 39,
"sharePct": 5.61
},
{
"week": "2026-08-02",
"version": "1.10.5",
"users": 38,
"sharePct": 5.47
},
{
"week": "2026-08-09",
"version": "1.10.5",
"users": 357,
"sharePct": 46.24
},
{
"week": "2026-08-09",
"version": "Other",
"users": 287,
"sharePct": 37.18
},
{
"week": "2026-08-09",
"version": "1.10.3",
"users": 96,
"sharePct": 12.44
},
{
"week": "2026-08-09",
"version": "1.9.5",
"users": 32,
"sharePct": 4.15
},
{
"week": "2026-08-16",
"version": "Other",
"users": 632,
"sharePct": 76.14
},
{
"week": "2026-08-16",
"version": "1.10.5",
"users": 108,
"sharePct": 13.01
},
{
"week": "2026-08-16",
"version": "1.10.3",
"users": 63,
"sharePct": 7.59
},
{
"week": "2026-08-16",
"version": "1.9.5",
"users": 27,
"sharePct": 3.25
},
{
"week": "2026-08-23",
"version": "Other",
"users": 685,
"sharePct": 80.59
},
{
"week": "2026-08-23",
"version": "1.10.3",
"users": 56,
"sharePct": 6.59
},
{
"week": "2026-08-23",
"version": "1.10.5",
"users": 49,
"sharePct": 5.76
},
{
"week": "2026-08-23",
"version": "2.0.5",
"users": 36,
"sharePct": 4.24
},
{
"week": "2026-08-23",
"version": "1.9.5",
"users": 24,
"sharePct": 2.82
},
{
"week": "2026-08-30",
"version": "Other",
"users": 370,
"sharePct": 42.14
},
{
"week": "2026-08-30",
"version": "2.0.5",
"users": 208,
"sharePct": 23.69
},
{
"week": "2026-08-30",
"version": "2.0.7",
"users": 190,
"sharePct": 21.64
},
{
"week": "2026-08-30",
"version": "1.10.3",
"users": 52,
"sharePct": 5.92
},
{
"week": "2026-08-30",
"version": "1.10.5",
"users": 33,
"sharePct": 3.76
},
{
"week": "2026-08-30",
"version": "1.9.5",
"users": 24,
"sharePct": 2.73
},
{
"week": "2026-08-30",
"version": "2.0.6",
"users": 1,
"sharePct": 0.11
},
{
"week": "2026-09-06",
"version": "2.0.7",
"users": 492,
"sharePct": 52.06
},
{
"week": "2026-09-06",
"version": "Other",
"users": 302,
"sharePct": 31.96
},
{
"week": "2026-09-06",
"version": "2.0.5",
"users": 54,
"sharePct": 5.71
},
{
"week": "2026-09-06",
"version": "1.10.5",
"users": 41,
"sharePct": 4.34
},
{
"week": "2026-09-06",
"version": "1.10.3",
"users": 27,
"sharePct": 2.86
},
{
"week": "2026-09-06",
"version": "1.9.5",
"users": 17,
"sharePct": 1.8
},
{
"week": "2026-09-06",
"version": "2.0.8",
"users": 12,
"sharePct": 1.27
},
{
"week": "2026-09-13",
"version": "Other",
"users": 67,
"sharePct": 33.17
},
{
"week": "2026-09-13",
"version": "2.0.8",
"users": 61,
"sharePct": 30.2
},
{
"week": "2026-09-13",
"version": "2.0.7",
"users": 48,
"sharePct": 23.76
},
{
"week": "2026-09-13",
"version": "2.0.5",
"users": 10,
"sharePct": 4.95
},
{
"week": "2026-09-13",
"version": "1.10.3",
"users": 7,
"sharePct": 3.47
},
{
"week": "2026-09-13",
"version": "1.10.5",
"users": 5,
"sharePct": 2.48
},
{
"week": "2026-09-13",
"version": "1.9.5",
"users": 4,
"sharePct": 1.98
}
],
"operations": [
{
"name": "range/get-values",
"invocations": 165028,
"users": 2511
},
{
"name": "range/set-values",
"invocations": 107284,
"users": 2090
},
{
"name": "range/set-formulas",
"invocations": 50273,
"users": 1214
},
{
"name": "range/get-used-range",
"invocations": 39032,
"users": 2268
},
{
"name": "range_format/format-range",
"invocations": 37401,
"users": 1317
},
{
"name": "range/get-formulas",
"invocations": 36339,
"users": 1304
},
{
"name": "file/list",
"invocations": 34157,
"users": 2469
},
{
"name": "worksheet/list",
"invocations": 27722,
"users": 2722
},
{
"name": "vba/run",
"invocations": 25523,
"users": 498
},
{
"name": "screenshot/capture",
"invocations": 23452,
"users": 1263
},
{
"name": "range_format/set-column-width",
"invocations": 23068,
"users": 962
},
{
"name": "range_edit/find",
"invocations": 20222,
"users": 782
},
{
"name": "range/set-number-format",
"invocations": 18105,
"users": 982
},
{
"name": "calculation_mode/calculate",
"invocations": 17517,
"users": 1127
},
{
"name": "vba/update",
"invocations": 12831,
"users": 353
},
{
"name": "range_format/merge-cells",
"invocations": 12728,
"users": 570
},
{
"name": "range/clear-contents",
"invocations": 12131,
"users": 931
},
{
"name": "calculation_mode/set-mode",
"invocations": 11702,
"users": 1046
},
{
"name": "worksheet/create",
"invocations": 11161,
"users": 1287
},
{
"name": "range_format/format-ranges",
"invocations": 10191,
"users": 747
},
{
"name": "vba/view",
"invocations": 9314,
"users": 368
},
{
"name": "vba/import",
"invocations": 9295,
"users": 633
},
{
"name": "powerquery/evaluate",
"invocations": 8921,
"users": 355
},
{
"name": "conditionalformat/add-rule",
"invocations": 7324,
"users": 437
},
{
"name": "table/list",
"invocations": 6667,
"users": 875
}
],
"toolFamilies": [
{
"name": "range",
"invocations": 455717,
"users": 2904,
"sharePct": 45.02
},
{
"name": "range_format",
"invocations": 111556,
"users": 1614,
"sharePct": 11.02
},
{
"name": "vba",
"invocations": 66385,
"users": 877,
"sharePct": 6.56
},
{
"name": "worksheet",
"invocations": 52281,
"users": 2800,
"sharePct": 5.16
},
{
"name": "file",
"invocations": 44441,
"users": 2786,
"sharePct": 4.39
},
{
"name": "powerquery",
"invocations": 43136,
"users": 534,
"sharePct": 4.26
},
{
"name": "range_edit",
"invocations": 31795,
"users": 1061,
"sharePct": 3.14
},
{
"name": "calculation_mode",
"invocations": 30481,
"users": 1283,
"sharePct": 3.01
},
{
"name": "screenshot",
"invocations": 28523,
"users": 1500,
"sharePct": 2.82
},
{
"name": "table",
"invocations": 21943,
"users": 1200,
"sharePct": 2.17
},
{
"name": "datamodel",
"invocations": 17820,
"users": 300,
"sharePct": 1.76
},
{
"name": "pivottable_field",
"invocations": 12585,
"users": 354,
"sharePct": 1.24
},
{
"name": "window",
"invocations": 10780,
"users": 920,
"sharePct": 1.06
},
{
"name": "conditionalformat",
"invocations": 9335,
"users": 478,
"sharePct": 0.92
},
{
"name": "chart_config",
"invocations": 9190,
"users": 384,
"sharePct": 0.91
},
{
"name": "worksheet_style",
"invocations": 8764,
"users": 576,
"sharePct": 0.87
},
{
"name": "chart",
"invocations": 8641,
"users": 568,
"sharePct": 0.85
},
{
"name": "namedrange",
"invocations": 8558,
"users": 494,
"sharePct": 0.85
},
{
"name": "pivottable",
"invocations": 8118,
"users": 474,
"sharePct": 0.8
},
{
"name": "drawing",
"invocations": 6086,
"users": 171,
"sharePct": 0.6
}
],
"heroFeatures": [
{
"name": "tables-ranges",
"invocations": 654964,
"users": 2930,
"sharePct": 64.7
},
{
"name": "worksheets-connections",
"invocations": 122902,
"users": 3166,
"sharePct": 12.14
},
{
"name": "pivottables-charts",
"invocations": 85527,
"users": 1749,
"sharePct": 8.45
},
{
"name": "vba",
"invocations": 66385,
"users": 877,
"sharePct": 6.56
},
{
"name": "power-query",
"invocations": 43136,
"users": 534,
"sharePct": 4.26
},
{
"name": "power-pivot-dax",
"invocations": 17820,
"users": 300,
"sharePct": 1.76
},
{
"name": "agent-mode",
"invocations": 10780,
"users": 920,
"sharePct": 1.06
},
{
"name": "other",
"invocations": 10447,
"users": 411,
"sharePct": 1.03
},
{
"name": "python-in-excel",
"invocations": 301,
"users": 59,
"sharePct": 0.03
}
],
"reliability": [
{
"name": "vba/run",
"actions": 5018,
"expectedNegatives": 0,
"failures": 697,
"failureRate": 13.89,
"inputState": 65,
"externalDependency": 0,
"timeoutCancellation": 290,
"excelRuntime": 342,
"internalProductFault": 0,
"unclassified": 0,
"users": 100
},
{
"name": "range/set-values",
"actions": 16334,
"expectedNegatives": 0,
"failures": 656,
"failureRate": 4.02,
"inputState": 385,
"externalDependency": 0,
"timeoutCancellation": 8,
"excelRuntime": 83,
"internalProductFault": 0,
"unclassified": 180,
"users": 478
},
{
"name": "range/get-values",
"actions": 23656,
"expectedNegatives": 0,
"failures": 465,
"failureRate": 1.97,
"inputState": 286,
"externalDependency": 0,
"timeoutCancellation": 14,
"excelRuntime": 44,
"internalProductFault": 0,
"unclassified": 121,
"users": 622
},
{
"name": "range/set-formulas",
"actions": 6226,
"expectedNegatives": 0,
"failures": 460,
"failureRate": 7.39,
"inputState": 107,
"externalDependency": 0,
"timeoutCancellation": 6,
"excelRuntime": 243,
"internalProductFault": 0,
"unclassified": 104,
"users": 275
},
{
"name": "range/get-used-range",
"actions": 5139,
"expectedNegatives": 0,
"failures": 376,
"failureRate": 7.32,
"inputState": 254,
"externalDependency": 0,
"timeoutCancellation": 4,
"excelRuntime": 3,
"internalProductFault": 0,
"unclassified": 115,
"users": 554
},
{
"name": "worksheet/list",
"actions": 3703,
"expectedNegatives": 0,
"failures": 333,
"failureRate": 8.99,
"inputState": 308,
"externalDependency": 0,
"timeoutCancellation": 6,
"excelRuntime": 16,
"internalProductFault": 0,
"unclassified": 3,
"users": 689
},
{
"name": "powerquery/evaluate",
"actions": 1395,
"expectedNegatives": 0,
"failures": 256,
"failureRate": 18.35,
"inputState": 39,
"externalDependency": 4,
"timeoutCancellation": 41,
"excelRuntime": 146,
"internalProductFault": 0,
"unclassified": 26,
"users": 92
},
{
"name": "range_format/format-range",
"actions": 4817,
"expectedNegatives": 0,
"failures": 250,
"failureRate": 5.19,
"inputState": 238,
"externalDependency": 0,
"timeoutCancellation": 8,
"excelRuntime": 4,
"internalProductFault": 0,
"unclassified": 0,
"users": 281
},
{
"name": "datamodel/evaluate",
"actions": 883,
"expectedNegatives": 0,
"failures": 209,
"failureRate": 23.67,
"inputState": 7,
"externalDependency": 7,
"timeoutCancellation": 3,
"excelRuntime": 149,
"internalProductFault": 0,
"unclassified": 43,
"users": 54
},
{
"name": "range_edit/find",
"actions": 2632,
"expectedNegatives": 0,
"failures": 157,
"failureRate": 5.97,
"inputState": 127,
"externalDependency": 0,
"timeoutCancellation": 8,
"excelRuntime": 3,
"internalProductFault": 0,
"unclassified": 19,
"users": 174
},
{
"name": "range/get-formulas",
"actions": 4856,
"expectedNegatives": 0,
"failures": 150,
"failureRate": 3.09,
"inputState": 23,
"externalDependency": 0,
"timeoutCancellation": 1,
"excelRuntime": 82,
"internalProductFault": 0,
"unclassified": 44,
"users": 304
},
{
"name": "vba/list",
"actions": 741,
"expectedNegatives": 0,
"failures": 135,
"failureRate": 18.22,
"inputState": 20,
"externalDependency": 6,
"timeoutCancellation": 0,
"excelRuntime": 28,
"internalProductFault": 0,
"unclassified": 81,
"users": 145
},
{
"name": "vba/import",
"actions": 1463,
"expectedNegatives": 0,
"failures": 134,
"failureRate": 9.16,
"inputState": 11,
"externalDependency": 3,
"timeoutCancellation": 2,
"excelRuntime": 16,
"internalProductFault": 0,
"unclassified": 102,
"users": 119
},
{
"name": "file/create",
"actions": 894,
"expectedNegatives": 0,
"failures": 123,
"failureRate": 13.76,
"inputState": 46,
"externalDependency": 0,
"timeoutCancellation": 33,
"excelRuntime": 0,
"internalProductFault": 0,
"unclassified": 44,
"users": 312
},
{
"name": "powerquery/refresh",
"actions": 793,
"expectedNegatives": 0,
"failures": 104,
"failureRate": 13.11,
"inputState": 24,
"externalDependency": 6,
"timeoutCancellation": 27,
"excelRuntime": 37,
"internalProductFault": 0,
"unclassified": 10,
"users": 58
},
{
"name": "worksheet/copy-to-file",
"actions": 316,
"expectedNegatives": 0,
"failures": 95,
"failureRate": 30.06,
"inputState": 0,
"externalDependency": 0,
"timeoutCancellation": 3,
"excelRuntime": 6,
"internalProductFault": 0,
"unclassified": 86,
"users": 30
},
{
"name": "table/list",
"actions": 816,
"expectedNegatives": 0,
"failures": 72,
"failureRate": 8.82,
"inputState": 41,
"externalDependency": 0,
"timeoutCancellation": 0,
"excelRuntime": 1,
"internalProductFault": 0,
"unclassified": 30,
"users": 228
},
{
"name": "range/clear-contents",
"actions": 2085,
"expectedNegatives": 0,
"failures": 70,
"failureRate": 3.36,
"inputState": 20,
"externalDependency": 0,
"timeoutCancellation": 0,
"excelRuntime": 37,
"internalProductFault": 0,
"unclassified": 13,
"users": 199
},
{
"name": "vba/update",
"actions": 2125,
"expectedNegatives": 0,
"failures": 69,
"failureRate": 3.25,
"inputState": 27,
"externalDependency": 0,
"timeoutCancellation": 3,
"excelRuntime": 8,
"internalProductFault": 0,
"unclassified": 31,
"users": 79
},
{
"name": "chart/list",
"actions": 405,
"expectedNegatives": 0,
"failures": 67,
"failureRate": 16.54,
"inputState": 63,
"externalDependency": 0,
"timeoutCancellation": 0,
"excelRuntime": 2,
"internalProductFault": 0,
"unclassified": 2,
"users": 74
}
],
"failureClasses": [
{
"name": "input-state",
"actions": 3250,
"users": 471
},
{
"name": "excel-runtime",
"actions": 1936,
"users": 305
},
{
"name": "unclassified",
"actions": 1645,
"users": 356
},
{
"name": "timeout-cancellation",
"actions": 573,
"users": 132
},
{
"name": "expected-negative",
"actions": 439,
"users": 185
},
{
"name": "external-dependency",
"actions": 26,
"users": 9
}
],
"versionReliability": [
{
"version": "2.0.7",
"actions": 91234,
"expectedNegatives": 301,
"failures": 4748,
"failureRate": 5.2,
"inputState": 1952,
"externalDependency": 5,
"timeoutCancellation": 367,
"excelRuntime": 1269,
"internalProductFault": 0,
"unclassified": 1155,
"users": 603
},
{
"version": "2.0.5",
"actions": 52983,
"expectedNegatives": 105,
"failures": 2438,
"failureRate": 4.6,
"inputState": 1209,
"externalDependency": 0,
"timeoutCancellation": 197,
"excelRuntime": 609,
"internalProductFault": 0,
"unclassified": 423,
"users": 291
},
{
"version": "2.0.8",
"actions": 6079,
"expectedNegatives": 33,
"failures": 244,
"failureRate": 4.01,
"inputState": 89,
"externalDependency": 21,
"timeoutCancellation": 9,
"excelRuntime": 58,
"internalProductFault": 0,
"unclassified": 67,
"users": 71
},
{
"version": "2.0.6",
"actions": 28,
"expectedNegatives": 0,
"failures": 0,
"failureRate": 0,
"inputState": 0,
"externalDependency": 0,
"timeoutCancellation": 0,
"excelRuntime": 0,
"internalProductFault": 0,
"unclassified": 0,
"users": 2
}
],
"exceptions": [],
"interpretation": "## What changed\n\nOver the past 90 days, 2,734 people used the tool and took 937,504 actions inside Excel. Weekly use grew steadily from 170 people in late June to a high of 830 people in the week of August 16, then eased off to 396 people by September 6.\n\nNewer versions caught on fast. By the week of September 6, version 2.0.7 already reached 492 users, a 52.06% share, and by September 13 the newer 2.0.8 had grown to 61 users. This suggests people update readily once a new version appears.\n\nIn the most recent 14 days, 655 people made 135,170 actions, compared with 1,241 people and 244,272 actions in the 14 days before that. Part of this drop may reflect that the newest week in our records is still incomplete, so it should not be read as a firm trend yet.\n\n## How well it worked\n\nSince August 28, 2026, we have been able to sort what happens after each action, but only for versions 2.0.5 and newer. Older versions are not part of this section because that detail was not recorded for them.\n\nSome results are expected negatives, such as a search that correctly finds nothing. These are not failures. Looking only at true failures: version 2.0.7 had 4,748 failures out of 91,234 actions (5.2%), version 2.0.5 had 2,438 out of 52,983 (4.6%), and version 2.0.8 had 244 out of 6,079 (4.01%). Version 2.0.6 had only 28 actions, too few to draw a conclusion from.\n\nMost sorted failures fall into fixed groups: 3,250 actions across 471 people involved something about the file or selection at the time; 1,936 actions across 305 people were tied to Excel itself; 573 actions across 132 people were timeouts or cancellations; and 26 actions across 9 people involved an outside connection. No failures were traced to the tool's own code. A further 1,645 actions across 356 people remain unclassified, meaning they have not yet been sorted into any group; this is shown openly, not hidden, and reducing it is a priority.\n\n## How people use it\n\nAbout 63.41% of people came back and used the tool more than once, suggesting it earns repeat use rather than being tried once and dropped.\n\nWorking with tables and ranges makes up 64.7% of all actions, by far the largest area, followed by worksheets and connections at 12.14% and pivot tables and charts at 8.45%. Reading cell values is the single most common action, followed by writing values and setting formulas.\n\nA smaller group goes further: running and editing macros, refreshing data connections, working with data models, and even writing code inside Excel. These groups have fewer people, but each person tends to repeat the action many times, which may suggest a core of more advanced users relying on the tool for heavier, repeatable work.\n\n## What we will improve\n\nWe plan to extend outcome tracking to more versions and a longer history, since today's reliability view only starts from August 28, 2026 and version 2.0.5 onward.\n\nWe will keep working to sort the 1,645 unclassified failures into clearer groups so fewer results stay unexplained.\n\nWe will also look closer at the actions with the highest failure shares, including data connections and copying work to new files, to see where they can be made more dependable.",
"interpretationModel": "GitHub Copilot CLI"
}