You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Home Project: The DeFi project a builder is primarily associated with, based on their most active repository contributions.
1341
-
- Feeder Projects: Projects where a builder contributed or starred repositories before onboarding to their home DeFi project.
1342
-
- Builder Classifications:
1343
-
- Qualifying Builder: A builder with 12+ months of sustained contribution to a top DeFi project's home repositories.
1344
-
- Monthly Active Builders (MABs): Count of unique qualified builders with at least one contribution event in a given month.
1345
-
- Newcomer: A qualified builder with fewer than 6 months of observable open-source activity before onboarding to their home project (came in cold).
1346
-
- Cohort Retention: The percentage of builders from a given onboarding cohort (year) who remain active on their home project at each subsequent time interval.
1347
-
- Lifecycle:
1348
-
- Onboarding: A builder's first month of activity on their home project.
1349
-
- Offboarding: A builder is considered offboarded if they have been inactive on their home project for 6+ consecutive months.
1350
-
- Still Active: A builder who has contributed to their home project within the most recent 6 months of data.
1351
-
- Flows:
1352
-
- Net Flow: The year-over-year difference between builders entering and exiting an ecosystem. Positive means net talent gain.
1353
-
- Cross-Ecosystem Flow (Ethereum <-> Other Crypto): The horizontal bar in the Net Flows section counts unique builders who moved between Ethereum and other crypto ecosystems over the full time period. This uses a different method from the annual inflow/outflow bars, which count year-over-year flows by source/destination category; the two methods do not sum to each other.
1354
-
- Year-over-Year Flows: The annual bar chart breaks down builder inflows (entering) and outflows (leaving) by partner category (Other Crypto, Non-Crypto OSS, Inactive). The net flow line shows the cumulative balance; these year-over-year counts sum to the total net flow shown in the stat cards.
1355
-
"""),
1356
-
"Assumptions & Limitations": mo.md("""
1357
-
- TVL as inclusion criterion: We use TVL to identify economically meaningful protocols, which excludes low-stakes forks and testnet-only experiments; this analysis focuses on capital-securing DeFi.
1358
-
- Excluded protocols: Some high-TVL protocols have minimal observable OSS activity, so they may appear in tables but contribute little to flow analysis.
1359
-
- Private repositories: Activity in private repos is not visible to GitHub Archive, so teams that develop behind closed doors (or move to private repos after open-source phases) may appear to go inactive; this is one of the most consequential limitations.
1360
-
- Post-hire behavior: Some builders are hired by crypto firms and stop public contributions, so the inactive count may be inflated; we cannot distinguish left crypto from went private.
1361
-
- Bot and noise filtering: We exclude known bots, but some automated contributions may still slip through.
1362
-
- Identity resolution: OpenDevData maps multiple accounts to canonical IDs, but imperfect mapping may double-count some builders.
1363
-
- Scope: This is a structured analysis of visible OSS builder flows across economically significant DeFi protocols, not a census of all crypto builders or proprietary development.
1364
-
"""),
1365
-
"Data Sources": mo.md("""
1366
-
- [DefiLlama](https://defillama.com/) --- Top DeFi protocols by TVL (40 selected)
1367
-
- [OSS Directory](https://github.com/opensource-observer/oss-directory) --- Protocol to GitHub mapping
- Home Project: The DeFi project a builder is primarily associated with, based on their most active repository contributions.
1427
+
- Feeder Projects: Projects where a builder contributed or starred repositories before onboarding to their home DeFi project.
1428
+
- Builder Classifications:
1429
+
- Qualifying Builder: A builder with 12+ months of sustained contribution to a top DeFi project's home repositories.
1430
+
- Monthly Active Builders (MABs): Count of unique qualified builders with at least one contribution event in a given month.
1431
+
- Newcomer: A qualified builder with fewer than 6 months of observable open-source activity before onboarding to their home project (came in cold).
1432
+
- Cohort Retention: The percentage of builders from a given onboarding cohort (year) who remain active on their home project at each subsequent time interval.
1433
+
- Lifecycle:
1434
+
- Onboarding: A builder's first month of activity on their home project.
1435
+
- Offboarding: A builder is considered offboarded if they have been inactive on their home project for 6+ consecutive months.
1436
+
- Still Active: A builder who has contributed to their home project within the most recent 6 months of data.
1437
+
- Flows:
1438
+
- Net Flow: The year-over-year difference between builders entering and exiting an ecosystem. Positive means net talent gain.
1439
+
- Cross-Ecosystem Flow (Ethereum <-> Other Crypto): The horizontal bar in the Net Flows section counts unique builders who moved between Ethereum and other crypto ecosystems over the full time period. This uses a different method from the annual inflow/outflow bars, which count year-over-year flows by source/destination category; the two methods do not sum to each other.
1440
+
- Year-over-Year Flows: The annual bar chart breaks down builder inflows (entering) and outflows (leaving) by partner category (Other Crypto, Non-Crypto OSS, Inactive). The net flow line shows the cumulative balance; these year-over-year counts sum to the total net flow shown in the stat cards.
1441
+
"""),
1442
+
"Assumptions & Limitations": mo.md("""
1443
+
- TVL as inclusion criterion: We use TVL to identify economically meaningful protocols, which excludes low-stakes forks and testnet-only experiments; this analysis focuses on capital-securing DeFi.
1444
+
- Excluded protocols: Some high-TVL protocols have minimal observable OSS activity, so they may appear in tables but contribute little to flow analysis.
1445
+
- Private repositories: Activity in private repos is not visible to GitHub Archive, so teams that develop behind closed doors (or move to private repos after open-source phases) may appear to go inactive; this is one of the most consequential limitations.
1446
+
- Post-hire behavior: Some builders are hired by crypto firms and stop public contributions, so the inactive count may be inflated; we cannot distinguish left crypto from went private.
1447
+
- Bot and noise filtering: We exclude known bots, but some automated contributions may still slip through.
1448
+
- Identity resolution: OpenDevData maps multiple accounts to canonical IDs, but imperfect mapping may double-count some builders.
1449
+
- Scope: This is a structured analysis of visible OSS builder flows across economically significant DeFi protocols, not a census of all crypto builders or proprietary development.
1450
+
"""),
1451
+
"Data Sources": mo.md("""
1452
+
- [DefiLlama](https://defillama.com/) --- Top DeFi protocols by TVL (40 selected)
1453
+
- [OSS Directory](https://github.com/opensource-observer/oss-directory) --- Protocol to GitHub mapping
- **Commit-only activity measure**: Developer activity is based on commits only — pull requests, code reviews, and issue comments are not counted
24
-
- **Public repos only**: Private repositories are excluded from the dataset
25
-
- **Identity resolution**: Developer identities are resolved across forges using Electric Capital's methodology, but some cross-account connections may be missed
26
-
- **Ecosystem classification**: Ecosystem assignments follow the Electric Capital taxonomy; projects may belong to multiple ecosystems
27
-
"""),
28
-
"Data Sources": mo.md("""
29
-
- **Open Dev Data** — Electric Capital's developer activity dataset, [github.com/electric-capital/crypto-ecosystems](https://github.com/electric-capital/crypto-ecosystems)
30
-
- **OSO API** — Data pipeline and metrics, [docs.oso.xyz](https://docs.oso.xyz/)
- **Commit-only activity measure**: Developer activity is based on commits only — pull requests, code reviews, and issue comments are not counted
1627
+
- **Public repos only**: Private repositories are excluded from the dataset
1628
+
- **Identity resolution**: Developer identities are resolved across forges using Electric Capital's methodology, but some cross-account connections may be missed
1629
+
- **Ecosystem classification**: Ecosystem assignments follow the Electric Capital taxonomy; projects may belong to multiple ecosystems
1630
+
"""),
1631
+
"Data Sources": mo.md("""
1632
+
- **Open Dev Data** — Electric Capital's developer activity dataset, [github.com/electric-capital/crypto-ecosystems](https://github.com/electric-capital/crypto-ecosystems)
1633
+
- **OSO API** — Data pipeline and metrics, [docs.oso.xyz](https://docs.oso.xyz/)
Copy file name to clipboardExpand all lines: notebooks/insights/developer-retention.py
+31-31Lines changed: 31 additions & 31 deletions
Original file line number
Diff line number
Diff line change
@@ -12,37 +12,6 @@ def header_title(mo):
12
12
13
13
14
14
15
-
@app.cell(hide_code=True)
16
-
defheader_accordion(mo):
17
-
mo.accordion({
18
-
"Metrics & Definitions": mo.md("""
19
-
**Definitions**
20
-
21
-
- **Cohort**: Developers grouped by the year of their first contribution to the ecosystem
22
-
- **Retention Rate**: Percentage of the original cohort that remains active in subsequent periods
23
-
- **Years Since Join**: Time elapsed since first contribution (Year 0 = joined year, always 100%)
24
-
25
-
**Methodology**
26
-
27
-
1. **Cohort Assignment**: Each developer is assigned to a cohort based on their first contribution date
28
-
2. **Activity Tracking**: We track whether the developer had any activity in subsequent years
29
-
3. **Retention Rate**: Percentage of the original cohort that remains active
30
-
"""),
31
-
"Assumptions & Limitations": mo.md("""
32
-
- **Multi-ecosystem developers**: Developers active in multiple ecosystems are counted separately per ecosystem — a developer who churns from one ecosystem may still be active in another
33
-
- **Identity resolution**: Developer identities are resolved by Electric Capital's fingerprinting; the same person using different accounts may be counted multiple times
34
-
- **Newer cohorts**: More recent cohorts have shorter observation windows and therefore fewer data points for retention analysis
35
-
- **Public commits only**: Only public GitHub activity is tracked; private repos and non-GitHub platforms are excluded
36
-
- **Activity windows**: Activity is measured using 28-day rolling windows via Open Dev Data's `repo_developer_28d_activities` model
37
-
"""),
38
-
"Data Sources": mo.md("""
39
-
- **Open Dev Data (Electric Capital)** — Developer activity data, [github.com/electric-capital/crypto-ecosystems](https://github.com/electric-capital/crypto-ecosystems)
- **Cohort**: Developers grouped by the year of their first contribution to the ecosystem
457
+
- **Retention Rate**: Percentage of the original cohort that remains active in subsequent periods
458
+
- **Years Since Join**: Time elapsed since first contribution (Year 0 = joined year, always 100%)
459
+
460
+
**Methodology**
461
+
462
+
1. **Cohort Assignment**: Each developer is assigned to a cohort based on their first contribution date
463
+
2. **Activity Tracking**: We track whether the developer had any activity in subsequent years
464
+
3. **Retention Rate**: Percentage of the original cohort that remains active
465
+
"""),
466
+
"Assumptions & Limitations": mo.md("""
467
+
- **Multi-ecosystem developers**: Developers active in multiple ecosystems are counted separately per ecosystem — a developer who churns from one ecosystem may still be active in another
468
+
- **Identity resolution**: Developer identities are resolved by Electric Capital's fingerprinting; the same person using different accounts may be counted multiple times
469
+
- **Newer cohorts**: More recent cohorts have shorter observation windows and therefore fewer data points for retention analysis
470
+
- **Public commits only**: Only public GitHub activity is tracked; private repos and non-GitHub platforms are excluded
471
+
- **Activity windows**: Activity is measured using 28-day rolling windows via Open Dev Data's `repo_developer_28d_activities` model
472
+
"""),
473
+
"Data Sources": mo.md("""
474
+
- **Open Dev Data (Electric Capital)** — Developer activity data, [github.com/electric-capital/crypto-ecosystems](https://github.com/electric-capital/crypto-ecosystems)
0 commit comments