PSL Analysis from 2002 to Current Season

A guest post from Sbusiso Mkhondwane

Introduction

I have been going back and forth for a while about doing some form of data analysis and sharing it. The first attempt was to collect the data for my car’s movement, from the locations I visited to the car’s speed. I have four years worth of data and in a tidier format. Part of the reason for wanting to do data analysis was the R language and the http://r4ds.had.co.nz book. R appeared like a tool that allowes you to feel as if you are in control and it’s flexable. What do I mean here? Hadley Wickham once said something along these lines; “The different between R language and other languages: Programming languages provide contracts. These are the things you can do and these are the things you can’t do. In many programming languages that’s like a legal contract. It spells out explicitly like what you can do and can’t do, and things you can’t do there’s no way you can do them. While with R, it’s more like a contract between friends, like you really shouldn’t do this but if you really want to, you can go ahead and do it.”. Another plus for doing this is to improve my data science skill and hopefully get some useful advise from the R community.

While I had some questions I really wanted to answer based on my car’s data, and I hadn’t really decided about how to go about doing data analysis on it. While I was reading the R for Data Science book about ggplot2, a recommendation was made about three good books on data visualisation and this was one of them Graphical Data Analysis with R by Antony Unwin. On his website http://www.gradaanwr.net, Antony had an example on how to visualise English soccer league. He used a package called engsoccerdata by James Curley. So I went into github and started reading some information about this package. Now I had an interest in doing some analysis on the South African football league (PSL) but I realised that the package didn’t have the PSL’s data.

I saw this as my first real attempt at contributing to the R community, by asking him, if I can contribute the PSL data to his package and he agreed. I have shared it with James and I’m looking forward to the day, he includes it onto his package.

Tool Used

This data analysis was done on RStudio (R version 3.4.2 (2017-09-28)) and mainly using the rmarkdown package. Other R packages were used in doing this analysis. I will shared the rmarkdown code, after adding some comments and doing some house-cleaning.

PSL Results

The PSL dataset used here is from 2002 and contains each result of matches played since. The reason for picking 2002 over 1996, is based on the fact that the PSL went from 18 teams to 16 teams in 2002, after Free State Stars and Ria Stars were bought out by the league for R8 million rand each to reduce fixture congestion. These teams finished the 2001 season in position 11 (44 points) and 12 (43 points), respectively.

Since then, there has been 3679 games played by 34 teams (this should be 32, I will explain this next). A few teams changed their names or sold their football license to other teams. AmaZulu were renamed Zulu Royals and later renamed back to AmaZulu (all the Zulu Royals’ results have been allocated to AmaZulu), Dynamos sold their license to AmaZulu (formerly Zulu Royals), Tembisa Classic sold their license to Maritzburg United and Wits University were renamed Bidvest Wits. Finally, Silver Stars were renamed Platinum Stars and Benoni Premier United changed their name to Thanda Royal Zulu (this change took place during the 2007 season, therefore the Benoni Premier United’s results are allocated to Thanda Royal Zulu).

Overall Result Outcomes

The following plot shows the overall break-down of the number of games 3679 played from 2002 until 22 November 2017. The plot splits the games by result outcome (home-win, draw and away-win).

The plot shows that teams playing at home have won 1502 (40.8%) games compare to the 1059 (28.8%) won by the visiting teams. Moreover, there has been 1118 (30.4%) games that ended in a draw. This means that home advantage is still important in our soccer.

Overall Home wins, Draw and Away wins

Current Season Result Outcomes

Now, we are going to look at the current season and see if the trend of home-wins is still occurring a lot as compare to the above plot. Only 79 games have been played. From the plot below, we can see that the trend is different compared to the above plot. Could this be attributed to the fact that the small teams have played better so far this season compare to the big teams? Please see the table below this plot to see the break-down of how teams are performaning between home and away games.

Current Season Results Outcomes

