Saving throws statistics

I managed to extract the text from a player's handbook 5e pdf file; below you can find some statistical information regarding the number of times each saving throw type appears.
This piece of information isn't an indicator of which class is the best one, as class features (like spells) aren't taken under consideration, at all; however, I found it to be interesting and worth sharing.
dictum@mortuum:~$ egrep -io "[a-zA-Z]+ saving throw" ph5etxt | grep -i strength | wc -l 
26
dictum@mortuum:~$ egrep -io "[a-zA-Z]+ saving throw" ph5etxt | grep -i dexterity | wc -l 
78
dictum@mortuum:~$ egrep -io "[a-zA-Z]+ saving throw" ph5etxt | grep -i constitution | wc -l 
64
dictum@mortuum:~$ egrep -io "[a-zA-Z]+ saving throw" ph5etxt | grep -i intelligence | wc -l 
6
dictum@mortuum:~$ egrep -io "[a-zA-Z]+ saving throw" ph5etxt | grep -i wisdom | wc -l 
85
dictum@mortuum:~$ egrep -io "[a-zA-Z]+ saving throw" ph5etxt | grep -i charisma | wc -l 
18
Additionally, I created a small .sql file containing the information above, as well as class names and class saving throws:
drop table if exists tClass;
create table if not exists tClass (class_name, saving_throw);

insert into tClass (class_name,saving_throw) values ('barbarian', 'strength');
insert into tClass (class_name,saving_throw) values ('barbarian', 'constitution');
insert into tClass (class_name,saving_throw) values ('bard', 'dexterity');
insert into tClass (class_name,saving_throw) values ('bard', 'charisma');
insert into tClass (class_name,saving_throw) values ('cleric', 'wisdom');
insert into tClass (class_name,saving_throw) values ('cleric', 'charisma');
insert into tClass (class_name,saving_throw) values ('druid', 'intelligence');
insert into tClass (class_name,saving_throw) values ('druid', 'wisdom');
insert into tClass (class_name,saving_throw) values ('fighter', 'strength');
insert into tClass (class_name,saving_throw) values ('fighter', 'constitution');
insert into tClass (class_name,saving_throw) values ('monk', 'strength');
insert into tClass (class_name,saving_throw) values ('monk', 'dexterity');
insert into tClass (class_name,saving_throw) values ('paladin', 'wisdom');
insert into tClass (class_name,saving_throw) values ('paladin', 'charisma');
insert into tClass (class_name,saving_throw) values ('ranger', 'strength');
insert into tClass (class_name,saving_throw) values ('ranger', 'dexterity');
insert into tClass (class_name,saving_throw) values ('rogue', 'dexterity');
insert into tClass (class_name,saving_throw) values ('rogue', 'intelligence');
insert into tClass (class_name,saving_throw) values ('sorcerer', 'constitution');
insert into tClass (class_name,saving_throw) values ('sorcerer', 'charisma');
insert into tClass (class_name,saving_throw) values ('warlock', 'wisdom');
insert into tClass (class_name,saving_throw) values ('warlock', 'charisma');
insert into tClass (class_name,saving_throw) values ('wizard', 'intelligence');
insert into tClass (class_name,saving_throw) values ('wizard', 'wisdom');

drop table if exists tSavingThrow;
create table if not exists tSavingThrow (saving_throw_name, appearances);

insert into tSavingThrow (saving_throw_name,appearances) values ('strength', 26);
insert into tSavingThrow (saving_throw_name,appearances) values ('dexterity', 78);
insert into tSavingThrow (saving_throw_name,appearances) values ('constitution', 64);
insert into tSavingThrow (saving_throw_name,appearances) values ('intelligence', 6);
insert into tSavingThrow (saving_throw_name,appearances) values ('wisdom', 85);
insert into tSavingThrow (saving_throw_name,appearances) values ('charisma', 18);
Running a simple sql query to rank which class has proficiency against most effects:
sqlite> select class_name, sum(appearances) from tclass,tsavingthrow where tclass.saving_throw = tsavingthrow.saving_throw_name group by class_name order by 2; 
sorcerer    82              
rogue       84              
barbarian   90              
fighter     90              
druid       91              
wizard      91              
bard        96              
cleric      103             
paladin     103             
warlock     103             
monk        104             
ranger      104          
It seems that the difference between the first and last class in this list isn't that big; it's a difference of only 22 points.
Below you can find the two tables above presented in a more viewing-friendly way:
Saving Throw# of times it appears in Player's Handbook 5e
Strength26
Dexterity78
Constitution64
Intelligence6
Wisdom85
Charisma18

Class# of times their specialty saves appear in Player's Handbook 5e
sorcerer82
rogue84
barbarian90
fighter90
druid91
wizard91
bard96
cleric103
paladin103
warlock103
monk104
ranger104

Comments