Refolk
FrameworkMarket and talent intelligence

Placing a Technology Category on Its Adoption Curve

You will score a technology category across weighted open-source dimensions and place it into one of four adoption states with a number you can defend.

15 min readLast reviewed August 13, 2026Read as Markdown

Key takeaways

  • Real adoption lifts forks, issues, and downloads together; a bought spike lifts stars alone, which is why persistence past two months is the true filter.
  • By July 2024, 16.66% of repositories with 50 or more stars were involved in fake-star campaigns, so de-contamination must run before any scoring.
  • Runa Capital benchmarks apply only to 1,000-plus star repos: the median 3.7K-plus repo grows over 13% a year and the top quartile over 26%.
  • In Refolk's index, Kubernetes shows about 500 times LangChain's US professional base, so a thin talent footprint against explosive star growth marks a pre-plateau category.
  • An Elephant Factor of 1 means a single company supplies the majority of commits, so a broad-looking category can be one vendor in disguise.
  • GitHub momentum can lead commercial adoption by 6 to 18 months in AI tooling, so a category can look fading during a normal lead-time gap.

This guide is for strategy and research teams, talent-intelligence analysts, and operators deciding whether an emerging technology category is a durable trend worth building a market or roadmap around, or hype that will fade. It turns the diffuse open-source footprint of a whole category into a single weighted score, then maps that score to a named adoption state you can defend in a strategy review. You come out with a number, a phase, and a rationale a colleague can challenge.

Most open-source reads score one repository's traction or list signals in isolation. This one aggregates the signals across the 5 to 15 repos that make up a category and returns a go/no-go, because a strategist commits research and headcount to a category, not to a repo.

What this framework decides, and why a category not a repo

The decision is binary in the end: is this category real and durable enough to fund, or is it a spike that will fade? The output is a weighted 0 to 100 score for the whole category and one of four adoption states.

A single repo can be gamed, abandoned, or an outlier. A category is the honest unit of analysis because a real technology movement shows up as a rising tide across several projects at once. When you score AI-agent frameworks or vector databases as a set, one bought spike or one single-vendor project cannot carry the verdict.

The four states this framework assigns:

StateWhat it meansDominant open-source pattern
Early-but-realGenuine but small; growth survives scrutinyBroad contributors, thin footprint, star growth persists past 2 months
AcceleratingMultiple metrics rising togetherStars, forks, issues, dependents all climbing
Hype-peakedPublicity outran substanceStar velocity high, contributor breadth flat
FadingInterest waning, implementations stallFalling cadence, shrinking contributors, or normal lead-time gap

The state names sit on top of Gartner's five-phase Hype Cycle: Innovation Trigger, Peak of Inflated Expectations, Trough of Disillusionment, Slope of Enlightenment, and Plateau of Productivity. Early-but-real maps near the Innovation Trigger, accelerating spans the rise into the Peak, hype-peaked is the Peak itself, and fading is the slide into the Trough. The Hype Cycle is a perception-based model, and one of its stated limitations is the absence of empirical metrics. The mapping of each phase to a specific open-source pattern is my own synthesis, not a published standard, so treat it as a lens rather than a law.

The dimensions and what each one proves

Five dimensions carry the score. Each one proves something specific, and each one has a way it lies.

  • Star growth against percentile benchmarks. Proves relative momentum. It lies when the stars are bought or when a niche repo is judged against a band it does not belong to.
  • Metric coherence (forks, issues, downloads moving with stars). Proves that popularity is real, not purchased. It lies rarely, which is why it is the anchor.
  • Contributor breadth and depth. Proves a community exists beyond the founders. It lies when bots inflate the author count.
  • Vendor concentration. Proves whether the movement is broad or one company. It lies when automated commits masquerade as human breadth.
  • Talent footprint. Proves how far the category sits from a mature plateau. It lies least of all, because a professional hiring base is slow and expensive to fake.

The five scoring dimensions, anchor at the base

  1. Star growth vs percentiles
    Relative momentum, but the most gameable signal
  2. Contributor breadth and depth
    Community beyond the founders, if authors are human
  3. Vendor concentration
    Whether it is a movement or one company's push
  4. Metric coherence
    Forks, issues, downloads rising together, the honest tide
  5. Talent footprint
    The slow leading indicator of how far to plateau
Weight rises toward metric coherence and talent footprint, the two hardest signals to fake.

The single most consistent rule across every source I reviewed is that real adoption lifts multiple metrics together while a spike lifts stars alone.

The growth benchmarks that make a score comparable