The table below shows the current league standing for the 2017 season, it also includes a break-down where the points were won. The games that ended in a draw, I’m not going to show were the points were accumulated. The focus is on the games won. You can see that Mamelodi Sundowns has won the most points 15 away from home, while Baroka FC has won 9 points from away game and they are the log leaders. Interestly, Mamelodi Sundowns and Kaizer Chiefs have not won any home games so far, while Orlando Pirates has not won any away games. It does appear as if the big teams are struggling this season.

seasonteamsgameswondrawlostgoal forgoal againstgoal difftotal pointsaway pointsdraw pointshome points
2017Baroka FC11461149518963
2017Lamontville Golden Arrows113711411316673
2017Cape Town City10514108216619
2017Bloemfontein Celtic1044287116646
2017Mamelodi Sundowns85031385151500
2017Kaizer Chiefs11362107315960
2017Chippa United11362108215366
2017Orlando Pirates1136288015069
2017AmaZulu103431213-113346
2017Free State Stars103341111012633
2017Polokwane City112541215-311650
2017SuperSport United531184410316
2017Maritzburg United924355010343
2017Ajax Cape Town9225712-58026
2017Platinum Stars11155512-78053
2017Bidvest Wits10226615-98323

Frequency of Final Scores

With 3679 games having been played since 2002, let’s turn our attention to the frequency of the final score lines. The idea here is to look at all type of final scored since 2002, by splitting the frequency by the result outcomes (Home-Win, Draw or Away-Win). The plot indicates that there has been five types of draws since 2002. The most common being the score line 0-0, 1-1 and 2-2. These are the not-so-common draws are 3-3 and 4-4.

Frequency of Final Scores

The table below provides a summary view of the common draws in PSL and it indicates that there have been five types of draws since 2002.

results outcomefull time scoreoccurrence
Draw1-1515
Draw0-0416
Draw2-2165
Draw3-321
Draw4-41

Let’s turn to the occurrence of the most common final scores by week-days (the day of the week in which the matches were played). The plot indicates that most of the draws usually happened on Wednesdays and Saturdays. There a number of draws on Sundays too. Apart from having most of the games played on these days, usually on these day you could have more than 4 games being on the day. While other days could have a minimum of one games.

Common Final Scores by Week-Days

The table below provides a summary view of all the occurrence of the most common final scores.

