Devographics / Devographics/Monorepo

State of JS 2024 sentiment issue

Open
#467 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
178
Forks
55
Avg merge
1m
Merged PRs (30d)
2

Description

**TL;DR: this year we started giving people the option to remain neutral instead of picking positive/negative, and as a result positive sentiment went way down.**

Here's the JS 2024 "front end positivity" chart as it currently stands (survey still ongoing as of now):

Screenshot 2024-12-01 at 8 11 28

The drop is almost certainly due not to a change in respondents sentiment, but to the way we calculate positivity.

Pre-2024, we used a 5-option "scale" to collect data:

- Never heard
- Heard about it, not interested
- Heard about it, interested
- Used it, want to use it again
- Used it, do not want to use it again

Starting this year, we switched to this 3-option + sentiment scale:

- Never heard [posititve/negative/neutral]
- Heard about it [posititve/negative/neutral]
- Used it [posititve/negative/neutral]

In order to harmonize both scales, I decided to code the legacy 5-option scale as follows:

- Never heard -> never heard/neutral
- Heard about it, not interested -> heard about it/negative
- Heard about it, interested -> heard about it/positive
- Used it, want to use it again -> used it/positive
- Used it, do not want to use it again -> used it/negative

This works, but there is one issue: neutral values for heard/used don't exist in the legacy data. This means that 100% of "used it" respondents are allocated between positive and negative buckets, resulting in e.g. a 80/20 positive/negative split for library Foo.

When the neutral value *does* exist though (for 2024) the split is much more likely to be something along the lines of 60/30/10 positive/neutral/negative for the exact same library since many people will default to "neutral".

So the result is this impression that Foo's positivity dropped from 80% to 60% year-to-year.

### Solution

I think I need to change how positivity/negativity are calculated so that neutral responses are discarded, in order to harmonize both scales. Hopefully this doesn't have any other unforeseen consequences…

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.