Raw star counts mean nothing without a reference distribution. Runa Capital's published benchmarks give hard percentiles you can score against, and they turn "this looks big" into "this sits in the top quartile."

PercentileAnnual star growth thresholdRepo star band
Median (50th)more than 13% per year3.7K+ stars
Top quartile (75th)more than 26% per yearbest-project zone
Fork coupling0.97 x star growth (R squared 98%)all bands

The best-project zone is the intersection of the upper quartiles by stars, above 3,700, and by star growth, above 25%. Forks track stars almost exactly, so a fork line that has decoupled from the star line is itself a contamination signal rather than independent evidence.

Two caveats keep this honest. First, these benchmarks apply only to repos with 1,000 or more stars. The ROSS Index, which ranks the fastest-growing projects by annualised star growth rate, uses the same 1,000-star floor. Do not judge a 500-star niche project against the 3.7K band. Second, star growth accelerates with size: the median growth rate rises with the number of stars, so a category's largest repos can look "accelerating" purely from scale. Anchor the state call on breadth, not on the headline growth of the biggest project.

16.66%
Repositories with 50+ stars touched by fake-star campaigns by July 2024
Up from near-zero before 2022, which is why de-contamination runs before scoring.

De-contamination: the step that comes before scoring

De-contamination is the removal of fake stars and bot-inflated contributor counts before any dimension is scored. It runs first because contamination is now a base-rate problem, not an edge case.

The scale is documented. A CMU, NCSU, and Socket study using the StarScout tool analysed 20 terabytes of GitHub metadata, 6.7 billion events and 326 million stars from 2019 to 2024, and identified roughly 6 million suspected fake stars across 18,617 repositories by about 301,000 accounts. AI and LLM repos were the largest non-malicious fake-star category, with around 177,000 fake stars. If roughly one in six qualifying repos is touched by a campaign, skipping this step lets contamination distort the whole category aggregate.

There is a feedback loop that makes this worse for exactly the categories you most want to evaluate. Startups active on GitHub are 15 percentage points more likely to have raised a financing round. Capital chases stars, stars get gamed, and category-level star aggregates inherit that bias. This is the strongest reason to weight dependents and package downloads above raw stars, because downloads are harder to fake than GitHub stars.

The three checks that catch most contamination:

  1. Plot star growth over time. A vertical cliff followed by a plateau is a purchase signature; organic growth is a curve.
  2. Inspect stargazer profiles. Dozens of accounts created in the same week, or empty accounts with no other activity, are a coordinated campaign.
  3. Cross-check forks, issues, and downloads. Flat forks and a flat issue tab against a star jump is the tell.

Persistence is the cleanest filter of all. Fake stars have a promotion effect only in the short term, under two months, and become a burden after that. A category whose star growth survives a two-month window is far more likely early-but-real than hype-peaked.

Measuring concentration without being fooled by bots

Concentration answers whether a category is a broad movement or one company's project wearing a movement's clothes. CHAOSS gives the named metrics for this.

MetricWhat it countsSingle-vendor signal
Contributor Absence Factorcontributors making 50% of contributionslow value means fragile
Elephant Factorcompanies making 50% of commits1 means single vendor
Pony Factorcontributors making 50% of codebase over 2 yearslow means concentrated

The Contributor Absence Factor, formerly the Bus Factor, is the smallest number of contributors responsible for 50% of total contributions; a lower value means higher dependency on fewer people. The Elephant Factor is the minimum number of companies whose employees contribute a set percentage of commits, so a value of 1 means one company provides the majority and a value of 3 means three are needed to reach it. CHAOSS deliberately declines to fix a universal threshold: a small organisation may accept a bus factor of 2, while a larger one expects much higher before calling a project viable.

Compute the Elephant Factor across the category's repo set, not per repo. A category where every leading project resolves to the same handful of employers is a single vendor's push, not a durable trend, no matter how the star totals read.

This is the failure that quietly breaks the framework. Concentration metrics silently degrade under automation, so compute Elephant, Absence, and Pony factors on human-authored contributions only. If you cannot separate humans from agents, treat the concentration score as unknown rather than as a pass.

The talent-market cross-check

The professional footprint of a category is a leading state indicator, and it is the hardest signal in this framework to fake. Open-source stars can be bought overnight; a hiring base takes years to build.

Skill (category proxy)CountryProfessionalsRatio vs LangChain-US
LangChain (AI agents)United States2761.0x
Kubernetes (cloud-native)United States138,018~500x
LangChain (AI agents)Germany360.13x