full time scoreresult outcomeweek dayoccurrence
0-0DrawSun94
0-0DrawMon3
0-0DrawTue37
0-0DrawWed136
0-0DrawThu4
0-0DrawFri18
0-0DrawSat124
0-1Away-WinSun73
0-1Away-WinMon3
0-1Away-WinTue30
0-1Away-WinWed121
0-1Away-WinThu6
0-1Away-WinFri20
0-1Away-WinSat97
0-2Away-WinSun50
0-2Away-WinMon1
0-2Away-WinTue11
0-2Away-WinWed64
0-2Away-WinFri14
0-2Away-WinSat45
0-3Away-WinSun16
0-3Away-WinMon2
0-3Away-WinTue2
0-3Away-WinWed17
0-3Away-WinFri3
0-3Away-WinSat18
0-4Away-WinSun3
0-4Away-WinTue1
0-4Away-WinWed7
0-4Away-WinSat2
0-5Away-WinTue1
0-5Away-WinSat1
0-6Away-WinWed1
0-6Away-WinSat1
1-0Home-WinSun95
1-0Home-WinMon10
1-0Home-WinTue29
1-0Home-WinWed141
1-0Home-WinThu5
1-0Home-WinFri39
1-0Home-WinSat145
1-1DrawSun112
1-1DrawMon3
1-1DrawTue43
1-1DrawWed165
1-1DrawThu9
1-1DrawFri34
1-1DrawSat149
1-2Away-WinSun60
1-2Away-WinMon4
1-2Away-WinTue26
1-2Away-WinWed72
1-2Away-WinThu1
1-2Away-WinFri15
1-2Away-WinSat73
1-3Away-WinSun15
1-3Away-WinMon2
1-3Away-WinTue8
1-3Away-WinWed25
1-3Away-WinFri7
1-3Away-WinSat27
1-4Away-WinSun8
1-4Away-WinWed5
1-4Away-WinThu1
1-4Away-WinSat8
1-5Away-WinSun1
1-5Away-WinTue1
1-5Away-WinFri1
1-5Away-WinSat1
2-0Home-WinSun60
2-0Home-WinMon3
2-0Home-WinTue18
2-0Home-WinWed91
2-0Home-WinThu3
2-0Home-WinFri18
2-0Home-WinSat81
2-1Home-WinSun63
2-1Home-WinMon5
2-1Home-WinTue22
2-1Home-WinWed94
2-1Home-WinFri17
2-1Home-WinSat107
2-2DrawSun41
2-2DrawMon1
2-2DrawTue19
2-2DrawWed40
2-2DrawThu3
2-2DrawFri10
2-2DrawSat51
2-3Away-WinSun14
2-3Away-WinTue7
2-3Away-WinWed10
2-3Away-WinFri6
2-3Away-WinSat21
2-4Away-WinSun2
2-4Away-WinWed6
2-4Away-WinThu1
2-4Away-WinSat6
2-5Away-WinSun1
2-5Away-WinTue1
2-5Away-WinWed4
2-5Away-WinSat1
3-0Home-WinSun15
3-0Home-WinTue12
3-0Home-WinWed33
3-0Home-WinFri6
3-0Home-WinSat37
3-1Home-WinSun31
3-1Home-WinMon1
3-1Home-WinTue7
3-1Home-WinWed38
3-1Home-WinThu1
3-1Home-WinFri9
3-1Home-WinSat41
3-2Home-WinSun12
3-2Home-WinMon1
3-2Home-WinTue9
3-2Home-WinWed13
3-2Home-WinThu2
3-2Home-WinFri5
3-2Home-WinSat26
3-3DrawSun4
3-3DrawTue2
3-3DrawWed8
3-3DrawFri1
3-3DrawSat6
3-4Away-WinSun1
3-4Away-WinWed1
3-4Away-WinFri1
3-4Away-WinSat4
3-5Away-WinSat1
4-0Home-WinSun6
4-0Home-WinTue2
4-0Home-WinWed7
4-0Home-WinFri2
4-0Home-WinSat14
4-1Home-WinSun8
4-1Home-WinMon2
4-1Home-WinTue4
4-1Home-WinWed15
4-1Home-WinThu1
4-1Home-WinFri1
4-1Home-WinSat12
4-2Home-WinSun4
4-2Home-WinTue1
4-2Home-WinWed9
4-2Home-WinFri1
4-2Home-WinSat10
4-3Home-WinSun3
4-3Home-WinWed1
4-3Home-WinSat1
4-4DrawWed1
5-0Home-WinSun3
5-0Home-WinTue3
5-0Home-WinWed3
5-0Home-WinThu1
5-0Home-WinFri1
5-0Home-WinSat5
5-1Home-WinSun3
5-1Home-WinTue1
5-1Home-WinWed1
5-1Home-WinSat4
5-2Home-WinSun1
5-2Home-WinWed5
5-2Home-WinThu1
5-2Home-WinSat3
5-3Home-WinSun2
5-3Home-WinSat1
6-0Home-WinSun1
6-0Home-WinWed1
6-0Home-WinThu1
6-0Home-WinSat1
6-1Home-WinSun3
6-1Home-WinTue1
6-2Home-WinSun2
6-2Home-WinWed1
6-4Home-WinSat1
7-0Home-WinFri1
7-1Home-WinTue1
8-1Home-WinSun1

Goals

