Ossama

@ossama.hjaji

4chan Privilege Checker Written in GO

A couple of days ago while browsing the board /biz/ on 4chan, I stumbled upon a post by this fine gentleman:

Well, I know for a fact that “I haven’t made it yet”, not only in crypto (subject of the post) but in life in general, which makes me a “normie” apparently…

I wasn’t too happy about that, so I started questioning myself about the reasons why I haven’t made it yet, was it because of my social environment ? my ethnicity ? bad luck ? …

FeelsBadMan

Accounting for external factors in the quest for estimating a probability of success in a specific field is not…easy. So, let’s try it !

Being in vacation with nothing better to do, I started thinking about a program that would answer this question for you:

“Are you gonna make it ?”

what came out of it is this little website called rugonamakit.

The main difficulty behind this app was to design a “good enough” mathematical model which on a few inputs could produce a reasonable probability for the question above.

Disclaimer: The goal here is not to make a sociological study or a math paper; I do not have the skills nor the will to do so. All the reasoning (formulas, values, parameters) are a reflection of my own personal view.

To make it easier to model, I chose to rely on a few hypotheses (as listed on the site) :

  • You haven’t made it yet.
  • You’re determined to make it.
  • You’re in good health.
  • You’re socially adequate.

For the sake of simplicity, we will only focus on “Science & Engineering” as field Input to explain our method. You can check the small variations for the other fields (Business & Finance, Social Media and Arts) on the Github Repo.

As Inputs for our model, I selected a few parameters which are in my opinion the most relevant:

  • Age (0 to 100 years old)
  • Gender (male or female)
  • Education (Ivy league, State University, High School or less)
  • Region (Top tier (USA, Germany…), Middle tier (Brazil, India…), Low tier (Africa, Eastern Europe…))
  • Social Group (Upper/Middle/Lower class)
  • Ethnicity (Asian, Arab, Black, Latino, White)

Now let’s discuss the impact of each parameter on your chances of making it.

Age

Getting older decreases your chances of making it. (a,b,c,d,e) are constants which depends on the field, a and b can be derived from (c, d, e)

func ageF(age, field)

For Science & Engineering → c: 25, d: 60, e: 0.80 gives a: -0.06, b: 4.4
From 0 to 25 aging doesn’t decrease your chances and after 60 your probability drops to 0. Age is accountable for 20% (1-e = 0.2) of the final result.

Using a linear curve isn’t great especially considering the drop at x = d. It would be better to have a curve that decreases faster with x which would prevent the discontinuity at d.

Gender

In S&E, we can’t deny the fact that women are underrepresented. Is it because of male working patterns ? negative stereotyping ? …I don’t know, but i’d say the negative impact varies depending on the region you’re living in. Indeed, the patriarchy remains strong in underdeveloped countries which prevents lots of talented women to pursue their career and “making it”.

I chose this matrix to represent it :

func genderF(gender, field, region)

Now remember, this is only for S&E. In other fields (e.g. Social Media), it might be the other way around (in Top tier countries at least).

Social Group / Ethnicity / Education

The method is the same here, these three parameters are also functions of the region and the field.

Here is the matrix for Education :

func educF(education, field, region)

Indeed, the prestige offered by an Ivy league school depends greatly on the country the school belongs to.

Randomness or bad luck

We can’t deny the fact that there is part of chance (or bad luck) in this process. Indeed, if we consider two identical individuals based on our set of parameters, there is no guarantee they will succeed the same way.

To take that into account, I added a function randF() that represents a random variable X with the following probability distribution:

Pr(X=1) = 0.90 // in 90% of cases the result is unchanged
Pr(X=0.5) = 0.07 // in 7% of cases the result is divided by 2
Pr(X=0.25) = 0.03 // in 3% of cases the result is divided by 4

Now that we have all of our parameters modelled, we can express the probability of “making it” as such:

What’s next

  • Implementing more realistic models for the parameters (bayesian model, normal distribution, etc.)
  • Add new fields (politics, sports) and parameters (height, religion…)
  • Better overall desing for the FrontEnd

By the way, when running the program with my own inputs, I got a 59% chance of “making it” !

not bad not bad…

If you want to give me some feedback (better coefficient for the matrices, better models, design, etc) or even contribute, pull requests are more than welcomed →

More by Ossama

Topics of interest

More Related Stories