Synthetic demo · Provisional Baseline: 10 May 2026 to 04 Jul 2026 · 8 complete weeks · Week dates use UTC convention · Locale: en-US
The baseline covers 900 developers across six teams, with all eight Person Query weeks recorded for every developer. The median developer averaged 12.9 collaboration hours, including 7.8 meeting hours, and 12.0 uninterrupted hours per week over this period.
This is a manager view of working conditions and recorded AI use. The roster contains 1,080 synthetic people, of whom 900 are developers. The 180 other job-family records are excluded by the roster flag, rather than by tool activity. Eligibility for the Person Query and eligibility for each Copilot product are separate.
Reading the working week. Collaboration hours include meeting hours, scheduled Teams calls, email and chat or instant-message time, so they must not be added to meeting hours. Uninterrupted hours identify blocks of at least one hour without the specified meeting, email or Teams activity. Neither calendar space nor the absence of that activity establishes coding time, deep work or psychological flow. All working-condition distributions below use each developer’s average across the same eight weeks.
| Group | Category | Developers (count) | Share (%) |
|---|---|---|---|
| Data Engineering | Application engineering | 73 | 48.7% |
| Data Engineering | Engineering management | 31 | 20.7% |
| Data Engineering | Infrastructure engineering | 46 | 30.7% |
| Developer Experience | Application engineering | 76 | 50.7% |
| Developer Experience | Engineering management | 33 | 22.0% |
| Developer Experience | Infrastructure engineering | 41 | 27.3% |
| Identity | Application engineering | 67 | 44.7% |
| Identity | Engineering management | 34 | 22.7% |
| Identity | Infrastructure engineering | 49 | 32.7% |
| Mobile | Application engineering | 66 | 44.0% |
| Mobile | Engineering management | 33 | 22.0% |
| Mobile | Infrastructure engineering | 51 | 34.0% |
| Payments | Application engineering | 68 | 45.3% |
| Payments | Engineering management | 34 | 22.7% |
| Payments | Infrastructure engineering | 48 | 32.0% |
| Platform | Application engineering | 65 | 43.3% |
| Platform | Engineering management | 35 | 23.3% |
| Platform | Infrastructure engineering | 50 | 33.3% |
| Attribute | Category | Developers (count) | Share of 900 (%) |
|---|---|---|---|
| Role | Application engineering | 415 | 46.1% |
| Role | Engineering management | 200 | 22.2% |
| Role | Infrastructure engineering | 285 | 31.7% |
| Seniority | Early career | 241 | 26.8% |
| Seniority | Experienced | 380 | 42.2% |
| Seniority | Senior / lead | 279 | 31.0% |
| Tenure | 2 to 5 years | 385 | 42.8% |
| Tenure | Over 5 years | 214 | 23.8% |
| Tenure | Under 2 years | 301 | 33.4% |
Sorted by collaboration hours, Platform is the busiest team at 20.7 hours/person/week. Developer Experience has the highest GitHub Copilot recorded-active share at 100.0%, Data Engineering leads M365 Copilot at 100.0%, and Mobile has the most uninterrupted time at 17.5 hours/person/week.
| Rank | Team | Developers (count) | Collaboration hours | Meeting hours | Uninterrupted hours | After-hours collaboration | GitHub valid developers | GitHub active (%) | GitHub intensity / person / week | M365 valid developers | M365 active (%) | M365 intensity / person / week |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Platform | 150 | 20.7 | 12.4 | 5.0 | 1.9 | 138 | 94.9% | 35.0 | 126 | 98.4% | 15.4 |
| 2 | Payments | 150 | 15.5 | 9.1 | 10.0 | 4.1 | 134 | 87.3% | 32.0 | 120 | 94.2% | 14.3 |
| 3 | Data Engineering | 150 | 13.0 | 7.9 | 12.2 | 1.4 | 131 | 98.5% | 39.5 | 127 | 100.0% | 39.1 |
| 4 | Identity | 150 | 12.0 | 7.4 | 11.7 | 1.4 | 127 | 78.7% | 29.9 | 120 | 73.3% | 12.6 |
| 5 | Developer Experience | 150 | 11.2 | 6.6 | 14.6 | 1.2 | 128 | 100.0% | 79.9 | 132 | 97.0% | 15.6 |
| 6 | Mobile | 150 | 7.5 | 4.0 | 17.5 | 0.9 | 136 | 75.7% | 15.3 | 135 | 66.7% | 6.7 |
| Metric | 25th percentile | Median | 75th percentile |
|---|---|---|---|
| Collaboration hours | 10.4 | 12.9 | 16.3 |
| Meetings | 5.8 | 7.8 | 10.1 |
| Uninterrupted time | 9.1 | 12.0 | 14.8 |
| After-hours collaboration | 0.9 | 1.7 | 3.2 |
| Recorded tool-use group | Developers (count) | Share of 900 (%) |
|---|---|---|
| Both recorded | 536 | 59.6% |
| Not both eligible | 145 | 16.1% |
| Coverage unresolved | 85 | 9.4% |
| GitHub only recorded | 67 | 7.4% |
| M365 only recorded | 55 | 6.1% |
| Neither recorded | 12 | 1.3% |
Both, only and neither recorded refer to GitHub Copilot and M365 Copilot within this window. They say nothing about other AI tools. Developers who are not eligible for both products, or whose coverage is unresolved, stay in the working-conditions baseline. Page 4 separates product-specific denominators and use.
Manager next step. Use the team and role composition when discussing the distribution of working hours. Agree which coordination or tooling question needs investigation before setting a target. No performance judgement or individual action is supported by these data.
Synthetic demo · Provisional 10 May 2026 to 04 Jul 2026 · All 900 developers · 8 complete Person Query weeks each
Platform has the highest median meeting load at 12.4 hours/person/week. Mobile has the most uninterrupted time at 17.5 hours/person/week. These are calendar-derived associations, not evidence of coding time or delivery quality.
Available-to-focus hours: working hours remaining after meetings and scheduled Teams calls. Uninterrupted hours: blocks of at least one hour without meeting attendance, reading or sending email or Teams chat, joining Teams calls, posting or replying to channel messages, or visiting Teams channels.
Open 1-hour block: a count of calendar blocks without scheduled meetings during the workday. It does not check email or Teams activity and is distinct from uninterrupted hours. Open blocks are defined here for clarity but are not a headline measure.
| Team | Meeting characteristic | 25th percentile | Median | 75th percentile |
|---|---|---|---|---|
| Payments | Conflicting meetings | 1.5 | 1.8 | 2.1 |
| Platform | Conflicting meetings | 1.2 | 1.4 | 1.7 |
| Data Engineering | Conflicting meetings | 0.6 | 0.8 | 1.0 |
| Identity | Conflicting meetings | 0.6 | 0.7 | 0.8 |
| Developer Experience | Conflicting meetings | 0.4 | 0.6 | 0.7 |
| Mobile | Conflicting meetings | 0.2 | 0.3 | 0.4 |
| Platform | Recurring meetings | 6.9 | 8.0 | 8.9 |
| Payments | Recurring meetings | 4.2 | 5.2 | 6.2 |
| Data Engineering | Recurring meetings | 3.8 | 4.6 | 5.5 |
| Identity | Recurring meetings | 3.4 | 4.0 | 4.8 |
| Developer Experience | Recurring meetings | 2.6 | 3.4 | 4.2 |
| Mobile | Recurring meetings | 1.5 | 2.1 | 3.1 |
| Payments | Short-notice meetings | 1.8 | 2.2 | 2.6 |
| Platform | Short-notice meetings | 1.5 | 1.8 | 2.1 |
| Data Engineering | Short-notice meetings | 0.8 | 1.0 | 1.2 |
| Identity | Short-notice meetings | 0.7 | 1.0 | 1.2 |
| Developer Experience | Short-notice meetings | 0.6 | 0.8 | 1.0 |
| Mobile | Short-notice meetings | 0.3 | 0.4 | 0.6 |
Recurring meeting hours: meetings set to recur. Conflicting meeting hours: only the overlapping portion of calendar meetings. Short-notice meeting hours: meetings scheduled six hours or less before their start. These are separate, potentially overlapping characteristics, not components of an additive stack. Definitions are paraphrased from Microsoft Learn.
Manager next step. In the next team discussion, use these distributions to ask which meetings unblock work and which interrupt it. Combine the answer with feedback on review wait times and cognitive load before testing a calendar change. Fewer meetings are not inherently better.
Synthetic demo · Provisional 10 May 2026 to 04 Jul 2026 · All 900 developers · 8 observed weeks each
Payments has the highest median after-hours collaboration at 4.1 hours/person/week. The population median is 1.7 hours, and the upper quartile begins at 3.2 hours. These describe recorded collaboration outside scheduled hours, with no wellbeing outcome available.
After-hours collaboration, paraphrased from Microsoft Learn: time in meetings, email, Teams chats, calls and channels with at least one other person outside working hours, with overlapping activity deduplicated. It is not total work time. Flexible schedules, on-call duties and time zones may matter, but none is recorded here. Surveys about sustainable workload and the ability to disconnect are missing.
Configurable convention: 3 hours per week, with
persistence defined as at least 4 of the 8 observed weeks. Change
AFTER_HOURS_CONVENTION and PERSISTENCE_WEEKS
in the helper to explore sensitivity. These are illustrative discussion
rules, not validated thresholds for healthy work or burnout. A zero
means no recorded after-hours collaboration under the synthetic
contract.
Manager next step. Before drawing a workload conclusion, validate work-schedule settings and seek anonymous feedback on sustainability and disconnection. Use a repeated survey alongside this distribution if the team tests a change. Do not target individual developers from these aggregates.
Synthetic demo · Provisional 10 May 2026 to 04 Jul 2026 · Same 900-developer roster · Product-specific eligibility and coverage
670 developers are eligible for both products and have complete coverage for all eight weeks. Developer Experience leads GitHub Copilot recorded-active share, while Data Engineering leads M365 Copilot recorded-active share. The other 230 developers remain visible as eligibility or coverage exceptions.
Use categories: at least one observed positive activity day in the window constitutes recorded use. All four categories require eligibility and complete coverage for both products throughout the baseline. Not both eligible takes precedence when either licence is absent. Coverage unresolved means both are eligible but one or more weeks lack confirmed coverage. Missing activity becomes zero only where the reference confirms eligibility and complete coverage.
| Tool-use status | Developers (count) | Share of roster (%) |
|---|---|---|
| Both recorded | 536 | 59.6% |
| GitHub only recorded | 67 | 7.4% |
| M365 only recorded | 55 | 6.1% |
| Neither recorded | 12 | 1.3% |
| Not both eligible | 145 | 16.1% |
| Coverage unresolved | 85 | 9.4% |
| Product | Not eligible (count) | Eligible, incomplete (count) | Eligible, complete (count) |
|---|---|---|---|
| GitHub Copilot | 62 | 44 | 794 |
| M365 Copilot | 88 | 52 | 760 |
| Product measure | GitHub Copilot | M365 Copilot |
|---|---|---|
| Valid developers (count) | 794 | 760 |
| Recorded active (count) | 708 | 670 |
| Recorded active (%) | 89.2% | 88.2% |
| Active days / developer / week (mean) | 2.2 | 2.0 |
| Intensity / developer / week (mean) | 38.3 | 17.2 |
| Intensity unit | Suggestions | Illustrative actions |
| Top 10% active share (%) | 34.6% | 35.3% |
| Top group (count) | 71 | 67 |
The concentration row is the share of GitHub suggestions or M365 illustrative actions attributable to the highest-volume 10% of active developers for that product. The number of people is rounded up and shown. Identities and individual rankings are never displayed. These populations differ, so this is not a comparison of product effectiveness.
| Product | Feature | Measure | Denominator |
|---|---|---|---|
| GitHub Copilot | User-initiated chat | 9.5 requests / developer / week | 794 valid developers |
| GitHub Copilot | Completion acceptance | 53.1% | 243.1K suggestions |
| GitHub Copilot | Completion suggestions | 38.3 suggestions / developer / week | 794 valid developers |
| GitHub Copilot | Agent use | 0.7 days / developer / week | 794 valid developers |
| M365 Copilot | Drafting | 45.2% | 104.7K illustrative M365 actions |
| M365 Copilot | Meeting assistance | 30.0% | 104.7K illustrative M365 actions |
| M365 Copilot | Search and summarisation | 24.8% | 104.7K illustrative M365 actions |
Completion acceptance records suggestions accepted, alongside the suggestion denominator. It does not establish correctness, productivity or time saved. M365 actions are mutually exclusive illustrative feature counts in this demo’s extended schema, not credits, tokens or a verified real-export metric. GitHub suggestions, chats and agent days stay separate. They are never added to M365 actions. Agent or model choice is not a maturity measure.
Manager next step. Resolve licence and coverage exceptions before discussing non-use. Ask developers which tasks each product supports, using the feature table to guide the conversation. Any enablement test should track developer feedback and quality outcomes as well as product-specific use.
Synthetic demo · Provisional 10 May 2026 to 04 Jul 2026 · 670 both-eligible, fully observed developers · Same eight-week baseline
The comparison includes 670 developers with common eligibility and complete observation for both products. The group with the highest median collaboration hours is Both recorded. Groups are descriptive categories based on recorded use in this same window, with no treatment assignment or causal estimate.
Common comparison population: eligible for both products and observed for all eight weeks in both feeds and the Person Query. This matches the eligibility and coverage rules, not people statistically. The 145 not-both-eligible and 85 unresolved developers remain in the 900-person baseline but do not become non-users in this comparison. Group membership uses the same window as working conditions, so temporal direction cannot be established.
| Group | Metric | Developers (count) | 25th percentile | Median | 75th percentile |
|---|---|---|---|---|---|
| Both recorded | After-hours collaboration | 536 | 0.9 | 1.7 | 3.2 |
| GitHub only recorded | After-hours collaboration | 67 | 0.7 | 1.6 | 2.8 |
| M365 only recorded | After-hours collaboration | 55 | 0.8 | 1.5 | 3.1 |
| Neither recorded | After-hours collaboration | 12 | 0.8 | 1.4 | 2.7 |
| Both recorded | Collaboration hours | 536 | 10.9 | 13.3 | 16.8 |
| M365 only recorded | Collaboration hours | 55 | 8.5 | 11.8 | 15.2 |
| GitHub only recorded | Collaboration hours | 67 | 7.3 | 9.7 | 12.5 |
| Neither recorded | Collaboration hours | 12 | 7.5 | 8.8 | 14.0 |
| Both recorded | Meetings | 536 | 6.0 | 8.0 | 10.6 |
| M365 only recorded | Meetings | 55 | 4.8 | 7.0 | 8.5 |
| GitHub only recorded | Meetings | 67 | 3.9 | 5.8 | 7.8 |
| Neither recorded | Meetings | 12 | 3.8 | 4.8 | 9.9 |
| Neither recorded | Uninterrupted time | 12 | 9.9 | 15.4 | 17.8 |
| GitHub only recorded | Uninterrupted time | 67 | 11.6 | 14.3 | 17.3 |
| M365 only recorded | Uninterrupted time | 55 | 10.5 | 12.8 | 15.7 |
| Both recorded | Uninterrupted time | 536 | 8.5 | 11.7 | 14.5 |
| Group | Category | Developers (count) | Share (%) |
|---|---|---|---|
| Both recorded | Application engineering | 242 | 45.1% |
| Both recorded | Engineering management | 120 | 22.4% |
| Both recorded | Infrastructure engineering | 174 | 32.5% |
| GitHub only recorded | Application engineering | 34 | 50.7% |
| GitHub only recorded | Engineering management | 12 | 17.9% |
| GitHub only recorded | Infrastructure engineering | 21 | 31.3% |
| Group | Category | Developers (count) | Share (%) |
|---|---|---|---|
| Both recorded | Data Engineering | 109 | 20.3% |
| Both recorded | Developer Experience | 110 | 20.5% |
| Both recorded | Identity | 59 | 11.0% |
| Both recorded | Mobile | 62 | 11.6% |
| Both recorded | Payments | 89 | 16.6% |
| Both recorded | Platform | 107 | 20.0% |
Privacy note. Role breakdowns are withheld for M365 only recorded, Neither recorded. Team breakdowns are withheld for GitHub only recorded, M365 only recorded, Neither recorded. Each withheld breakdown contains at least one cell below 10 distinct people.
Interpretation. Team, role, seniority, task selection and tenure can influence working patterns and tool use. These charts are intentionally limited to selected agreed measures. No broad metric scan, adjustment model, causal claim or preferred tool-use group is presented. The simulation applies separate product propensities with planted team signatures and does not assume that dual users have better outcomes.
Manager next step. Discuss a specific workflow with the team before selecting an intervention. Define the intended feedback-loop, cognitive-load or flow improvement, then choose a direct measure for it. Recorded AI use alone cannot demonstrate that improvement.
Synthetic demo · Provisional History: 04 Jan 2026 to 04 Jul 2026 · 26 complete weeks · Baseline pages use only 10 May 2026 to 04 Jul 2026
All 900 developers have Person Query coverage in every week. Across the 26 weeks, the median collaboration-hours line ranges from 12.6 to 14.2 hours/person/week. Product-use rates use separate eligible, adequately observed denominators in each week, so denominator movement is shown rather than hidden.
| Week beginning (UTC) | PQ developers (count) | GH valid (count) | GH active (count) | GH active (%) | M365 valid (count) | M365 active (count) | M365 active (%) | Both valid (count) |
|---|---|---|---|---|---|---|---|---|
| 2026-01-04 | 900 | 810 | 610 | 75.3% | 779 | 563 | 72.3% | 701 |
| 2026-01-11 | 900 | 811 | 616 | 76.0% | 778 | 554 | 71.2% | 701 |
| 2026-01-18 | 900 | 807 | 620 | 76.8% | 777 | 555 | 71.4% | 697 |
| 2026-01-25 | 900 | 810 | 606 | 74.8% | 777 | 554 | 71.3% | 699 |
| 2026-02-01 | 900 | 809 | 609 | 75.3% | 778 | 564 | 72.5% | 699 |
| 2026-02-08 | 900 | 809 | 608 | 75.2% | 778 | 565 | 72.6% | 699 |
| 2026-02-15 | 900 | 809 | 610 | 75.4% | 779 | 562 | 72.1% | 701 |
| 2026-02-22 | 900 | 809 | 613 | 75.8% | 777 | 569 | 73.2% | 700 |
| 2026-03-01 | 900 | 809 | 605 | 74.8% | 779 | 550 | 70.6% | 701 |
| 2026-03-08 | 900 | 808 | 601 | 74.4% | 778 | 567 | 72.9% | 698 |
| 2026-03-15 | 900 | 806 | 600 | 74.4% | 778 | 567 | 72.9% | 696 |
| 2026-03-22 | 900 | 810 | 607 | 74.9% | 777 | 560 | 72.1% | 700 |
| 2026-03-29 | 900 | 807 | 617 | 76.5% | 779 | 554 | 71.1% | 698 |
| 2026-04-05 | 900 | 809 | 610 | 75.4% | 779 | 566 | 72.7% | 701 |
| 2026-04-12 | 900 | 810 | 629 | 77.7% | 779 | 560 | 71.9% | 702 |
| 2026-04-19 | 900 | 807 | 615 | 76.2% | 776 | 555 | 71.5% | 697 |
| 2026-04-26 | 900 | 807 | 619 | 76.7% | 777 | 561 | 72.2% | 697 |
| 2026-05-03 | 900 | 808 | 613 | 75.9% | 778 | 558 | 71.7% | 699 |
| 2026-05-10 | 900 | 806 | 613 | 76.1% | 778 | 563 | 72.4% | 696 |
| 2026-05-17 | 900 | 810 | 612 | 75.6% | 779 | 557 | 71.5% | 701 |
| 2026-05-24 | 900 | 810 | 606 | 74.8% | 777 | 569 | 73.2% | 700 |
| 2026-05-31 | 900 | 809 | 604 | 74.7% | 777 | 565 | 72.7% | 699 |
| 2026-06-07 | 900 | 810 | 616 | 76.0% | 777 | 573 | 73.7% | 701 |
| 2026-06-14 | 900 | 809 | 612 | 75.6% | 776 | 563 | 72.6% | 697 |
| 2026-06-21 | 900 | 808 | 620 | 76.7% | 777 | 552 | 71.0% | 697 |
| 2026-06-28 | 900 | 809 | 610 | 75.4% | 779 | 565 | 72.5% | 700 |
Consider satisfaction and wellbeing, performance, activity, communication and collaboration, and efficiency and flow together. This report contributes activity and working-condition signals. It cannot establish overall productivity or wellbeing.
Combine developer feedback with system measures. Add perceived review delays, cognitive load and ability to focus alongside measured build and review waits. Calendar-derived uninterrupted time cannot establish a psychological flow state.
Pair speed and delivery quality for one application or service. Add change lead time, deployment frequency, failed deployment recovery time, change fail rate and deployment rework rate. None is available in the current sources.
Decision supported now. Select a workflow question and close its measurement gaps. An intervention effect, productivity gain or wellbeing conclusion requires additional evidence. No operational action is justified by synthetic values.
Synthetic demo · Provisional
Scope and units. Pages 1 to 5 use the last eight complete weeks, 10 May 2026 to 04 Jul 2026. The full source window is 04 Jan 2026 to 04 Jul 2026, with Sunday-start weeks. Dates are ISO dates interpreted using a UTC convention. This is an illustrative date contract, not evidence about developers’ time zones. The generator assumes a 40-hour scheduled week for calendar availability. It does not simulate actual calendars or work schedules.
Aggregation. Working-condition values are weekly Person Query metrics. Baseline charts first average each person’s eight weekly values and then compute group percentiles. Each developer has equal weight. Weekly trends instead take the cross-sectional median each week. Product-active rates divide active eligible, covered developers by all eligible, covered developers for that product and window. Baseline product tables require all eight weeks. Joint comparisons require both products throughout the window.
Source definitions. Metric descriptions on pages 2
and 3 are paraphrased from the Microsoft
Viva Insights metrics reference, checked on 10 September 2026. The
extended field names and synthetic generation are local demonstration
contracts. They are not a claim that a real flexible query exports this
exact schema. Scheduled_call_hours is an illustrative
construction field. Open_1_hour_block is a calendar count,
while uninterrupted time incorporates email and Teams activity.
Collaboration hours are included as a Viva Insights-style metric and
contain meeting hours and scheduled-call hours by definition.
| Relative file under _data/github | Grain | Contract |
|---|---|---|
| reference/people-snapshot.csv | Person | 1,080 people, 900 developers. Synthetic identifiers, team, role, seniority, tenure, product eligibility. |
| reference/coverage-weekly.csv | Person × week | 28,080 rows. Independent product eligibility and completeness flags, 0 or 7 covered days. PQ eligible and complete for all. |
| person-query/person-query-weekly.csv | Person × week | 28,080 rows. Weekly collaboration, meeting, call, availability, focus, after-hours and open-block metrics, no survey or delivery outcome fields. |
| github-query/activity-daily.csv | Person × active day | Sparse positive days. Suggestions, accepted suggestions, chat requests and agent-use indicator. Active days counted once. |
| m365-query/activity-daily.csv | Person × active day | Sparse positive days. Mutually exclusive illustrative drafting, meeting-assistance, search/summarisation actions and their total. |
| github-query/model-mix.csv | Person × illustrative model, full window | Secondary synthetic suggestion allocation, only people with suggestions. Shares total 1 per person. Not a maturity measure. |
| github-query/language-mix.csv | Person × language, full window | Secondary synthetic suggestion allocation, only people with suggestions. Shares total 1 per person. Not used as an outcome. |
Joins and missingness. The roster anchors the
population. The coverage reference anchors the weekly panel. Daily feeds
aggregate to unique person-week keys before left joins. One-to-one and
many-to-one join assertions prevent row amplification. A missing
activity day becomes zero only within an eligible, fully covered
product-week. An incomplete or ineligible week remains NA,
and any such week excludes the person from that product’s eight-week
summary. Even a partially observed positive record would not prove
complete observation. Zero-filling in a real tenant requires an
independently verified source-completeness contract.
Zero, missing and not applicable. 0 is
an observed or justified zero. NA is unresolved measurement
and is never silently replaced outside valid coverage. Ineligible people
are labelled as eligibility exceptions rather than as non-users. An
undefined ratio would be shown as N/A, not as zero. The
synthetic completeness reference is reliable by construction. Production
licences, eligibility dates, time zones and ingestion completeness must
be independently validated.
Privacy floor. At least 10 distinct people are
required for a published group. Percentile visuals use
vivainsights::create_boxplot(..., mingroup = 10, return = "table").
Composition breakdowns with any cell below 10 are withheld in full for
that parent group, preventing subtraction from the parent total. No
individual points, identifiers or individual leaderboards appear in the
HTML. Source CSV identifiers are artificial and exist only to
demonstrate joins. They must never be replaced with identifiable
customer exports in a shareable repository.
Simulation. Seed 20260910 generates a shared roster, 26 Person Query weeks, separate sparse daily activity feeds and weekly eligibility/coverage references. Product-use propensities are generated separately for each product after applying the team signatures below. Working hours depend on simulated person-level variation, role/seniority context and the same team signatures. There is no planted intervention, time effect or dual-user advantage. Cross-sectional team differences are planted for illustration and carry no real-world meaning. M365 feature counts are explicit illustrative extensions, not consumption credits or tokens. Model and language files allocate synthetic suggestions for secondary exploration only. No PR, delivery, survey or wellbeing outcomes are fabricated.
| Team | Planted illustrative characteristics |
|---|---|
| Data Engineering | Highest M365 Copilot recorded-active share and intensity, with mid-range working-condition metrics. |
| Developer Experience | Highest GitHub Copilot recorded-active share and intensity, with healthy uninterrupted time. |
| Identity | Population-median reference profile across workload, focus and recorded AI use. |
| Mobile | Focus-rich. Lowest meeting and collaboration hours, highest uninterrupted time and lowest recorded AI adoption. |
| Payments | Highest after-hours collaboration, conflicting meetings and short-notice meeting hours. |
| Platform | Coordination-heavy. Highest meeting and collaboration hours, lowest uninterrupted time. |
Synthetic effect contract. Automated checks require Platform to lead meeting and collaboration hours, Payments to lead after-hours collaboration, Developer Experience to lead GitHub Copilot recorded-active share and intensity, Data Engineering to lead M365 Copilot recorded-active share and intensity, and Mobile to lead uninterrupted time while sitting lowest on meeting hours, collaboration hours and recorded AI adoption.
Rerun. Knit the canonical Rmd, or run
Rscript render-github-developer-experience.R from this
folder. The Rmd sources
github-developer-experience-helpers.R, which generates and
validates the CSVs before rendering. Set RSTUDIO_PANDOC to
a local Pandoc folder if needed. All CSVs are regenerated from the seed.
The HTML embeds its charts, styles and scripts. Reference links need a
connection only when followed. The consumption report and its data are
not read or modified.
Formatting. Locale is en-US with British prose. Percentages use one decimal place. Counts use thousands separators, but identifiers never do. Plots label stacked segments of at least 6%, with exact counts and percentages in adjacent tables or expandable details. Rounded shares may not total exactly 100.0%. Neutral colours identify categories, not good or bad performance. On narrow screens, wide charts and tables scroll within their cards. Use a desktop for presentation, or browser zoom for smaller text. Charts are display-ready aggregates, not a certification of the underlying metrics.
| Check | Result |
|---|---|
| Roster developers | 900 |
| Teams | 6 |
| Person Query developer-weeks | 23,400 |
| Baseline developer-weeks | 7,200 |
| Collaboration-hours contract | Collaboration hours are at least meeting plus scheduled-call hours |
| Planted team signatures | Passed |
| Source keys and joins | Unique keys, no row amplification |
| Non-negative metrics and acceptance bounds | Passed |
| Joint reconciliation | 900 = 670 + 230 |
| Privacy floor | At least 10 distinct people in every published group |
| Component | Version |
|---|---|
| R | 4.6.1 |
| dplyr | 1.2.1 |
| tidyr | 1.3.2 |
| ggplot2 | 4.0.3 |
| vivainsights | 0.7.2 |
| rmarkdown | 2.31 |
| flexdashboard | 0.6.3 |
The vivainsights function index was checked before implementation. The package’s person-averaged boxplot summary fits the percentile calculations. Custom joint coverage aggregation is necessary because single-product usage segments do not establish comparable observation for two products. Custom plot layouts keep units, periods and denominator captions visible.
| Framework | What this report can contribute | Evidence still needed |
|---|---|---|
| SPACE | Activity, collaboration and calendar-derived working conditions across multiple dimensions | Satisfaction and wellbeing surveys, performance outcomes, direct evidence of efficiency and flow |
| DevEx | Context for feedback loops, cognitive load and flow discussions | Anonymous developer feedback, build/test waits, review waits, task context and perceived ability to focus |
| DORA | A framework for evaluating delivery change, without an outcome claim | Service boundaries, production deployments, change lead times, recovery events, failed changes and deployment rework |
Source-access limitation. The ACM pages returned HTTP 403 during this rebuild. The citations and framework summaries above are retained, but a fresh full-text review could not be completed. Microsoft Learn, DORA and the package function reference were accessible.
Next step. The manager, analyst and delivery owner should agree the workflow question, data owners, evaluation window and success measures before any real-data pilot. This synthetic report requires no operational response.