We are aware of all the most common score-lines and their occurrence in the PSL. Now it’s time to turn our attention to the goals. The total number of goals scored so far is 8460 from 3679 games. This gives us an average rate of 2.3 goals per game. It is interesting to see that the league went from the lowest goals scored in 2009 to the highest goals scored in the next season (2010).

The question I once asked myself was which season has had the most number of goals scored and which had the lowest? From the plot below, the season with the most lowest goals scored was the 2009 season, with the 2010 season being the one with the most goals scored after 240 matches. The plot shows the total number of goals scored in each of the season since 2002. Please note that the current season has been excluded. In 2009, SuperSport United won the league having scored 51 goals and Jomo Cosmos was regelated having scored 21 goals. The 2010 season, was won by Orlando Pirates with 41 goals scored and Mpumalanga Black Aces got relegated with 19 goals scored.

Goals Scored Per Season

The table below shows the break-down of goals scored by result outcome and by seasons.

seasonresultgoals scored
2002Home-Win277
2002Away-Win224
2002Draw80
2003Home-Win265
2003Away-Win159
2003Draw142
2004Home-Win265
2004Away-Win185
2004Draw124
2005Home-Win221
2005Away-Win168
2005Draw160
2006Home-Win283
2006Away-Win153
2006Draw88
2007Home-Win262
2007Away-Win170
2007Draw100
2008Home-Win290
2008Away-Win191
2008Draw88
2009Home-Win197
2009Away-Win154
2009Draw148
2010Home-Win285
2010Away-Win163
2010Draw154
2011Home-Win293
2011Away-Win189
2011Draw100
2012Home-Win260
2012Away-Win150
2012Draw136
2013Home-Win257
2013Away-Win175
2013Draw96
2014Home-Win246
2014Away-Win197
2014Draw112
2015Home-Win249
2015Away-Win201
2015Draw112
2016Home-Win267
2016Draw138
2016Away-Win133
2017Away-Win65
2017Draw46
2017Home-Win42

Let’s compare and see which seasons are above the avarage of 2.3 goals per game. Out of the 15 seasons since 2002, there has been 8 seasons were the average goals scored by season was above the overall average of 2.3.

Average Goals Per Season

Team Performance Since 2002

As stated before there have been 32 teams that have participated in the PSL since the league was reduced to 16 teams. This section is going to show a cumulative view in the following areas: most wins since 2002, most points won since 2002 and the overall league standing by combining all the points won since 2002.

Please note that the following teams were docked points for fielding ineligible players. In a match between Hellenic and Jomo Cosmos, played on the 8th of Febrary 2004 (2003/2004 Season), Hellenic fielded a suspended player and had their 1 point gained in the match deducted. On the same day, in another match between Silver Stars and Zulu Royals, Silver Stars also fielded a suspended player and had their 3 points gained in the match deducted. The final 1 point deduction, happened after Platinum Stars fielded an ineligible player on the 8th of August 2015. I have also deducted points for these teams here.

teamsplayedwondrawlostgoal forgoal againstgoal difftotal points
Kaizer Chiefs46122414889624361263820
Mamelodi Sundowns458229119110659388271806
Orlando Pirates461205152104585398187767
SuperSport United455197136122620458162727
Ajax Cape Town459173125161542556-14644
Bidvest Wits43016813312951243676637
Moroka Swallows39015010813248347310558
Bloemfontein Celtic4001321341344294263530
Lamontville Golden Arrows431136119176473538-65527
Free State Stars34099121120373397-24418
Platinum Stars31110294115349356-7399
Santos3009899103336338-2393
Maritzburg United30983102124310412-102351
AmaZulu3108692132309403-94350
Jomo Cosmos2705994117228322-94271
Black Leopards2406659115264374-110257
Polokwane City161404873178252-74168
Mpumalanga Black Aces150404565145192-47165
Silver Stars1204241371341259164
Chippa United131354155130157-27146
University of Pretoria120313950112131-19132
Dynamos120294150127168-41128
Umtata Bush Bucks9022284093143-5094
Manning Rangers9023244394141-4793
Thanda Royal Zulu9024204693139-4692
Cape Town City402181157431471
Hellenic601511345691-3555
Baroka FC41919134052-1246
Vasco da Gama3079143547-1230
Tembisa Classic3079142337-1430
Highlands Park30512132644-1827
African Wanderers3046202162-4118

