{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "0597658e",
   "metadata": {},
   "source": [
    "# 2023 / 2024\n",
    "\n",
    "Progress points for the EFL League Two 2023 / 2024 season."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "6f499bad",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-11-03T19:55:16.444099Z",
     "iopub.status.busy": "2025-11-03T19:55:16.443983Z",
     "iopub.status.idle": "2025-11-03T19:55:16.741954Z",
     "shell.execute_reply": "2025-11-03T19:55:16.741510Z"
    }
   },
   "outputs": [],
   "source": [
    "%config InlineBackend.figure_formats = ['svg']\n",
    "from proggyleg import proggyleg\n",
    "year = 2023\n",
    "league = \"E3\""
   ]
  },
  {
   "cell_type": "markdown",
   "id": "78b411a0",
   "metadata": {},
   "source": [
    "## Cumulative Points\n",
    "\n",
    "The sum of points up to a given game played."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "06886ca0",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-11-03T19:55:16.743472Z",
     "iopub.status.busy": "2025-11-03T19:55:16.743303Z",
     "iopub.status.idle": "2025-11-03T19:55:18.510921Z",
     "shell.execute_reply": "2025-11-03T19:55:18.510470Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       ""
      ],
      "text/plain": [
       ""
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "proggyleg.autoplot(year, league, which=\"cumulative\");"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "751fe844",
   "metadata": {},
   "source": [
    "## Extrapolated Points\n",
    "\n",
    "Final points assuming each team continues to score points at the same rate as they have so far."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "62aada49",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-11-03T19:55:18.512891Z",
     "iopub.status.busy": "2025-11-03T19:55:18.512764Z",
     "iopub.status.idle": "2025-11-03T19:55:18.800852Z",
     "shell.execute_reply": "2025-11-03T19:55:18.796389Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       ""
      ],
      "text/plain": [
       ""
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "proggyleg.autoplot(year, league, which=\"extrapolated\");"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7fe0b02b",
   "metadata": {},
   "source": [
    "## Position"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "b35df1fc",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-11-03T19:55:18.802656Z",
     "iopub.status.busy": "2025-11-03T19:55:18.802399Z",
     "iopub.status.idle": "2025-11-03T19:55:19.075608Z",
     "shell.execute_reply": "2025-11-03T19:55:19.075092Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       ""
      ],
      "text/plain": [
       ""
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "proggyleg.autoplot(year, league, which=\"position\");"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "86596a9d",
   "metadata": {},
   "source": [
    "## Rolling Form\n",
    "\n",
    "Exponential weighted moving average of points won per game."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "5093df6d",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-11-03T19:55:19.077589Z",
     "iopub.status.busy": "2025-11-03T19:55:19.077464Z",
     "iopub.status.idle": "2025-11-03T19:55:19.379557Z",
     "shell.execute_reply": "2025-11-03T19:55:19.379205Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       ""
      ],
      "text/plain": [
       ""
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "proggyleg.autoplot(year, league, which=\"form\");"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3"
  },
  "mystnb": {
   "execution_mode": "off"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}