In Refolk's index of professional profiles, 276 US professionals list a LangChain skill against 138,018 listing Kubernetes. That makes the mature cloud-native talent base roughly 500 times the emerging AI-agent base in the US. Read that way, an early-but-real category can post explosive open-source star growth while its professional base is still about one five-hundredth of a plateau category. The footprint gap is itself an adoption-state signal.

An emerging category with explosive star growth and a thin hiring base sits pre-plateau, and the ratio measures how far it has to travel.

To compute the cross-check, pick a mature reference category in the same broad domain, pull its professional count and your target category's count from the same index in one pass, and divide. A ratio near 1 says the category is already mature; a ratio in the hundreds says it is genuinely early, however loud the GitHub signals are. Pulling both counts from a single source in one query keeps the comparison clean, which is where Refolk removes the friction of stitching together public profile data by hand.

The scoring procedure

Run these eight steps in order. Two orderings exist in practice: security-first sources put de-contamination and health scoring before popularity, while growth-investor sources lead with star-growth percentiles and curate afterward. I put de-contamination third and before scoring, because a contaminated input poisons every downstream dimension.

From repo set to defensible go/no-go

  1. Scope the category, not the repo
    List the 5 to 15 repos that constitute the category. Done when you have a named repo set with owners and primary languages.
  2. Pull raw signals per repo
    Collect stars, star velocity, forks, dependents, contributors, commit cadence, and issue and PR volume. Note the 5,000 requests-per-hour authenticated limit and no historical backfill. Done when you have a per-repo signal table.
  3. De-contaminate before scoring
    Run fake-star and bot checks across the set. Done when flagged repos are excluded or discounted.
  4. Score each dimension against benchmarks
    Compare star growth to Runa percentiles and compute Contributor Absence Factor and Elephant Factor on human authors. Done when each repo scores 0 to 100 per dimension.
  5. Weight and aggregate to a category score
    Combine dimensions into one weighted number, weighting dependents and downloads above stars. Done when the category has a single defensible score.
  6. Map the score to an adoption state
    Place the category into early-but-real, accelerating, hype-peaked, or fading, cross-referenced to a Hype Cycle phase. Done when you have a named phase with rationale.
  7. Add the talent-market cross-check
    Compare professional footprint against a mature reference category. Done when you have a footprint ratio.
  8. Write the go/no-go with the lead-time caveat
    State the recommendation and attach the 6 to 18 month lead time for AI tooling. Done when a strategy review can challenge it against the lag.

The weights in step five are a framework choice, not a published standard. A defensible default is to give metric coherence and talent footprint the highest weight, contributor breadth and vendor concentration the middle, and raw star growth the lowest, because star growth is the most gameable input. Write the weights down so a reviewer can argue with them.

Category scoring rubric, per dimension
Star growth vs Runa percentile ...... weight 0.15
  90+  top quartile (>26%/yr, 3.7K+ stars)
  60   above median (>13%/yr)
  30   below median
  0    niche repo below 1K stars (not scorable)
Metric coherence (forks/issues/downloads) ... weight 0.30
  90+  all metrics rising together
  40   stars rising, others flat
  0    stars-only spike, forks decoupled
Contributor breadth (human authors) . weight 0.20
  90+  broad outside contribution
  40   founders plus a few
  0    one or two authors
Vendor concentration (Elephant Factor) ... weight 0.20
  90+  Elephant Factor 3+
  50   Elephant Factor 2
  0    Elephant Factor 1 (single vendor)
Talent footprint ratio ............... weight 0.15
  90+  within 10x of a mature reference
  50   10x to 100x
  20   over 100x (very early)

Score each repo 0 to 100, average across the category, then apply the weights.

How this read goes wrong

Every dimension has a false positive. This is the section to reread before you present, because a wrong go/no-go costs a quarter of misdirected research. Each row below is a way the aggregate deceives you and the check that catches it.

Failure modeThe false positiveThe check
Stars up, everything flatA bought spikeForks, issues, downloads must rise together
High contributor count, but botsDeparted-maintainer project reads healthyFilter bot and automated authors first
Broad category, one vendorElephant Factor of 1 dressed as a movementCompute Elephant Factor across the whole set
Empty issue tab on a big repoHollow communityOn a 15,000-star repo, an empty or maintainer-only issue tab is hollow
Percentile misread by scaleJudging a 500-star repo against the 3.7K bandSegment by language and size; benchmarks need 1K+ stars
Lead-time impatienceCalling a category fading during the normal gapHold judgement against the sector-specific lag

The lead-time trap deserves its own attention. Peer-reviewed work links release behaviour to future dependent growth, with minor releases showing consistent adoption benefits across JavaScript, Python, and Ruby at one and two years post-release, but no single clean figure ties dependent-count growth to a percentage of one-year adoption, so present a range rather than a point estimate.

