Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Potential Outreachy Project: Implement the Conversion Rate Metric Model and Document the Metrics Model Process #310

Closed
sgoggins opened this issue Mar 9, 2022 · 2 comments
Assignees

Comments

@sgoggins
Copy link
Member

sgoggins commented Mar 9, 2022

This issue simply describes what one potential Outreachy project would be. There is nothing to do in this issue with respect to the application period.

Conversion Rate

Question: What are the rates at which new contributors become more sustained contributors?

Description

The conversion rate metric is primarily aimed at identifying how new community members become more sustained contributors over time. However, the conversion rate metric can also help understand the changing roles of contributors, how a community is growing or declining, and paths to maintainership within an open source community.

Objectives (why)

  • Observe if new members are becoming more involved with an open source project
  • Observe if new members are taking on leadership roles within an open source project
  • Observe if outreach efforts are generating new contributors to an open source project
  • Observe if outreach efforts are impacting roles of existing community members
  • Observe if community conflict results in changing roles within an open source community
  • Identify casual, regular, and core contributors

Implementation

This project could be implemented using either the CHAOSS/Augur, or CHAOSS/Grimoirelab (including stack components noted in references) technology stacks.

The aims of the project are as follows:

  • Implement the Conversion Rate Metric in CHAOSS Software
    • After discussion, consider which CHAOSS Software Stack you wish to work with
    • In collaboration with mentors, define the technology framework, and initial path to a "hello world" version of the metric
    • Iterative development of the metric
  • Assist in the deployment of this metric for a pre-determined collection of repositories in a publicly viewable website linked to the CHAOSS project.
  • Advance the work of the chaoss metrics models working group.
  • Difficulty: Medium
  • Requirements: Knowledge of Python is desired. Some knowledge of Javascript or twitter/bootstrap is also desired. Key requirement is a keenness to dig into this challenge!
  • Recommended: Python experience.
  • Mentors: Sean Goggins, Daniel Izquerdo

Filters (optional)

  • Commits
  • Issue creation
  • Issue comments
  • Change request creation
  • Change request comments
  • Merged change requests
  • Code Reviews
  • Code Review Comments
  • Reactions (emoji)
  • Chat platform messages
  • Maillist messages
  • Meetup attendance

Visualizations

gsoc-1

Source: https://chaoss.github.io/grimoirelab-sigils/assets/images/screenshots/sigils/overall-community-structure.png

gsoc-2

Source: https://opensource.com/sites/default/files/uploads/2021-09-15-developer-level-02.png

Tools Providing the Metric

  • GrimoireLab
  • Augur
  • openEuler Infra

Data Collection Strategies

The following is an example from the openEuler community:

  • A group of people who attended an offline event A held by the community, can be identified as Group A. Demographic information of Group A could be fetched from an on-line survey when people register for the event. To identify the conversation rate of these participants:
  • Some people from Group A started watching and forking the repos, indicating they have shown some interest in this community. We marked them as subgroup D0 (Developer Level 0) as a subset of Group A.
  • Conversion rate from the total number of people in Group A to the number of people in subgroup D0 is: D0/Group A
  • Some people from subgroup D0 make more contributions beyond just watching or forking, including creating issues, making comments on an issue, or performed a code review. We marked them as subgroup D1 (Developer Level 1) as a subset of D0.
  • Conversion rate from the total number of people in Subgroup D0 to the number of people in subgroup D1 is: D1/D0.
  • Some people from subgroup D1 continue to make more contributions, like code contributions, to the project. This could include creating merge requests and merging new project code. We marked them as subgroup D2 (Developer Level 2) as a subset of D1.
  • Conversion rate from the total number of people in subgroup D1 to the number of people in subgroup D2 is: D2/D1.

gsoc-3

Definition:

  • Developer Level 0 (D0) example: Contributors who have given the project a star, or are watching or have forked the repository
  • Developer Level 1 (D1): Contributors who have created issues, made comments on an issue, or performed a code review
  • Developer Level 2 (D2): Contributors who have created a merge request and successfully merged code
  • Conversion Rate (Group A -> D0): CR (Group A -> D2) = D0/Group A
  • Conversion Rate (D0 -> D1): CR (D0 -> D1) = D1/D0
  • Conversion Rate (D1 -> D2): CR (D1 -> D2) = D2/D1

References

Contributors

  • Yehui Wang
  • Clement Li
  • zhongjun
  • Xiaoya Xia
  • Matt Germonprez
  • Sean Goggins
  • King Gao
@sgoggins sgoggins self-assigned this Mar 9, 2022
@sgoggins sgoggins changed the title GSoD Idea: Implement the Conversion Rate Metric Model, and Document the Metrics Model Process Outreachy IDEA: Implement the Conversion Rate Metric Model, and Document the Metrics Model Process Mar 9, 2022
@sgoggins sgoggins closed this as completed Mar 9, 2022
@fernanda-ordonez
Copy link

Hello @sgoggins, hope you're doing well. My name is Fernanda Ordoñez Jimenez and I'm currently a M.Sc. student, I found this project a very interesting one and would like to contribute to it, I think it would be helpful if you could add the micro-tasks listed below in this document, because right now is a little confusing having to search in different issues and documents, so it would be helpful for other applicants interested in this project to see the micro-tasks listed here. I will dig into this project and hopefully I contribute to CHAOSS in the near future!

Microtask 1:
Download and configure Augur, creating a dev environment using the general cautions noted here:
Augur
https://oss-augur.readthedocs.io/en/dev/getting-started/installation.html and the full documentation here:
https://oss-augur.readthedocs.io/en/dev/development-guide/toc.html
Grimoirelab
https://chaoss.github.io/grimoirelab-tutorial/

Microstask 2:
Work on any Augur or Grimoirelab Issue that's Open.

Microtask 3:
Identify new issues you encounter during installation.

Microstask 4:
Explore data presently captured, develop an experimental visualization using tools of your choice. If Jupyter Notebooks against an Augur database/API endpoint collection, use https://github.com/chaoss/augur-community-reports for development.

Microtask 5:
Anything you want to show us. Even if you find bugs in our documentation and want to issue a PR for those!

@sgoggins sgoggins reopened this Apr 7, 2022
@germonprez germonprez changed the title Outreachy IDEA: Implement the Conversion Rate Metric Model, and Document the Metrics Model Process Potential Outreachy Project: Implement the Conversion Rate Metric Model and Document the Metrics Model Process Apr 7, 2022
@germonprez germonprez reopened this Apr 7, 2022
@ElizabethN
Copy link
Member

I'm closing this as the Outreachy deadline has passed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants