Skip to content
This repository has been archived by the owner on Jun 9, 2023. It is now read-only.

Discussion: Analytics & Tracking #44

Closed
timrodz opened this issue Oct 15, 2019 · 13 comments
Closed

Discussion: Analytics & Tracking #44

timrodz opened this issue Oct 15, 2019 · 13 comments
Labels
Discussion Ideas, feature requests, views on features. Anything which is a discussion. Roadmap This is an issue/feature that is on the road map for the future

Comments

@timrodz
Copy link

timrodz commented Oct 15, 2019

Hi all, as a Data Engineer, I believe Analytics are important to optimising and improving the features of any app - Even if it's open source. For this instance, I'd like to start discussing the possibility of adding these after an MVP has been implemented.

To protect the safety and privacy of our users, we will not gather personal data: IP Addresses, Latitude/Longitudes, etc.

We could tracking the following:

  • Date joined
  • Cohort
  • Country (Which would come from location and/or venue)
  • Events attended (This can be calculated from rsvps, events)
  • Browser type & version (Happy to remove them as well)
  • Sponsor activity and engagement by venue
  • Social engagement by venue

NOTE: All tracking options would be Opt-In and customisable. This means we would NOT track anything without consent from a user, under any circumstances.

@Cheukting
Copy link

Hello data people! As a data scientist, I have the same question. I think one reason why meetup was so powerful is its ability to suggest people to other groups and events in the same city. Therefore some recommendation function would be great! To achieve we need to somehow have a maybe centralize user data storage. I hope this will not contradict the idea which most of the people involved in this project agree, decentralized the hosting of the app.

Looking forward to having discussion regarding the data issue.

@timrodz
Copy link
Author

timrodz commented Oct 15, 2019

Hey @Cheukting, thanks for your input on this! I agree with you as well, and I suppose we'll have to wait until we have consolidated our data storage system, and see what we can do with it. I have not done any Analytics for an Open Source project, so this will definitely be an interesting challenge.

Do you know of any OSS projects that use Analytics, and what stack they implement (if applicable)?

@chrismgonzalez
Copy link
Contributor

chrismgonzalez commented Oct 15, 2019

@timrodz very good insight from you! I will make a note of it in the privacy section of the DOCS #12 issue later this evening.

@erictleung
Copy link
Member

Hello data people! As a data scientist, I have the same question. I think one reason why meetup was so powerful is its ability to suggest people to other groups and events in the same city. Therefore some recommendation function would be great! To achieve we need to somehow have a maybe centralize user data storage. I hope this will not contradict the idea which most of the people involved in this project agree, decentralized the hosting of the app.

Looking forward to having discussion regarding the data issue.

Related discussion #33

@QuincyLarson
Copy link
Contributor

@erictleung Welcome. It's good to have you here.

