Haskell survey data post: don't count non-responses
authorM. Taylor Saotome-Westlake <ultimatelyuntruethought@gmail.com>
Thu, 17 Dec 2020 19:59:38 +0000 (11:59 -0800)
committerM. Taylor Saotome-Westlake <ultimatelyuntruethought@gmail.com>
Thu, 17 Dec 2020 19:59:38 +0000 (11:59 -0800)
content/2020/survey-data-on-cis-and-trans-women-among-haskell-programmers.md

index 80f46ac..e2758de 100644 (file)
@@ -27,21 +27,25 @@ if __name__ == "__main__":
             cis_f = 0
             trans_f = 0
             for row in reader:
-                total += 1
                 # 2018 and 2019 CSV header has the full question, but
                 # 2020 uses sXqY format
                 gender_answer = (
                     row.get("What is your gender?") or row.get("s7q2")
                 )
+                transwer = (
+                    row.get("Do you identify as transgender?") or
+                    row.get("s7q3")
+                )
+                if not (gender_answer and transwer):
+                    continue
+
+                total += 1
                 if gender_answer == "Female":
-                    transwer = (
-                        row.get("Do you identify as transgender?") or
-                        row.get("s7q3")
-                    )
                     if transwer == "No":
                         cis_f += 1
                     elif transwer == "Yes":
                         trans_f += 1
+
             print(
                 "{}: total: {}, "
                 "cis-♀: {} ({:.2f}%), trans-♀: {} ({:.2f}%)".format(
@@ -50,15 +54,16 @@ if __name__ == "__main__":
                     trans_f, 100*trans_f/total,
                 )
             )
-
 ```
 
 It prints this tally:
 
 ```
-2018: total: 1361, cis-♀: 26 (1.91%), trans-♀: 19 (1.40%)
-2019: total: 1211, cis-♀: 16 (1.32%), trans-♀: 16 (1.32%)
-2020: total: 1348, cis-♀: 12 (0.89%), trans-♀: 21 (1.56%)
+2018: total: 1108, cis-♀: 26 (2.35%), trans-♀: 19 (1.71%)
+2019: total: 1131, cis-♀: 16 (1.41%), trans-♀: 16 (1.41%)
+2020: total: 1192, cis-♀: 12 (1.01%), trans-♀: 21 (1.76%)
 ```
 
-In this particular case, it looks like the stereotypes are true: only about 3% of Haskell programmers (who took the survey) are women, and they're about equally likely to be cis or trans. (There were more cis women in 2018, and more trans women in 2020, but the sample size is too small to infer a trend.) In contrast, the ratio of cis women to trans women in the general population is probably more like 170:1.[ref]A [2016 report](https://williamsinstitute.law.ucla.edu/publications/trans-adults-united-states/) by the Williams Institute at the University of California at Los Angeles estimated the trans share of the United States population at 0.58%, and (1−0.0058)/0.0058 ≈ 171.4.[/ref]
+In this particular case, it looks like the stereotypes are true: only about 3% of Haskell programmers (who took the survey and answered both questions) are women, and they're about equally likely to be cis or trans. (There were more cis women in 2018, and more trans women in 2020, but the sample size is too small to infer a trend.) In contrast, the ratio of cis women to trans women in the general population is probably more like 170:1.[ref]A [2016 report](https://williamsinstitute.law.ucla.edu/publications/trans-adults-united-states/) by the Williams Institute at the University of California at Los Angeles estimated the trans share of the United States population at 0.58%, and (1−0.0058)/0.0058 ≈ 171.4.[/ref]
+
+_(This post has been edited to only count responses that answered both questions; see [Spencer's criticism in the comments](/2020/Nov/survey-data-on-cis-and-trans-women-among-haskell-programmers/#isso-63).)_