The batch-signature check is worth naming twice because it is the fastest tell. Dozens of stargazers whose accounts were all created in the same week is a coordinated campaign, and because 90.42% of flagged repositories had been deleted as of January 2025, a repo that vanishes between two of your pulls is its own signal.

Verify before you present

Run this checklist before the score leaves your desk. Each item is a thing to confirm, not a topic to consider.

Pre-review verification

  • The repo set names 5 to 15 projects that genuinely constitute the category, with owners and languages.
  • Fake-star and stargazer batch checks ran on every repo before any dimension was scored.
  • Concentration metrics were computed on human-authored contributions, with bots filtered out.
  • Star growth was compared only against the correct star band (1K+ for Runa percentiles).
  • The Elephant Factor was computed across the whole category, not just the flagship repo.
  • The talent-footprint ratio uses a mature reference category pulled from the same index in one pass.
  • The written verdict attaches the sector-specific lead time (6 to 18 months for AI tooling).
  • The weights used to aggregate are written down so a reviewer can challenge them.

Keeping the read current

An adoption-state call is a snapshot, and the ground moves. Re-run the score on a fixed cadence rather than treating one verdict as permanent, because the whole point of the two-month persistence filter is that time separates real trends from spikes.

Three things go stale fastest. Contamination rates change: the 16.66% base rate is a mid-2024 figure, so re-run StarScout-style checks each cycle rather than trusting a stale exclusion list. Benchmarks drift as ecosystems grow, since star growth accelerates with size and the percentile bands shift upward over time. And the talent footprint moves slowly but decisively; a category whose professional base closes the gap toward a mature reference is migrating from early-but-real toward the plateau, and that migration is the clearest evidence a bet is paying off. Refolk's index gives you the moving footprint number on demand, so the talent cross-check can be refreshed as cheaply as the GitHub pull.

Set a quarterly re-score for categories you are actively funding and a semi-annual one for watchlist categories. When a state changes, write down which dimension moved it, because the reason is what a strategy review will ask for next.

Questions practitioners ask

How do I tell a bought star spike from real adoption?

Real adoption lifts forks, issues, and downloads at the same time as stars, while a bought spike lifts stars alone. A repo that jumps from 100 to 2,000 stars in a week with flat forks and issues is suspect. Persistence is the strongest filter: fake stars have a promotion effect only in the short term, under two months, so growth that survives a two-month window is far more likely to be real.

What growth rate counts as a top-tier open-source category?

Runa Capital's benchmarks give the thresholds. Among repos with 3,700 or more stars, the median grows over 13% a year and the top quartile grows over 26% a year. The best-project zone is the intersection of the upper quartiles by stars and by star growth. These benchmarks only apply to repos with 1,000 or more stars, so do not judge a 500-star niche repo against them.

What is the Elephant Factor and why does it matter for categories?

The Elephant Factor is a CHAOSS metric that counts the minimum number of companies whose employees contribute a set percentage of total commits. A value of 1 means a single company supplies the majority of contributions, which flags a single-vendor project dressed as a movement. Compute it across the whole category's repo set, not per repo, or a broad-looking trend that is really one vendor will slip through.

How long before GitHub momentum shows up as commercial adoption?

Lead time varies by sector. In fast-moving AI tooling, GitHub momentum can lead commercial adoption by 6 to 18 months, and in enterprise infrastructure the lag tends to be longer. This matters because a category can look fading during the normal gap before commercial adoption arrives. Hold judgement against the sector-specific lag rather than calling a slowdown a death.

Why check talent footprint if the open-source signals already look strong?

The professional footprint is a leading state indicator. In Refolk's index, Kubernetes shows about 500 times LangChain's US professional base, so an emerging category can have explosive star growth while its hiring base is roughly one five-hundredth of a plateau category. That ratio quantifies how far the category has to travel and stops you overrating an early-but-real trend as a mature one.

Try it on your own search

Stop building boolean strings. Just describe the person.

Type one sentence and I plan the search, read GitHub, public LinkedIn and Crunchbase records, and the open web live, then hand back a ranked shortlist with the reasoning behind every name. No filters to learn, no export to clean up, no sales call to sit through.

  • One sentence in, a ranked shortlist out. No boolean, no filters, no seat to buy.
  • Read live at search time, not from a database that went stale last quarter.
  • Watch every step as it runs, and see why each name made the list.

500 free credits on sign-up. No card, no demo call. See real searches.

Read next