On this section, the focus in this section will be on; Kaizer Chiefs, Mamelodi Sundowns, Orlando Pirates and SuperSport United. These are the teams that have dominated the league since it was reduced to 16 teams. Part of the next exercise, an analysis will be done between JHB teams and PTA teams.

From the table above, Kaizer Chiefs have accumulated more points (820) since 2002 more than other teams. They also have the lowest number of games lost 89 for teams that have played over 300 games.

The black lines represents other teams. In terms of number of games won, Kaizer Chiefs and Orlando Pirates were the dominate teams since 2002, but from 2014 onward, Mamelodi Sundowns replaced Orlando Pirates.

On the other hand, Mamelodi Sundowns has won the most games 229 in the process. In 2002, they won 11 games and finished the season in position 10. On the other hand Kaizer Chiefs, finished the 2002 season in position 6 and won 14 games. While Orlando Pirates, won the league in 2002 with 18 games won. Mamelodi Sundowns has had an impressive raise over the years.

Number of Points Won

The following plot shows the a line graph for the number of games won since 2002.

Number of Games Won

Relegation and Champion’s Points

Since 2002, a number of teams have won the league and others were automatically relegated (a team finishing 16 at the end of the league). A soccer league is about winning points. The next table shows the number of points collected by the team that won the league in each year and the points won by the teams that we automtically relegated. It also shows the difference in points between the two.

seasonpoints won by championspoints won by relegated teampoints difference
2002611843
2003632241
2004622735
2005572928
2006612140
2007542232
2008552134
2009572433
2010601545
2011581939
2012572334
2013652144
2014692742
2015712546
2016602733

This table below shows the final league standing from 2002 until the 2016 season. With the break-down of how each team performanced at home and away in terms of points. The seasons are shown per page below.