I agree that we should think about our ability (and other organizations' ability) to analyze data from the beginning.

We do want to be mindful of consent, as @timrodz pointed out. How granular we want to make consent is another question. Currently freeCodeCamp's curriculum has 8 different privacy options and most people set all of them to on or all of them to off, so the user experience is something to consider here even at this early stage as well. How are we going to ask for permission? What copy are we going to use?

If we're using server-side rendering we'll be able to collect excellent analytics without even needing to use a 3rd party tool like Google Analytics - though many people may prefer having that option since GA is already widely used.

This is just the tip of the ice berg in terms of discussions we should have. But I'm glad we're having them, and this issue thread is a good place to kick off that discussion.

@timrodz
Copy link
Author

timrodz commented Oct 16, 2019

Thanks for the insights @QuincyLarson - I'm glad we can start discussing some of these ideas at a high level. I'm more than happy to discuss anything related to data and analytics.

@erictleung
Copy link
Member

@timrodz thanks for kicking off the discussion (also great to be here @QuincyLarson 😄).

One thing to consider in this discussion is why we're collecting this data. Typically, analytics (based on my knowledge) is for maximizing profits. I don't believe this is the case here.

So some things to consider are specifically what kind of questions or insights do we wish to gain from collecting this data? From the issue I linked to earlier, this would be an interesting use of have a distributed recommendation system. So one thing we may want to collect is self-reported tags or terms that describe a group.

Some questions we might want to ask in order to figure out what data to collect:

  • Which companies are sponsoring the most events? (This will give an idea of which companies are invested in open source or whatever themed organization)
  • What kind of venues are friendly to host events? (In aggregate, we could start recommending places to consider that might be friendly to host if one venue declines)
  • Based on even descriptions/titles, which are the most interesting/attended? (Gives a feel to what the audience/community is interested in)
  • Based on even descriptions/titles, which are the least interesting/attended? (Do a postmortem on why these events were not as popular for future planning purposes)
  • What is the distribution of chapters around the world? (Purely from an interesting statistic and possible for recommending local groups to others)
  • What is the rate of new chapters being created? (Interesting statistic to know)
  • Which chapters (freeCodeCamp-associated and not) are similar to each other that we could recommend? (Recommendations for other interesting events)

Having this list could also make collecting data more transparent if we can also give a list of questions we're trying to answer. I've recently started using SyncThing (kind of like Dropbox but P2P). When they first ask to collect data from you, they gave an example JSON of the kinds of data they would be collecting. I really liked this level of transparency. Just something to consider.

tl;dr; first come up with general questions/insights we want in order to help brainstorm what data to collect

@vkWeb vkWeb added the Discussion Ideas, feature requests, views on features. Anything which is a discussion. label Oct 24, 2019
@QuincyLarson
Copy link
Contributor

@erictleung This is a solid list.

One thing to consider in this discussion is why we're collecting this data.

This is a good question. The main reason we're collecting analytics: because organizations expect it. They like to have data they can look at to help justify decisions they've already made intuitively (:smile), and occasionally to make better decisions based on data.

My humble opinion: we should have a field in the admin panel where people can add their Google Analytics tracking ID. Then we can build server-side analytics and dashboards on a future version.

@allella
Copy link
Contributor

allella commented Oct 28, 2019

Perhaps a more flexible version of @QuincyLarson 's suggestion would be allowing an Analytics JS snippet admin option so Google Analytics, Google Tag Manager, or other snippets for the non-Google types.

Would we be fine if I create a post-MVP user story of something like below?

"As an administrator, I can paste and save javascript tracking snippets into a form to allow for website analytics and tracking"

If so when we can create, comment and link to this conversation, close the issue, and then link that post-MVP issue on the list in #84

@timrodz
Copy link
Author

timrodz commented Oct 29, 2019

If we can allow for personal chapter analytics, that would be great. Other than that, event suggestion via keywords would be an important feature to have (based on time constraints) in order to ease discoverability. Good insights all 😄

@Rafi993
Copy link

Rafi993 commented Oct 31, 2019

I do think analytics is necessary but is there more privacy friendly alternative to google analytics?

@QuincyLarson QuincyLarson added Roadmap This is an issue/feature that is on the road map for the future and removed Roadmap This is an issue/feature that is on the road map for the future labels Nov 15, 2019
@QuincyLarson
Copy link
Contributor

For now, we will have a single field for inputting a Google Analytics ID. In the future, we can have fields where people can add whatever scripts they want, like on Ghost.

Settings_-_Code_injection_-_freeCodeCamp_org

@QuincyLarson QuincyLarson added the Roadmap This is an issue/feature that is on the road map for the future label Nov 15, 2019
@allella
Copy link
Contributor

allella commented Nov 15, 2019

#171 is the MVP that come out of this

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Discussion Ideas, feature requests, views on features. Anything which is a discussion. Roadmap This is an issue/feature that is on the road map for the future
Projects
None yet
Development

No branches or pull requests

8 participants