Meta — Engineering Performance
Avg. perf / dev / mo (ETV)
−4.8%
1.07 → 1.02
Active contributors
−13.3%
240.0 → 208.0
Growth
−2.8pp
34.2% → 31.4%
Fixes
−0.9pp
14.8% → 13.9%
Meta vs. 500 OSS Performance Index
Per-engineer ETV for Meta plotted against the pooled 500 OSS Performance Index. Both series are 90-day trailing rolling averages scaled to a 30-day month, so the curves sit on the same scale (ETV / dev / mo) and can be compared point-for-point. Latest reading: Meta is 48% below the index (1.01 vs 1.97 ETV/dev/mo). Baseline gap was 14% below.
Monthly reports
Highlights
- Introduced significant enhancements to *React DevTools* capabilities, including DOM element and host instance component lookup ([commit/2c8b3751], [e2731312 · Ruslan Lesiutin]) and a new `chrome-devtools-mcp` integration package ([d0d623d4 · Ruslan Lesiutin]).
- Improved *Buck2* build system observability and performance with new per-*DICE*-key-type page-in telemetry ([2fdabdc4 · Chenhao Zuo]), an `error` field in `AnalysisEnd` events ([2c0f8959 · Scott Cao]), and static test listing infrastructure for `go_test` rules ([38d43495 · Michael Podtserkovskii]).
- Enhanced *Next.js* error reporting for empty `generateStaticParams` with a proper redbox in development ([814135a8 · Hendrik Liebau]) and added support for stable *Cache Components* decoupled from experimental flags ([e05ed3c1 · Sebastian "Sebbie" Silbermann]).
- Expanded *genrule* functionality to automatically use content-based paths for C/C++ header outputs, improving build caching and reproducibility ([9e751d96 · Ian Childs], [d781a267 · Ian Childs]).
- Added critical *Image component* smoke-test examples and *Maestro* flows to `RNTester`, significantly boosting test coverage for complex rendering behaviors ([05577d42 · Peter Abbondanzo]).
- Improved *C++ toolchain* cross-platform compatibility by correctly propagating `linker_type` in `system_cxx_toolchain` ([cb3af70c · Nehliin]).
Observations
- The *Grow score* for June 2026 was 12, representing a 24% decrease compared to the 5-month average of 16, indicating a reduced focus on new feature development.
- The *Maintenance score* increased to 24, a 23% rise from the 5-month average of 19, reflecting a period with increased effort on sustaining and improving existing systems.
- The *Waste score* of 6 showed a 27% increase compared to the 5-month average of 5, suggesting more rework or bug fixes were required during this period.
- Commit volume decreased by 21% (298 commits vs 376-commit 5-month average), aligning with the observed shift from new feature development to maintenance and fixes.
- A significant portion of activity focused on *CI/CD* and *testing infrastructure* stability, including fixes for flaky tests ([a1e99f88 · Chenhao Zuo], [d0abfdb9 · Hendrik Liebau], [07e99477 · Hendrik Liebau], [5479de18 · Scott Cao], [324198b8 · Peter Abbondanzo]), toolchain upgrades ([cdaafc5b · Chenhao Zuo], [671fcf65 · Joshua Selbo], [0e8112ee · David Tolnay]), and CI performance optimizations ([287c04cf · Sebastian "Sebbie" Silbermann]).
- Several commits categorized as 'waste' were critical bug fixes, such as resolving *Android text clipping* with bold text settings ([d8330149 · Andrew Ghostuhin]) and ensuring *React Compiler* builds use the correct compiler version ([3a620bb7 · Sebastian "Sebbie" Silbermann]), highlighting areas that required immediate corrective action.
- Extensive refactoring efforts were observed across various components, including the *Showcase application* initialization ([43677414 · Alexander Oprisnik]), *Buck2 daemon client* connection plumbing ([f2951b9d · Jeremy Braun]), and migrating *Rust `once_cell`* usages to standard library equivalents ([90403972 · David Tolnay]), aimed at improving modularity and reducing external dependencies.
Repositories
Active repositories ranked by average performance per developer per month (over the last 90 days). The chart shows monthly performance composition — each repo as a stacked layer, with the top of the stack representing total org performance per month. Top 9 repos shown; the remainder is aggregated as “Other”.
| Repository | ||||
|---|---|---|---|---|
| pyrefly | 22 | 108 | 1.6 | +71%since Q2 2025 |
| fbthrift | 42 | 188 | 1.5 | +84%since Q2 2025 |
| docusaurus | 1 | 4 | 1.2 | −40%since Q2 2025 |
| fboss | 61 | 143 | 0.8 | +65%since Q2 2025 |
| react-native | 31 | 71 | 0.8 | −40%since Q2 2025 |
| buck2 | 60 | 90 | 0.5 | +50%since Q2 2025 |
| react | 12 | 15 | 0.4 | −48%since Q2 2025 |
| fresco | 5 | 3 | 0.2 | +61%since Q2 2025 |
| folly | 24 | 10 | 0.1 | +134%since Q2 2025 |
| hermes | 6 | 1 | 0.1 | −32%since Q2 2025 |
Company total10 repositories | 208unique devs | 634ETV total | 1.02ETV / dev / mo | +31%since Q2 2025 |
| Performance (ETV) is the sum of every repository above. Active devs at the company level counts unique contributors across all repos, so a contributor working in multiple repos is counted once here but appears in each repo's row (the per-repo column will sum higher). ETV / dev / mo = Company ETV ÷ unique devs ÷ 3 mo. The "Since start" column compares each repo's Q1 2026 quarterly performance to the first quarter it had any activity — for repos that existed in Q2 2025 (when this index began), that's Q2 2025; for younger repos it's the quarter they actually started. The company row uses Q2 2025 as the baseline since the index itself began then. | ||||
Performance Growth vs Active Contributors
Shows how engineering performance scales relative to team growth. Left axis shows total performance score, right axis shows active contributor count. The gap between curves represents productivity gains — more delivered per person, not just more people. Unit: Engineering Throughput Value (ETV).
Cost per Performance Unit
−25%
If performance per engineer grew 34%, each unit of engineering performance now costs approximately 25% less than at the baseline 90-day window (ending 2025-06-29). This is a directional estimate — the exact figure depends on fully-loaded engineer cost, but the direction is unambiguous.
Effective Capacity Added
+70 engineers
At today's productivity, the current 208-person team delivers the performance equivalent of 278 engineers at the baseline 90-day rolling window (ending 2025-06-29). That's roughly 70 engineers worth of capacity added through productivity gains, not hiring.
Performance Composition
Stacked bars show total complexity performance split into Growth (new value), Maintenance (sustaining systems), and Fixes (rework). The yellow line overlays performance per contributor — rising line means each engineer is delivering more, regardless of team size changes. Unit: Engineering Throughput Value (ETV).
CapEx vs OpEx
Monthly CapEx vs OpEx split. CapEx (capitalizable investment) is Growth — new features and capabilities. OpEx (operating expense) is Maintenance plus Fixes — keeping the lights on and reworking what's already shipped. The yellow line is the CapEx share, a quick read on how much of the month went into building new vs sustaining existing. Unit: Engineering Throughput Value (ETV).
Hours per Repository
Trailing 90-day window (64 working days). Org-level capacity is allocated to each repo by its share of org performance, then split CapEx / OpEx by that repo's own Growth vs Maintenance + Fixes mix.
| hermes | 83.2% | 16.8% |
| fresco | 48.7% | 51.3% |
| buck2 | 43.3% | 56.7% |
| pyrefly | 30.8% | 69.3% |
| fbthrift | 29.9% | 70.1% |
| fboss | 29.5% | 70.5% |
| react-native | 28.8% | 71.2% |
| react | 23.6% | 76.4% |
| folly | 13.5% | 86.5% |
| docusaurus | 7.5% | 92.5% |
| Total | 31.4% | 68.6% |
Fix Burden Distribution
Monthly rework volume broken down by who did it. Top contributors carry their named slice; everyone else is rolled into Others. Use this to spot whether fix work is concentrated on a small group (bus-factor risk) or distributed across the team.
Quarterly Summary
The raw numbers behind the charts: commits analyzed, active contributors, total performance, performance per developer, and the Growth / Maintenance / Fixes split for each quarter.
| Quarter | ||||||||
|---|---|---|---|---|---|---|---|---|
| Q2'25 | 8,653 | 238 | 544.57 | 0.8 | 35% | 52.4% | 12.5% | — |
| Q3'25 | 8,620 | 245 | 545.85 | 0.7 | 34.8% | 52.9% | 12.2% | 0% |
| Q4'25 | 7,265 | 244 | 484.7 | 0.7 | 35.9% | 49% | 15.1% | −11% |
| Q1'26 | 8,177 | 243 | 715.86 | 1 | 33.7% | 51.4% | 14.9% | +48% |
Top Contributors
Contributors ranked by performance per month (Growth + Maintenance + Fixes), over the last 90 days normalized to a 30-day calendar month.
The best way to measure AI efficiency
SampleA preview of the Navigara engine running on a sample organization. The numbers below are illustrative, not part of the OSS500 benchmark above.
Measure
Score every commit by depth
GitHub commits are weighted by what it took to write them, not by lines of code. The result is ETV per developer per month.
SourceGitHub
Spend
Tie ETV to cost
AI token bills and seat costs are pulled per team and divided by the ETV produced. The result is your true cost per unit of work.
SourceToken usage + finance
Map
Tie work to objectives
Each ETV is mapped to your Jira epics and labels, so you can see what's key-aligned, aligned, or unmapped capacity.
SourceJira
Performance
ETV delivered per developer / month
9.4ETV / dev / month
5.6 below target- Non-AI 5.8
- AI 3.6
AI Efficiency
AI spend per ETV unit delivered
$4.20
$0.60 over target- Cost / ETV $4.20
Objective Alignment
Share of work mapped to key objectives
51%
24 pts below target- Key-aligned 28%
- Aligned 23%