seasonteamplayedwondrawlostgoal forgoal againstgoal difftotal pointsaway points wondraw pointshome points won
2002Orlando Pirates3018754116256127727
2002SuperSport United3016775437175530718
2002Bidvest Wits3015963929105424921
2002Moroka Swallows3015875236165315830
2002Lamontville Golden Arrows301569332765121624
2002Kaizer Chiefs3014884226165015827
2002Dynamos3012414393724012424
2002Jomo Cosmos301010103334-140121018
2002Santos3011613332853918615
2002Mamelodi Sundowns3011613303003915618
2002Black Leopards30113164042-23612321
2002Manning Rangers3098133139-8351889
2002Ajax Cape Town3096153144-133315612
2002Hellenic30103173347-14339321
2002Umtata Bush Bucks3087152947-18316718
2002African Wanderers3046202162-4118369
2003Kaizer Chiefs3018933911286318936
2003Ajax Cape Town3017674225175724627
2003SuperSport United3016594824245324524
2003Bidvest Wits301313441182352151324
2003Orlando Pirates301311645301550241115
2003Santos30147938317499733
2003Moroka Swallows3013984534114812927
2003Black Leopards30108123446-123815815
2003Lamontville Golden Arrows30910113238-63761021
2003Mamelodi Sundowns3081210323203661218
2003Silver Stars30812103542-73691215
2003Manning Rangers3078153553-18293818
2003Jomo Cosmos30610142129-82861012
2003Dynamos30315122648-22243156
2003Hellenic3058172344-2123986
2003AmaZulu3057183061-31223712
2004Kaizer Chiefs301711255262962301121
2004Orlando Pirates3017945229236024927
2004Mamelodi Sundowns3016865428265621827
2004SuperSport United301312537271051271212
2004Moroka Swallows30131073829949121027
2004Ajax Cape Town30118113139-84112821
2004Silver Stars3091110333033891118
2004Bloemfontein Celtic3099123240-8366921
2004Lamontville Golden Arrows3089132934-5336918
2004Dynamos30712113845-73315126
2004Umtata Bush Bucks3089133948-9339915
2004Santos3087152736-9319715
2004Jomo Cosmos30710132738-113161015
2004Black Leopards30613113042-12319139
2004Manning Rangers3078152849-21293818
2004Bidvest Wits30512132434-10279126
2005Mamelodi Sundowns3016954519265727921
2005Orlando Pirates301412439241554151227
2005Kaizer Chiefs301214439261350181418
2005Moroka Swallows30121083933646151021
2005Silver Stars3011910343224221912
2005Lamontville Golden Arrows309138322844031324
2005SuperSport United301010104341240181012
2005Santos307176353233861715
2005Jomo Cosmos30108123132-13812818
2005Bloemfontein Celtic30910113537-237121015
2005Ajax Cape Town30811114042-23591115
2005Black Leopards3097143139-8349718
2005Dynamos30710132438-143112109
2005Tembisa Classic3079142337-14303918
2005Umtata Bush Bucks30612122548-233015123
2005Free State Stars3041793441-7293179
2006Mamelodi Sundowns3018754517286121733
2006Silver Stars3014973221115118924
2006Moroka Swallows301497322485124918
2006Ajax Cape Town301389342684715824
2006Orlando Pirates30121083630646121024
2006SuperSport United301111838221644151118
2006Jomo Cosmos3012810383444412824
2006Bloemfontein Celtic301281032320446830
2006Kaizer Chiefs30119104232104215918
2006Santos30910113440-63731024
2006Black Leopards30107133242-103712718
2006Lamontville Golden Arrows30106143241-9369621
2006Bidvest Wits3098132934-5356821
2006Thanda Royal Zulu30610142237-152831015
2006AmaZulu3077162242-20283718
2006Maritzburg United3049172450-2621696
2007SuperSport United3016684026145421627
2007Ajax Cape Town301410644271752181024
2007Santos30121353629749121324
2007Mamelodi Sundowns301389403554727812
2007Free State Stars30129943403459927
2007Kaizer Chiefs301013732201243151315
2007Moroka Swallows3012711414104318718
2007Orlando Pirates3012612383084215621
2007Lamontville Golden Arrows3010119343224191121
2007Platinum Stars301010102832-440181012
2007Bloemfontein Celtic30116133035-53915618
2007Bidvest Wits30108122835-7389821
2007AmaZulu3097142736-93415712
2007Thanda Royal Zulu3087153144-13319715
2007Black Leopards3085172742-15296518
2007Jomo Cosmos30216121328-15223163
2008SuperSport United3016774522235524724
2008Orlando Pirates301510537201755151030
2008Kaizer Chiefs3015510373255024521
2008Free State Stars301211738241447121124
2008Lamontville Golden Arrows30137104428164627712
2008Bidvest Wits3013710423394615724
2008Ajax Cape Town3013710363424618721
2008AmaZulu3012612333304215621
2008Mamelodi Sundowns3011712282804015718
2008Santos30109112831-33915915
2008Moroka Swallows30107133239-73718712
2008Maritzburg United30106143453-19366624
2008Platinum Stars30811113540-53591115
2008Bloemfontein Celtic3089133438-4330924
2008Thanda Royal Zulu30103174058-183315315
2008Polokwane City3056192656-3021669
2009SuperSport United3016955125265724924
2009Mamelodi Sundowns3016864324195624824
2009Kaizer Chiefs3014973925145124918
2009Santos301211734201447181118
2009Orlando Pirates3010146261884491421
2009Bloemfontein Celtic3091563835342151512
2009Ajax Cape Town30119102729-24221912
2009Moroka Swallows30119103036-64215918
2009AmaZulu30116133035-53915618
2009Bidvest Wits3071493238-63591412
2009Maritzburg United30811112839-113591115
2009Lamontville Golden Arrows30614102533-83261412
2009Free State Stars3051692930-1316169
2009Platinum Stars3094172634-8319418
2009Mpumalanga Black Aces30511142038-18266119
2009Jomo Cosmos30412142140-192401212
2010Orlando Pirates3017944123186027924
2010Ajax Cape Town3018665036146018636
2010Kaizer Chiefs3017854523225921830
2010Mamelodi Sundowns3018485228245821433
2010Bloemfontein Celtic301410637231452211021
2010Bidvest Wits30101010473984061024
2010SuperSport United30117123238-64012721
2010Santos3081393743-63791315
2010Free State Stars3071492832-43531418
2010Platinum Stars3061593437-3339159
2010Lamontville Golden Arrows3096154449-5339618
2010Maritzburg United3089133246-14336918
2010Moroka Swallows3088142640-143212812
2010AmaZulu30515104345-2306159
2010Vasco da Gama3079143547-12303918
2010Mpumalanga Black Aces3043231953-3415339
2011Orlando Pirates3017764026145818733
2011Moroka Swallows301511448341456211124
2011SuperSport United3015963923165421924
2011Mamelodi Sundowns301410644232152241018
2011Kaizer Chiefs3014883523125015827
2011Free State Stars3014610383174818624
2011AmaZulu30101193224841181112
2011Bloemfontein Celtic3011811363334112821
2011Ajax Cape Town30117124249-74015718
2011Platinum Stars30106143739-23615615
2011Maritzburg United30713102638-123431318
2011Bidvest Wits30712113138-73391212
2011Lamontville Golden Arrows3095164049-9329518
2011Black Leopards3078153658-22299812
2011Santos3076173448-14273618
2011Jomo Cosmos30213152446-22193133
2012Kaizer Chiefs301512348212757211224
2012Platinum Stars3017584827215618533
2012Orlando Pirates301410639231652211021
2012Bidvest Wits30111183432244151118
2012Bloemfontein Celtic30119103233-1426927
2012SuperSport United308175302644161718
2012Free State Stars3010119323204191121
2012University of Pretoria308166342954015169
2012Moroka Swallows3011712414104015718
2012Mamelodi Sundowns3091293127439151212
2012Maritzburg United3091293131039151212
2012AmaZulu30711122235-133261115
2012Lamontville Golden Arrows3087152839-11316718
2012Ajax Cape Town30710133446-123131018
2012Chippa United30610142841-132861012
2012Black Leopards3058173463-2923689
2013Mamelodi Sundowns3020555125266527533
2013Kaizer Chiefs3019654317266327630
2013Bidvest Wits3016863420145624824
2013Orlando Pirates3013710302284615724
2013SuperSport United3012810383624415821
2013Bloemfontein Celtic3010137353234391321
2013Mpumalanga Black Aces3012711343314318718
2013Platinum Stars301191032320429924
2013AmaZulu30119102735-84215918
2013Maritzburg United30108123437-33812818
2013University of Pretoria30105152528-3356524
2013Ajax Cape Town3098132736-9356821
2013Moroka Swallows3087152939-10319715
2013Free State Stars3078153243-11299812
2013Polokwane City3077163143-12286715
2013Lamontville Golden Arrows3063212650-24216312
2014Kaizer Chiefs3021634114276933630
2014Mamelodi Sundowns3016954424205724924
2014Bidvest Wits301578342595218727
2014Orlando Pirates301311646291750151124
2014Ajax Cape Town30128103435-1449827
2014SuperSport United30125133940-14121515
2014Bloemfontein Celtic3011712342774018715
2014Maritzburg United301010103025540151015
2014Free State Stars30108123439-5389821
2014Mpumalanga Black Aces30713103539-43491312
2014Platinum Stars30810123038-83491015
2014Polokwane City3097144260-183412715
2014University of Pretoria30711122832-43291112
2014Chippa United3079142337-14306915
2014Moroka Swallows3086163047-17309615
2014AmaZulu3069153144-13276912
2015Mamelodi Sundowns3022535520357130536
2015Bidvest Wits3017674424205727624
2015Platinum Stars301398413384812927
2015Mpumalanga Black Aces30121173729847151121
2015Kaizer Chiefs30111363830846151318
2015Chippa United3013611423934512627
2015Orlando Pirates3011811383084115818
2015SuperSport United301010103638-24021109
2015Lamontville Golden Arrows30117122835-74015718
2015Ajax Cape Town30910113441-737121015
2015Bloemfontein Celtic30812103026436121212
2015Free State Stars3098132837-93512815
2015Polokwane City30710133144-133131018
2015Maritzburg United3069153553-18271296
2015University of Pretoria3067172542-17253715
2015Jomo Cosmos3067172041-21253715
2016Bidvest Wits3018664722256018636
2016Mamelodi Sundowns3016955220325724924
2016Cape Town City3016774735125518730
2016Kaizer Chiefs301311639281150151124
2016SuperSport United301212642291348151221
2016Polokwane City3010137363424391321
2016Maritzburg United30911103135-438121115
2016Lamontville Golden Arrows30108123244-12389821
2016Platinum Stars30910113332137121015
2016Ajax Cape Town3099122935-6369918
2016Orlando Pirates3061592940-113361512
2016Bloemfontein Celtic30514111628-12299146
2016Chippa United30610142732-52831015
2016Free State Stars30610142637-112831015
2016Baroka FC30513122643-172812133
2016Highlands Park30512132644-182731212
2017Baroka FC10451138517953
2017Lamontville Golden Arrows103611411315663
2017Cape Town City950497215609
2017Bloemfontein Celtic943287115636
2017Kaizer Chiefs10352107314950
2017Chippa United1035297214356
2017Orlando Pirates1035288014059
2017Mamelodi Sundowns74031183121200
2017AmaZulu93331213-112336
2017Free State Stars93241010011623
2017SuperSport United531184410316
2017Polokwane City102441215-310640
2017Maritzburg United82335509333
2017Ajax Cape Town9225712-58026
2017Bidvest Wits9225613-78323
2017Platinum Stars10145512-77043

