personality.php

One thing you might not know about me is that I have a degree in psychology. While my degree hasn’t helped me financially, the knowledge I…

personality.php

One thing you might not know about me is that I have a degree in psychology. While my degree hasn’t helped me financially, the knowledge I gained while studying psychology has been tremendously helpful in my personal life. And one little bit of knowledge has been the most important thing which I’ve ever learned: The Five-Factor Model of Personality.

I’ve known about, and thought about, the five-factor model of personality for a long time now, 10 years or more at this point in my life. But tonight I got to thinking — Are most people normal? Or are most people a little abnormal when it comes to at least one of the big five personality traits? To find the answer, I wrote a little command-line program in php, personality.php.

<?php
// Distribution of Personality Factors
class Personality {
var $openness;
var $conscientiousness;
var $extraversion;
var $agreeableness;
var $neuroticism;

function setTraits($param1, $param2, $param3, $param4, $param5) {
$this->openness = $param1;
$this->conscientiousness = $param2;
$this->extraversion = $param3;
$this->agreeableness = $param4;
$this->neuroticism = $param5;
}
function getOpenness() { return $this->openness; }
function getConscientiousness() { return $this->conscientiousness; }
function getExtraversion() { return $this->extraversion; }
function getAgreeableness() { return $this->agreeableness; }
function getNeuroticism() { return $this->neuroticism; }
}
for ($i = 1; $i <= 10000; $i++) {
$uniquePersonality[$i] = new Personality();
$uniquePersonality[$i]->setTraits(rand(1, 100), rand(1, 100), rand(1, 100), rand(1, 100), rand(1, 100));
}
$normalInAllFiveAreas = 0;
$abnormalInOneArea = 0;
$abnormalInTwoAreas = 0;
$abnormalInThreeAreas = 0;
$abnormalInFourAreas = 0;
$abnormalInFiveAreas = 0;
for ($i = 1; $i <= 10000; $i++) {
$abnormalityCount = 0;
if ($uniquePersonality[$i]->openness <= 15 || $uniquePersonality[$i]->openness >= 86) {
$abnormalityCount++;
}
if ($uniquePersonality[$i]->conscientiousness <= 15 || $uniquePersonality[$i]->conscientiousness >= 86) {
$abnormalityCount++;
}
if ($uniquePersonality[$i]->extraversion <= 15 || $uniquePersonality[$i]->extraversion >= 86) {
$abnormalityCount++;
}
if ($uniquePersonality[$i]->agreeableness <= 15 || $uniquePersonality[$i]->agreeableness >= 86) {
$abnormalityCount++;
}
if ($uniquePersonality[$i]->neuroticism <= 15 || $uniquePersonality[$i]->neuroticism >= 86) {
$abnormalityCount++;
}
switch($abnormalityCount) {
case 0:
$normalInAllFiveAreas++;
break;
case 1:
$abnormalInOneArea++;
break;
case 2:
$abnormalInTwoAreas++;
break;
case 3:
$abnormalInThreeAreas++;
break;
case 4:
$abnormalInFourAreas++;
break;
case 5:
$abnormalInFiveAreas++;
break;
default:
break;
}
}
// display results
echo "Personality Distribution (out of 10,000) \n";
echo "Normal in All Five Areas: $normalInAllFiveAreas \n";
echo "Abnormal in One Area: $abnormalInOneArea \n";
echo "Abnormal in Two Areas: $abnormalInTwoAreas \n";
echo "Abnormal in Three Areas: $abnormalInThreeAreas \n";
echo "Abnormal in Four Areas: $abnormalInFourAreas \n";
echo "Abnormal in Five Areas: $abnormalInFiveAreas \n";
?>

You don’t need to understand PHP in order to gain insight from this script however, just check out the output of the program:

personality.php

Now the output of the program is always a little bit different, but the results are always pretty close. For the purposes of this program, I defined abnormal as falling outside the range of 1 standard deviation. So for each personality trait, you would expect 70% of people to fall within one standard deviation of the mean, and 30% to fall outside of one standard deviation of the mean. Thus, only around 17% of people are completely normal, falling within one standard deviation of the mean on all five personality traits (Openness, Conscientiousness, Extroversion, Agreeableness, & Neuroticism). 36% of people score abnormally high or low in at least one personality trait. While another 30% score abnormally high or low on two personality traits. 13–14% of people are a little quirky in 3 of the 5 dimensions. And 2–3% score high or low in 4 domains! Very few people however score outside one standard deviation on all five dimensions, only 0.2–0.4%.

Fascinating! Don’t you think?