<< All versions

Skill v1.0.0

currentTrusted Publisher100/100
microsoft/power-platform-skills/compare-cohorts
──Details
PublishedOctober 11, 2026 at 05:45 PM
Content Hashsha256:aa36f5aefa5a0d04...
Git SHA
──Files
Files (1 file, 3.6 KB)
SKILL.md3.6 KBactive
SKILL.md · 61 lines · 3.6 KB

version: "1.0.0" name: compare-cohorts description: Use when comparing process cohorts, departments, periods or before-and-after results under matched definitions. allowed-tools: Read, AskUserQuestion


Matched cohort comparisons

Use the shared contract and filters/units. Fix the outcome definition/provenance, metric, aggregation, units, timezone and one selector S. Freeze the user's agreed baseline F, separately from current exploratory filters. Reuse metadata versions and exact typed cohort values. Use the investigation method for findings/status.

Ordered trace

  1. Copy baseline F twice. For attribute cohorts append

{attributeName:A,dataType:T,attributeValues:[X],isInclusive:true} to attributeValueFilters for A's cohort value, and the same shape with Y for B. Preserve other agreed baseline conditions; retain rework restrictions only if part of that baseline. Do not leak an exploratory/outcome-only subset into a full-population comparison. Change only the intended cohort condition. If values are unknown, request get_attribute_values_v2 {S,attributeName:A,itemsPerPage:20,itemsToSkip:0,filterOptions:F}; it returns values, not frequencies.

  1. get_process_overall_metrics_v2 {S,filterOptions:F_A} ->

get_process_overall_metrics_v2 {S,filterOptions:F_B}. No metrics, groupBy or aggregation parameter exists. Use the same returned metric definitions; native CaseDuration/CaseWaitingTime are means.

  1. Only if a grouped explanation is needed and statistics is advertised, make a matched pair:

get_attribute_statistics {S,attributeName:A,filterOptions:F_A,itemsPerPage:5,itemsToSkip:0,metricToSortBy:"TotalDuration",sortOrder:"Descending"}, then exactly the same call with F_B. Do not treat independent top-five pages as a complete aligned population.

Continue relevant value/group pages or matched follow-ups when needed, without fixed call quotas. Stop at sufficient evidence, no new information or a capability/error boundary; no blind sweeps. Do not create views or use two inclusive timeframes in one query as an A/B comparison.

Time and reproducibility

For periods, change only one explicit timeframeFilters start/end pair in each copied F. Case windows mean Contained, not cases Started/Completed/Intersecting or all events during the period. If completed-only membership including earlier starts is essential, stop/reframe or route to derive-metric/a user-confirmed existing matching view. Never invent a date-mode field or promise unknown end-boundary behavior.

If refresh is reported or reproducibility is at risk, recheck details. Changed PV/PMV invalidates the pair: mark inconclusive, stop or deliberately rerun both, not just the second. Process selection resolves latest; no direct version selector or atomic comparison snapshot exists. Views pin version context but their configuration is mutable/cached.

Report A/B counts, mean metrics, absolute delta and relative change only for a nonzero baseline. Empty cohorts mean insufficient evidence, not zero duration/infinite improvement. State scope/version and unmatched-group coverage; at most five headline rows. Recorded means do not establish closure, equal maturity or complete lifecycles. Report those as unknown unless supported; qualify the comparison, not an assumed causal improvement. Retain baseline/cohort filters, evidence references, status and alternatives. Overlapping groups cannot be added as unique-case totals. Object-centric comparisons belong in analyze-objects, not case-filter fallbacks.

All versions