Way Forward and More

Since this is my first attempt at doing this and sharing it, I plan to do atleast one data analysis a month. But this will be based on having interesting data. Chances are my next attempt will be on soccer again but focusing on the PSL coaches, and time series of goals scored. If I could get the data related to the issuing of yellow cards and red cards in the history of PSL, I will look into it too.

I plan to do a Shiny application that will allow people to interact with this PSL data in an interactive way. And also include game predictions.

I tried to ensure that there are no errors in the PSL results data and I hope there are none, as I had checked and rechecked. But I’m human, I should be allowed to make some mistakes.

I hope people find this analysis enlighting and interesting.

Thanks to the following people

I would like to thank James Curley for the R package which inspired me to source the PSL data, so I could do this analysis. Thanks to the author of this book (Graphical Data Analysis with R – http://www.gradaanwr.net) Antony Unwin for the examples of his website and book. Thanks to Hadley Wickham for making R such a pleasure to work with.

Finally, I would like to thank Jeff Fletcher at http://www.limn.co.za for allowing me to publish my data analysis on his site. A big shout-out to my friends, Mandla Masipa and Phumudzo Nepfumbada, for being part of this data analysis exercise.

Data was sourced from the following sites: KickOff http://www.kickoff.com and Wikipedia http://wikipedia.org

Leave a Reply

Your email address will not be published. Required fields are marked *