Repository: djcunningham0/multielo (language: python)

Issue:
add win probability simulation to MultiElo



Discussion / hints:

Fix patch:
diff --git a/CHANGELOG b/CHANGELOG
new file mode 100644
index 0000000..3c07697
--- /dev/null
+++ b/CHANGELOG
@@ -0,0 +1,23 @@
+# Change Log
+
+## [0.2.0] -- 2021-04-21
+
+### Added
+
+* Estimate result probabilities with simulate_win_probabilities method in MultiElo class
+* Improved logging, tests, documentation, and other small coding style improvements
+
+### Changed
+
+### Fixed
+
+## [0.1.0] -- 2021-08-02
+
+### Added
+
+* Initial commit
+
+### Changed
+
+### Fixed
+
diff --git a/README.md b/README.md
index 90c730b..13a1214 100644
--- a/README.md
+++ b/README.md
@@ -11,12 +11,19 @@ system.
 
 ## Installation
 
-The package can be installed from GitHub with using ``pip install``::
+The package can be installed from GitHub with using ``pip``.
 
 ```bash
 pip install git+git://github.com/djcunningham0/multielo.git
 ```
 
+You can install a specific released version of the package using tag names. For
+example, to install release v0.1.0 you can use:
+
+```bash
+pip install git+git://github.com/djcunningham0/multielo.git@v0.1.0
+```
+
 ## Example Usage
 
 The following example shows how to calculate updated Elo ratings after a 
diff --git a/demo.ipynb b/demo.ipynb
index 3e89c4c..f4e0191 100644
--- a/demo.ipynb
+++ b/demo.ipynb
@@ -200,6 +200,37 @@
     "elo.get_expected_scores(multiplayer_result)"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Given the ratings of all players involved in a game, we can estimate the probability of each player finishing in each possible place (1st, 2nd, ..., last). **Note:** This calculation is done using a simulation so the probabilities will not be exact and they may change if you use a different random seed."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "array([[0.62559, 0.27766, 0.08406, 0.01269],\n",
+       "       [0.19977, 0.37073, 0.30073, 0.12877],\n",
+       "       [0.06261, 0.12988, 0.24367, 0.56384],\n",
+       "       [0.11203, 0.22173, 0.37154, 0.2947 ]])"
+      ]
+     },
+     "execution_count": 9,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# (i, j) value is probability that player i finishes in place j\n",
+    "elo.simulate_win_probabilities([1200, 1000, 800, 900])"
+   ]
+  },
   {
    "cell_type": "markdown",
    "metadata": {},
@@ -225,7 +256,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
+   "execution_count": 10,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -235,7 +266,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 11,
    "metadata": {},
    "outputs": [
     {
@@ -245,7 +276,7 @@
        " Player(id = player_B, rating = 1200, n_games = 0))"
       ]
      },
-     "execution_count": 10,
+     "execution_count": 11,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -263,7 +294,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 11,
+   "execution_count": 12,
    "metadata": {},
    "outputs": [
     {
@@ -272,7 +303,7 @@
        "Player(id = player_A, rating = 1075, n_games = 2)"
       ]
      },
-     "execution_count": 11,
+     "execution_count": 12,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -293,7 +324,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
+   "execution_count": 13,
    "metadata": {},
    "outputs": [
     {
@@ -302,7 +333,7 @@
        "[(None, 1000), ('2020-07-01', 1050), ('2020-07-15', 1075)]"
       ]
      },
-     "execution_count": 12,
+     "execution_count": 13,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -313,7 +344,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 13,
+   "execution_count": 14,
    "metadata": {},
    "outputs": [
     {
@@ -322,7 +353,7 @@
        "2"
       ]
      },
-     "execution_count": 13,
+     "execution_count": 14,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -340,7 +371,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 14,
+   "execution_count": 15,
    "metadata": {},
    "outputs": [
     {
@@ -349,7 +380,7 @@
        "1050"
       ]
      },
-     "execution_count": 14,
+     "execution_count": 15,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -371,7 +402,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 15,
+   "execution_count": 16,
    "metadata": {},
    "outputs": [
     {
@@ -447,7 +478,7 @@
        "3  2020-04-19  Marge   Lisa   None  None"
       ]
      },
-     "execution_count": 15,
+     "execution_count": 16,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -473,7 +504,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 16,
+   "execution_count": 17,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -490,7 +521,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 17,
+   "execution_count": 18,
    "metadata": {},
    "outputs": [
     {
@@ -561,7 +592,7 @@
        "3     4      Bart        3   958.403688"
       ]
      },
-     "execution_count": 17,
+     "execution_count": 18,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -572,7 +603,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 18,
+   "execution_count": 19,
    "metadata": {},
    "outputs": [
     {
@@ -694,7 +725,7 @@
        "11     Marge  2020-04-19  1025.623287"
       ]
      },
-     "execution_count": 18,
+     "execution_count": 19,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -712,19 +743,12 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 19,
+   "execution_count": 20,
    "metadata": {},
    "outputs": [
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "/Users/Daniel/Documents/Projects/package_testing/test_venv/lib/python3.6/site-packages/plotnine/utils.py:1246: FutureWarning: is_categorical is deprecated and will be removed in a future version.  Use is_categorical_dtype instead\n"
-     ]
-    },
     {
      "data": {
-      "image/png": "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hhvQvXt3yGQypKam4qOPPkK3bt38c+fWVK9evbB161bcfvvt6NOnD+RyOQYPHozw8PAr2u/fqYtjIyK6bNJOgkDUMP3dNFoAxA8//NC//sWmRvr666/FUaNGiRaLRVSpVGLLli3Fxx57TCwpKbmsOC419ZUoiuKXX34pDhgwQDSZTKLRaBQHDx4sfvnll1Vu5/V6xfnz54sxMTGiTCYTAYhvv/22KIqXnkbrwra/i2vbtm1i9+7dRbVaLYaFhYk333yzmJKSIgIQ//nPf/rX+9///icOHz5cjIqKElUqlRgWFiYOGDBAXLt27WXlRRSrn1uXyyXq9fpKU3r9VW5urrhgwQKxdevWolqtFo1Go9i6dWvxlltuqTBd1aXycymFhYXirFmzxPDwcP/v4fw+LjWN1oVt513sWC62zeUeGxFRoAmiWIfXoYiIqum7775Djx498PTTT1c5pRYRETU+HANLRPVCWVlZpceX+nw+PPnkkwDKhw0QEREBHANLRPVEamoqBg0ahClTpqBFixbIycnBxo0b8e2332LGjBno1KmT1CESEVE9wQKWiOqF0NBQDBgwAO+//z4yMzMhiiJatmyJ559/HnPnzpU6PCIiqkc4BpaIiIiIggrHwBIRERFRUGEBS0RERERBhQUsEREREQUVFrBEREREFFRYwBIRERFRUGEBS0RERERBhfPAVqGoqAilpaVSh0FERETVoFKpoNVqpQ6D6gAL2L8oKirC7t274fV6A7J/o9EIl8sVkH3/HZ1OBwBwu92SvD4g7fFXR33IVXUwr4HBvAYG8xoYwZLXQJLL5UhKSmIR2wiwgP2L0tJSeL1edOrUCUajsdb373A4YLVaa32/l+P8MysEQZDk9QFpj7866kOuqoN5DQzmNTCY18AIlrwGisvlwk8//YTS0lIWsI0AC9iLMBqNMJvNtb7fgoKCgOz3cng8HgCAQiHdr13K46+O+pCr6mBeA4N5DQzmNTCCJa9EtYE3cRERERFRUGEBS0RERERBhQUsEREREQUVFrBEREREFFRYwBIRERFRUGEBS0RERERBhQUsEREREQUVFrBEREREFFRYwBIRERFRUGEBS0RERERBhQUsEREREQWV4HjAMxER1ZnPcvOwPjMXRT4fmmrVuCM2AjaVUuqwiIj82ANLRER+e50uvHUmG/leL8pEEX+4i/HoyXSU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\n",
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAArAAAAIDCAYAAAD8Gi1tAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Z1A+gAAAACXBIWXMAAA9hAAAPYQGoP6dpAACLT0lEQVR4nOzdd3gU5doG8Hu295JseiP0Lr2XgHSpggJKiaBHjscCYkFFRLEXLIfvePRYQEApilTFQhNRUewUQYEkEEKSTXaTTTZtd+f7I7ASE5CEbCab3L/r8pK8U/aZJ7O7T9555x1BFEURRERERERBQiZ1AERERERE1cECloiIiIiCCgtYIiIiIgoqLGCJiIiIKKiwgCUiIiKioMICloiIiIiCCgtYIiIiIgoqLGCJiIiIKKiwgCUiIiKioMIClqgeSEpKQpMmTaQOo8aWL18OQRCwe/duqUNp1BYvXgxBEJCSkiJ1KEREAcUCligAdu/eDUEQLvnfb7/9JnWY1bJx40YsXrxY6jAaveXLl+Oll16SOgwiIkkJoiiKUgdB1NDs3r0bgwYNwqRJkzBu3Lgq1xk7dixMJhOA8h7YlJSUet1zlpycjBUrVqCqjwyv14uysjKoVCrIZPy7OJAuda54PB54PB6o1WoIglD3wRER1RGF1AEQNWRXXXUVpk2bJnUYFZSWlsLn80Gj0dTaPuVyOeRyea3tr7ESRRGFhYUwGAw12l6hUECh4Mc6ETV87Cohqsf279+P0aNHIyQkBBqNBq1bt8aSJUtQWlp6WdsnJydDEATk5OTgH//4B6KioqDVavHNN98AANauXYvx48cjISEBGo0GISEhGDFiBL788ssK+2nSpAlWrFgBABWGQSxfvhxA1WNgz7ft2rULL730Elq2bAm1Wo3ExEQsXbq0yni3b9+Onj17QqvVIjw8HLfccgtyc3MhCAKSk5MrrLt69Wr07t0bISEh0Gq1iI+Px7XXXovDhw9fVm4uJ7dvvPEGBEHA6tWrq9zHkCFDoNfrkZ+f72/LzMzEHXfcgSZNmkClUiEiIgLTpk2r1GN6Pj+ff/45nnrqKX9+nn/++YvGLAgC9uzZg9TU1Aq/h/N5r2oM7Pm2I0eO4J577kFMTAx0Oh369OmDb7/9FgCwb98+JCUlwWAwICwsDHfffTc8Hk+l17/cYyMiCjT+qU4UQG63G3a7vVK7XC6H1Wq95Lbbt2/3DzO47bbbEBkZiY8++giLFi3CV199hW3btl325fohQ4YgNDQUCxYsgM/nQ2RkJABg2bJlsFqtuPnmmxEVFYVTp07hzTffxKBBg7Bnzx706dMHAPDSSy9h6dKl2Lt3L1auXOnf7/nll/Lggw8iPz8fN910EwwGA9555x3Mnz8f0dHRmDJlin+9zZs3Y8KECYiMjMSCBQtgtVqxadMmjBgxotI+V69ejWnTpqFv37545JFHYDAYkJ6ejp07d+Lo0aNo27ZtreT2+uuvx1133YXly5fjxhtvrLCPU6dOYdeuXbjhhhv8Q0FOnTqFPn36oKCgALNnz0bLli2Rnp6OV199FZ9++ikOHDiA+Pj4Cvu599574Xa7MXPmTISFhSEuLu6ica9cuRJPPPEE7HY7XnzxRX97mzZtLnm8ADBz5kxoNBrcd999KCwsxPPPP4+hQ4di5cqVSE5Oxs0334wpU6bg448/xosvvoiwsDA88MADFY63usdGRBQwIhHVul27dokALvpfQkJChfUHDhxYoc3j8YhNmjQRtVqt+Pvvv1dY96abbhIBiCtXrvzbOGbOnCkCEKdMmSL6fL5KywsKCiq1ZWRkiKGhoeKoUaOq3FdV3n77bRGAuGvXrkptHTt2FIuLiyu8ZmhoqNi7d+8KxxsfHy+azWbxzJkz/nafzyeOGzdOBCDOnDnT3z5hwgTRaDSKpaWlf5uDv6pubqdNmybKZDIxLS2twrpLliwRAYg7duzwt40fP160Wq3i8ePHK6x78uRJ0WAwiMnJyf628/lp1qyZ6HK5Ljv+v54rF3rkkUdEAOLJkycrtY0cOVL0er3+9g8//FAEIMrlcvGbb76psJ9OnTqJUVFRFdqqc2xERIHGIQREAZScnIzPPvus0n8XuyR93g8//ICUlBRMnz4dzZs3r7Ds/EwAH3zwwWXHcf/991d5U49er/f/2+VyIScnBwqFAj179sT+/fsve/+Xcvvtt0OtVld4zd69e+PYsWP+tu+//x5paWmYPn06oqKi/O2CIOD++++vtE+LxQK3240tW7bA5/NVK57q5jY5ORk+nw/vvPNOhXVXrFiBhIQEDBo0CACQl5eHzZs3Y9SoUTCZTLDb7f7/DAYDevXqhU8++aRSPLfffnuNx7xWx7x58yr02A8cOBAA0LNnT/Ts2bPCugMGDEBGRgYKCgoA1PzYiIgChUMIiAKoWbNmGDJkSLW3O3HiBACgQ4cOlZbFx8fDZDLh+PHjl72/li1bVtn+yy+/YNGiRdi5cydcLleFZbV1F3vTpk0rtYWGhiInJ8f/8/njbd26daV1q7o8/tBDD+HLL7/ExIkTYbVa0bdvXwwePBg33HADIiIiLhlPdXM7ePBgJCQkYMWKFXjooYcAAF9++SX++OMPPPzww/48HTt2DD6fD6tXr77oHyhVDfm42O+mtv3193B+CEtVv5/zy3JycmAwGGp8bEREgcICligIVbe41Ol0ldpOnz6Nfv36wWAw4IEHHkDr1q2h1+shk8nw1FNPYefOnbUSayBmJ2jWrBkOHTqE3bt3Y8eOHdi7dy/uuecePPzww/joo48wYMCAGu/7r7kVBAEzZszAkiVL8NVXX6FPnz5YsWJFpRvLzvcEX3/99bjlllsu+/Wq+t0EwsV+D5f6/Yjnpkyr6bEREQUKC1iieqhZs2YAgEOHDlVadurUKeTl5fnXqakNGzbA5XJh48aNGDx4cIVl53saLxTIeUXP9wJW9XCHI0eOVLmNUqnE0KFDMXToUADlvcndunXDokWLLvlEsJrkdubMmXj88cexfPlydO7cGevWrUP//v0r9F42b94cMpkMRUVFNep1v1xSzO9aV8dGRHS5eM2HqB7q3LkzmjRpgpUrVyI1NbXCssceewwAMHHixCt6jfM9b+JfHkzw8ccf+6dXutD5cZq5ublX9LpV6dq1K+Li4rBy5UpkZGT420VRxLPPPltp/ezs7Eptbdq0gV6vrzA0oSo1yW2zZs3Qv39/rFu3DqtXr/bPqnCh0NBQjBo1Ctu2bcOuXbuqfO3MzMxLxnY5DAYDHA5HlQ+UCJS6OjYiosvFHliiAPr555+xatWqKpclJSUhNja2ymVyuRyvvvoqxo4di+7du2POnDkIDw/Hxx9/jI8++gjDhw/HDTfccEWxjRw5Enq9HtOnT8e//vUv2Gw2/PDDD1i9ejU6dOiAX3/9tcL6vXr1wrJly3DbbbfhmmuugVKpRM+ePZGYmHhFcQDlx/vKK69g4sSJ6NatG2699VZYrVZs3LjRfyPRhT2Pw4cPh9FoxIABAxAfHw+32401a9bA6XRi4cKFf/taNcltcnIyZs2ahfnz50Ov12PSpEmV1vnvf/+Lfv36YejQobjhhhvQvXt3yGQypKam4qOPPkK3bt38c+fWVK9evbB161bcfvvt6NOnD+RyOQYPHozw8PAr2u/fqYtjIyK6bNJOgkDUMP3dNFoAxA8//NC//sWmRvr666/FUaNGiRaLRVSpVGLLli3Fxx57TCwpKbmsOC419ZUoiuKXX34pDhgwQDSZTKLRaBQHDx4sfvnll1Vu5/V6xfnz54sxMTGiTCYTAYhvv/22KIqXnkbrwra/i2vbtm1i9+7dRbVaLYaFhYk333yzmJKSIgIQ//nPf/rX+9///icOHz5cjIqKElUqlRgWFiYOGDBAXLt27WXlRRSrn1uXyyXq9fpKU3r9VW5urrhgwQKxdevWolqtFo1Go9i6dWvxlltuqTBd1aXycymFhYXirFmzxPDwcP/v4fw+LjWN1oVt513sWC62zeUeGxFRoAmiWIfXoYiIqum7775Djx498PTTT1c5pRYRETU+HANLRPVCWVlZpceX+nw+PPnkkwDKhw0QEREBHANLRPVEamoqBg0ahClTpqBFixbIycnBxo0b8e2332LGjBno1KmT1CESEVE9wQKWiOqF0NBQDBgwAO+//z4yMzMhiiJatmyJ559/HnPnzpU6PCIiqkc4BpaIiIiIggrHwBIRERFRUGEBS0RERERBhQUsEREREQUVFrBEREREFFRYwBIRERFRUGEBS0RERERBhfPAVqGoqAilpaVSh0FERETVoFKpoNVqpQ6D6gAL2L8oKirC7t274fV6A7J/o9EIl8sVkH3/HZ1OBwBwu92SvD4g7fFXR33IVXUwr4HBvAYG8xoYwZLXQJLL5UhKSmIR2wiwgP2L0tJSeL1edOrUCUajsdb373A4YLVaa32/l+P8MysEQZDk9QFpj7866kOuqoN5DQzmNTCY18AIlrwGisvlwk8//YTS0lIWsI0AC9iLMBqNMJvNtb7fgoKCgOz3cng8HgCAQiHdr13K46+O+pCr6mBeA4N5DQzmNTCCJa9EtYE3cRERERFRUGEBS0RERERBhQUsEREREQUVFrBEREREFFRYwBIRERFRUGEBS0RERERBhQUsEREREQUVFrBEREREFFRYwBIRERFRUGEBS0RERERBhQUsEREREQWV4HjAMxER1ZnPcvOwPjMXRT4fmmrVuCM2AjaVUuqwiIj82ANLRER+e50uvHUmG/leL8pEEX+4i/HoyXSU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\n",
       "text/plain": [
        "<Figure size 640x480 with 1 Axes>"
       ]
@@ -736,7 +760,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "<ggplot: (306775651)>\n"
+      "\n"
      ]
     }
    ],
@@ -767,31 +791,47 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 20,
+   "execution_count": 21,
    "metadata": {},
    "outputs": [],
    "source": [
     "import logging\n",
-    "tracker.logger.setLevel(logging.INFO)"
+    "\n",
+    "logging.basicConfig()\n",
+    "logger = logging.getLogger(\"my_logger\")\n",
+    "logger.setLevel(logging.INFO)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 21,
+   "execution_count": 22,
    "metadata": {},
    "outputs": [
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "INFO:root:created player with ID Homer\n",
-      "INFO:root:created player with ID Marge\n",
-      "INFO:root:created player with ID Bart\n",
-      "INFO:root:2020-03-29: Homer: 1000 --> 1021.33; Marge: 1000 --> 1000.0; Bart: 1000 --> 978.67; \n",
-      "INFO:root:created player with ID Lisa\n",
-      "INFO:root:2020-04-05: Lisa: 1000.0 --> 1021.33; Bart: 978.67 --> 980.62; Homer: 1021.33 --> 998.04; \n",
-      "INFO:root:2020-04-12: Lisa: 1021.33 --> 1043.37; Marge: 1000.0 --> 1008.0; Homer: 998.04 --> 990.22; Bart: 980.62 --> 958.4; \n",
-      "INFO:root:2020-04-19: Marge: 1008.0 --> 1025.62; Lisa: 1043.37 --> 1025.75; \n"
+      "INFO:my_logger:Created Tracker with Elo paramers K=32, D=400\n",
+      "INFO:my_logger:created player with ID Homer and rating 1000\n",
+      "INFO:my_logger:created player with ID Marge and rating 1000\n",
+      "INFO:my_logger:created player with ID Bart and rating 1000\n",
+      "INFO:my_logger:processing rating changes for date 2020-03-29...\n",
+      "INFO:my_logger:Updating rating for Homer: 1000.000 --> 1021.333\n",
+      "INFO:my_logger:Updating rating for Marge: 1000.000 --> 1000.000\n",
+      "INFO:my_logger:Updating rating for Bart: 1000.000 --> 978.667\n",
+      "INFO:my_logger:created player with ID Lisa and rating 1000\n",
+      "INFO:my_logger:processing rating changes for date 2020-04-05...\n",
+      "INFO:my_logger:Updating rating for Lisa: 1000.000 --> 1021.333\n",
+      "INFO:my_logger:Updating rating for Bart: 978.667 --> 980.624\n",
+      "INFO:my_logger:Updating rating for Homer: 1021.333 --> 998.042\n",
+      "INFO:my_logger:processing rating changes for date 2020-04-12...\n",
+      "INFO:my_logger:Updating rating for Lisa: 1021.333 --> 1043.374\n",
+      "INFO:my_logger:Updating rating for Marge: 1000.000 --> 1008.000\n",
+      "INFO:my_logger:Updating rating for Homer: 998.042 --> 990.222\n",
+      "INFO:my_logger:Updating rating for Bart: 980.624 --> 958.404\n",
+      "INFO:my_logger:processing rating changes for date 2020-04-19...\n",
+      "INFO:my_logger:Updating rating for Marge: 1008.000 --> 1025.623\n",
+      "INFO:my_logger:Updating rating for Lisa: 1043.374 --> 1025.751\n"
      ]
     },
     {
@@ -862,25 +902,25 @@
        "3     4      Bart        3   958.403688"
       ]
      },
-     "execution_count": 21,
+     "execution_count": 22,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "tracker = Tracker()\n",
+    "tracker = Tracker(logger=logger)\n",
     "tracker.process_data(data)\n",
     "tracker.get_current_ratings()"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 22,
+   "execution_count": 23,
    "metadata": {},
    "outputs": [],
    "source": [
     "# turn INFO logging back off\n",
-    "tracker.logger.setLevel(logging.WARNING)"
+    "logger.setLevel(logging.WARNING)"
    ]
   },
   {
@@ -892,7 +932,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 23,
+   "execution_count": 24,
    "metadata": {},
    "outputs": [
     {
@@ -963,7 +1003,7 @@
        "3     4      Bart        3   868.143061"
       ]
      },
-     "execution_count": 23,
+     "execution_count": 24,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -988,7 +1028,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 24,
+   "execution_count": 25,
    "metadata": {},
    "outputs": [
     {
@@ -1059,7 +1099,7 @@
        "3     4      Bart        3   955.717692"
       ]
      },
-     "execution_count": 24,
+     "execution_count": 25,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -1088,70 +1128,70 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 25,
+   "execution_count": 26,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "appnope==0.1.0\r\n",
-      "backcall==0.2.0\r\n",
-      "cycler==0.10.0\r\n",
-      "decorator==4.4.2\r\n",
-      "descartes==1.1.0\r\n",
-      "ipykernel==5.3.4\r\n",
-      "ipython==7.16.1\r\n",
-      "ipython-genutils==0.2.0\r\n",
-      "jedi==0.17.2\r\n",
-      "jupyter-client==6.1.6\r\n",
-      "jupyter-core==4.6.3\r\n",
-      "kiwisolver==1.2.0\r\n",
-      "matplotlib==3.3.0\r\n",
-      "mizani==0.7.1\r\n",
-      "multielo==0.1.0\r\n",
-      "numpy==1.19.1\r\n",
-      "palettable==3.3.0\r\n",
-      "pandas==1.1.0\r\n",
-      "parso==0.7.1\r\n",
-      "patsy==0.5.1\r\n",
-      "pexpect==4.8.0\r\n",
-      "pickleshare==0.7.5\r\n",
-      "Pillow==7.2.0\r\n",
-      "plotnine==0.7.0\r\n",
-      "prompt-toolkit==3.0.5\r\n",
-      "ptyprocess==0.6.0\r\n",
-      "Pygments==2.6.1\r\n",
-      "pyparsing==2.4.7\r\n",
-      "python-dateutil==2.8.1\r\n",
-      "pytz==2020.1\r\n",
-      "pyzmq==19.0.2\r\n",
-      "scipy==1.5.2\r\n",
-      "six==1.15.0\r\n",
-      "statsmodels==0.11.1\r\n",
-      "tornado==6.0.4\r\n",
-      "traitlets==4.3.3\r\n",
-      "wcwidth==0.2.5\r\n"
+      "appnope==0.1.2\n",
+      "attrs==20.3.0\n",
+      "backcall==0.2.0\n",
+      "cycler==0.10.0\n",
+      "decorator==5.0.7\n",
+      "descartes==1.1.0\n",
+      "iniconfig==1.1.1\n",
+      "ipykernel==5.5.3\n",
+      "ipython==7.22.0\n",
+      "ipython-genutils==0.2.0\n",
+      "jedi==0.18.0\n",
+      "jupyter-client==6.1.12\n",
+      "jupyter-core==4.7.1\n",
+      "kiwisolver==1.3.1\n",
+      "matplotlib==3.4.1\n",
+      "mizani==0.7.3\n",
+      "numpy==1.20.2\n",
+      "packaging==20.9\n",
+      "palettable==3.3.0\n",
+      "pandas==1.2.4\n",
+      "parso==0.8.2\n",
+      "patsy==0.5.1\n",
+      "pexpect==4.8.0\n",
+      "pickleshare==0.7.5\n",
+      "Pillow==8.2.0\n",
+      "plotnine==0.8.0\n",
+      "pluggy==0.13.1\n",
+      "prompt-toolkit==3.0.18\n",
+      "ptyprocess==0.7.0\n",
+      "py==1.10.0\n",
+      "Pygments==2.8.1\n",
+      "pyparsing==2.4.7\n",
+      "pytest==6.2.3\n",
+      "python-dateutil==2.8.1\n",
+      "pytz==2021.1\n",
+      "pyzmq==22.0.3\n",
+      "scipy==1.6.2\n",
+      "six==1.15.0\n",
+      "statsmodels==0.12.2\n",
+      "toml==0.10.2\n",
+      "tornado==6.1\n",
+      "traitlets==5.0.5\n",
+      "wcwidth==0.2.5\n",
+      "Note: you may need to restart the kernel to use updated packages.\n"
      ]
     }
    ],
    "source": [
-    "! pip freeze"
+    "pip freeze"
    ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
   }
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "test_venv",
+   "display_name": "venv_multielo",
    "language": "python",
-   "name": "test_venv"
+   "name": "venv_multielo"
   },
   "language_info": {
    "codemirror_mode": {
@@ -1163,7 +1203,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.8"
+   "version": "3.9.1"
   }
  },
  "nbformat": 4,
diff --git a/multielo/_version.py b/multielo/_version.py
index 3dc1f76..d3ec452 100644
--- a/multielo/_version.py
+++ b/multielo/_version.py
@@ -1,1 +1,1 @@
-__version__ = "0.1.0"
+__version__ = "0.2.0"
diff --git a/multielo/multielo.py b/multielo/multielo.py
index b96d4c4..56034fa 100644
--- a/multielo/multielo.py
+++ b/multielo/multielo.py
@@ -1,6 +1,7 @@
 import numpy as np
-from numpy import ndarray
-from typing import Union
+from typing import Union, List
+import logging
+
 from .config import defaults
 from .score_functions import create_exponential_score_function
 
@@ -17,6 +18,8 @@ def __init__(
         d_value: float = defaults["D_VALUE"],
         score_function_base: float = defaults["SCORING_FUNCTION_BASE"],
         custom_score_function=None,
+        log_base: int = 10,
+        logger: logging.Logger = None,
     ):
         """
         :param k_value: K parameter in Elo algorithm that determines how much ratings increase or decrease
@@ -28,12 +31,17 @@ def __init__(
         which results in a linear scoring function)
         :param custom_score_function: a function that takes an integer input and returns a numpy array
         of monotonically decreasing values summing to 1
+        :param log_base: base to use for logarithms throughout the Elo algorithm. Traditionally Elo
+        uses base-10 logs
+        :param logger: logger to use (optional)
         """
         self.k = k_value
         self.d = d_value
         self._score_func = custom_score_function or create_exponential_score_function(base=score_function_base)
+        self._log_base = log_base
+        self.logger = logger or logging.getLogger(__name__)
 
-    def get_new_ratings(self, initial_ratings: Union[list, ndarray]) -> ndarray:
+    def get_new_ratings(self, initial_ratings: Union[List[float], np.ndarray]) -> np.ndarray:
         """
         Update ratings based on results. Takes an array of ratings before the matchup and returns an array with
         the updated ratings. Provided array should be ordered by the actual results (first place finisher's
@@ -49,15 +57,16 @@ def get_new_ratings(self, initial_ratings: Union[list, ndarray]) -> ndarray:
         :param initial_ratings: array of ratings (float values) in order of actual results
         :return: array of updated ratings (float values) in same order as input
         """
-        if not isinstance(initial_ratings, ndarray):
+        if not isinstance(initial_ratings, np.ndarray):
             initial_ratings = np.array(initial_ratings)
         n = len(initial_ratings)  # number of players
         actual_scores = self.get_actual_scores(n)
         expected_scores = self.get_expected_scores(initial_ratings)
         scale_factor = self.k * (n - 1)
+        self.logger.debug(f"scale factor: {scale_factor}")
         return initial_ratings + scale_factor * (actual_scores - expected_scores)
 
-    def get_actual_scores(self, n: int) -> ndarray:
+    def get_actual_scores(self, n: int) -> np.ndarray:
         """
         Return the scores to be awarded to the players based on the results.
 
@@ -66,10 +75,11 @@ def get_actual_scores(self, n: int) -> ndarray:
         """
         scores = self._score_func(n)
         self._validate_actual_scores(scores)
+        self.logger.debug(f"calculated actual scores: {scores}")
         return scores
 
     @staticmethod
-    def _validate_actual_scores(scores: ndarray):
+    def _validate_actual_scores(scores: np.ndarray):
         if not np.allclose(1, sum(scores)):
             raise ValueError("scoring function does not return scores summing to 1")
         if min(scores) != 0:
@@ -77,24 +87,27 @@ def _validate_actual_scores(scores: ndarray):
         if not np.all(np.diff(scores) < 0):
             raise ValueError("scoring function does not return monotonically decreasing values")
 
-    def get_expected_scores(self, ratings: Union[list, ndarray]) -> ndarray:
+    def get_expected_scores(self, ratings: Union[List[float], np.ndarray]) -> np.ndarray:
         """
         Get the expected scores for all players given their ratings before the matchup.
 
         :param ratings: array of ratings for each player in a matchup
         :return: array of expected scores for all players
         """
-        if not isinstance(ratings, ndarray):
+        self.logger.debug(f"computing expected scores for {ratings}")
+        if not isinstance(ratings, np.ndarray):
             ratings = np.array(ratings)
         if ratings.ndim > 1:
             raise ValueError(f"ratings should be 1-dimensional array (received {ratings.ndim})")
 
         # get all pairwise differences
         diff_mx = ratings - ratings[:, np.newaxis]
+        self.logger.debug(f"diff_mx = \n{diff_mx}")
 
         # get individual contributions to expected score using logistic function
-        logistic_mx = 1 / (1 + 10 ** (diff_mx / self.d))
+        logistic_mx = 1 / (1 + self._log_base ** (diff_mx / self.d))
         np.fill_diagonal(logistic_mx, 0)
+        self.logger.debug(f"logistic_mx = \n{logistic_mx}")
 
         # get each expected score (sum individual contributions, then scale)
         expected_scores = logistic_mx.sum(axis=1)
@@ -105,4 +118,118 @@ def get_expected_scores(self, ratings: Union[list, ndarray]) -> ndarray:
         # this should be guaranteed, but check to make sure
         if not np.allclose(1, sum(expected_scores)):
             raise ValueError("expected scores do not sum to 1")
+        self.logger.debug(f"calculated expected scores: {expected_scores}")
         return expected_scores
+
+    def simulate_win_probabilities(
+            self,
+            ratings: Union[List[float], np.ndarray],
+            n_sim: int = int(1e5),
+            seed: int = None,
+    ) -> np.ndarray:
+        """
+        Estimate the probability of each player finishing in each possible
+        place using a simulation. Returns a matrix where (i, j) values are the
+        probability that player i finishes in place j.
+
+        To simulate a game including players in the
+        ratings array, we generate a score for each player using a Gumbel
+        distribution. If a player has rating R, then that player's score is
+        sampled from a Gumbel(R, D) distribution, where D is the Elo D
+        parameter. Then we rank the players in descending order of their
+        scores to determine first place, second place, ..., last place. We
+        count the number of times each player finishes in each place and then
+        divide by the number of simulations to calculate the proportions.
+
+        We generate scores using Gumbel distributions because of the property:
+        ~~    Gumbel(a_1, b) - Gumbel(a_2, b) ~ Logistic(a_1 - a_2, b)    ~~
+
+        The Logistic(a_1 - a_2, b) distribution is the same distribution that
+        describes the pairwise win probability if two payers have Elo ratings
+        a_1 and a_2. In other words, a score sampled from Gumbel(a_1, b) will
+        be greater than a score sampled from Gumbel(a_2, b) with the same
+        probability that a player with Elo rating a_1 will beat a player with
+        Elo rating a_2 in a 1-on-1 matchup.
+
+        :param ratings: array of ratings of the players involved
+        :param n_sim: number of simulations to run
+        :param seed: (optional) seed for random number generation
+
+        :return: matrix (a numpy array) where (i, j) values are the probability
+        that player i finishes in place j
+        """
+        if seed is not None:
+            np.random.seed(seed)
+
+        # sort so we always get the same result for same distinct ratings, but
+        # keep track of original order
+        idx = np.argsort(ratings)
+        ratings = sorted(ratings)
+
+        # simulate n_sim scores for each player from Gumbel distributions
+        n_players = len(ratings)
+        n_sim = int(n_sim)
+        scores = np.zeros((n_players, n_sim))
+        self.logger.debug(f"simulating {n_sim:,} scores for each player")
+        for i, rating in enumerate(ratings):
+            scores[idx[i], :] = _gumbel_sample(
+                loc=rating,
+                scale=self.d,
+                size=int(n_sim),
+                base=self._log_base
+            )
+            self.logger.debug(f"finished sampling {n_sim:,} scores for player {i+1} of {n_players}")
+
+        # use the scores to decide the order of finish (highest score wins) and
+        # create matrix with proportion of times each player finishes in each place
+        result_mx = self._convert_scores_to_result_proportions(scores)
+        self.logger.debug(f"finished simulation")
+        return result_mx
+
+    @staticmethod
+    def _convert_scores_to_result_proportions(scores: np.ndarray) -> np.ndarray:
+        """
+        Take an array of scores with one row per player and one column per
+        simulation, and return a matrix with one row per player and one column
+        per place. Each (row, col) value in the returned matrix is the count of
+        times player "row" finished in place "col".
+        """
+        # sort scores from high to low for each simulation
+        results = np.argsort(-scores, axis=0)
+
+        # put it into a matrix where row = player, column = place, value = count
+        # of times player finished in place
+        n = scores.shape[0]
+        count_mx = np.zeros((n, n))
+        for i, x in enumerate(results):
+            counts = np.bincount(x, minlength=n)
+            count_mx[:, i] = counts
+
+        proportion_mx = count_mx / scores.shape[1]
+        return proportion_mx
+
+
+def _gumbel_sample(
+        loc: float,
+        scale: float,
+        size: int = 1,
+        base: float = np.exp(1),
+) -> np.ndarray:
+    """
+    Sample from a Gumbel distribution (optionally with a different log base).
+
+    :param loc: location parameter for distribution
+    :param scale: scale parameter for distribution (> 0)
+    :param size: number of samples to draw
+    :param base: base for logarithm (defaults to natural log)
+
+    :return: sample(s) from Gumbel distribution
+    """
+    if scale <= 0:
+        raise ValueError("scale parameter for Gumbel distribution must be > 0")
+    p = np.random.rand(int(size))
+    return loc - scale * _log(-_log(p, base=base), base=base)
+
+
+def _log(x, base=np.exp(1)):
+    return np.log(x) / np.log(base)
diff --git a/multielo/player_tracker.py b/multielo/player_tracker.py
index 816b357..822d26f 100644
--- a/multielo/player_tracker.py
+++ b/multielo/player_tracker.py
@@ -3,6 +3,7 @@
 from pandas import DataFrame
 from typing import Union, List, Tuple
 import logging
+import warnings
 from .multielo import MultiElo
 from .config import defaults
 
@@ -14,11 +15,12 @@ class Player:
     """
 
     def __init__(
-        self,
-        player_id: str,
-        rating: float = defaults["INITIAL_RATING"],
-        rating_history: List[Tuple[Union[str, float], float]] = None,
-        date: Union[str, float] = None,
+            self,
+            player_id: str,
+            rating: float = defaults["INITIAL_RATING"],
+            rating_history: List[Tuple[Union[str, float], float]] = None,
+            date: Union[str, float] = None,
+            logger: logging.Logger = None,
     ):
         """
         Instantiate a player.
@@ -37,6 +39,9 @@ def __init__(
         else:
             self.rating_history = rating_history
 
+        self.logger = logger or logging.getLogger(__name__)
+        self.logger.info(f"created player with ID {player_id} and rating {rating}")
+
     def update_rating(self, new_rating: float, date: Union[str, float]):
         """
         Update a player's rating and rating history. (updates the self.rating and self.rating_history attributes)
@@ -44,6 +49,7 @@ def update_rating(self, new_rating: float, date: Union[str, float]):
         :param new_rating: player's new rating
         :param date: date the new rating was achieved
         """
+        self.logger.info(f"Updating rating for {self.id}: {self.rating:.3f} --> {new_rating:.3f}")
         self.rating = new_rating
         self._update_rating_history(rating=new_rating, date=date)
 
@@ -123,7 +129,7 @@ def __init__(
         elo_rater: MultiElo = MultiElo(),
         initial_rating: float = defaults["INITIAL_RATING"],
         player_df: DataFrame = None,
-        logger=None,
+        logger: logging.Logger = None,
     ):
         """
         Instantiate a tracker that will track player's ratings over time as matchups occur.
@@ -143,8 +149,8 @@ def __init__(
         self.player_df = player_df
         self._validate_player_df()
 
-        self.logger = logger or logging.getLogger()
-        logging.basicConfig()
+        self.logger = logger or logging.getLogger(__name__)
+        self.logger.info(f"Created Tracker with Elo paramers K={self.elo.k}, D={self.elo.d}")
 
     def process_data(self, matchup_history_df: DataFrame, date_col: str = "date"):
         """
@@ -164,15 +170,10 @@ def process_data(self, matchup_history_df: DataFrame, date_col: str = "date"):
             players = [self._get_or_create_player(row[x]) for x in place_cols if not pd.isna(row[x])]
             initial_ratings = np.array([player.rating for player in players])
             new_ratings = self.elo.get_new_ratings(initial_ratings)
+            self.logger.info(f"processing rating changes for date {date}...")
             for i, player in enumerate(players):
                 player.update_rating(new_ratings[i], date=date)
 
-            # log rating changes at INFO level
-            msg = f"{date}: "
-            for i, player in enumerate(players):
-                msg += f"{player.id}: {round(initial_ratings[i], 2)} --> {round(player.rating, 2)}; "
-            self.logger.info(msg)
-
     def get_current_ratings(self) -> DataFrame:
         """
         Retrieve the current ratings of all players in this Tracker.
@@ -200,7 +201,7 @@ def get_history_df(self) -> DataFrame:
         for player in players:
             # check if there are any missing dates after the first entry (the initial rating)
             if any([x[0] is None for x in player.rating_history[1:]]):
-                self.logger.warning(f"WARNING: possible missing dates in history for Player {player.id}")
+                warnings.warn(f"WARNING: possible missing dates in history for Player {player.id}")
 
             player_history_df = DataFrame(player.rating_history, columns=["date", "rating"])
             player_history_df = player_history_df[~player_history_df["date"].isna()]
@@ -229,11 +230,10 @@ def _create_new_player(self, player_id: str) -> Player:
             raise ValueError(f"a player with ID {player_id} already exists in the tracker")
 
         # create and add the player to the database
-        player = Player(player_id, rating=self.initial_player_rating)
+        player = Player(player_id, rating=self.initial_player_rating, logger=self.logger)
         add_df = DataFrame({"player_id": [player_id], "player": [player]})
         self.player_df = pd.concat([self.player_df, add_df])
         self._validate_player_df()
-        self.logger.info(f"created player with ID {player_id}")
         return player
 
     def _validate_player_df(self):
diff --git a/setup.py b/setup.py
index 1eecdb8..7caba9a 100644
--- a/setup.py
+++ b/setup.py
@@ -1,4 +1,4 @@
-from setuptools import setup, find_packages
+from setuptools import setup
 
 
 def readme():
@@ -6,6 +6,10 @@ def readme():
         return f.read()
 
 
+install_requires = ["numpy", "pandas"]
+test_requires = ["pytest"]
+dev_requires = test_requires
+
 # read version from _version.py
 with open("multielo/_version.py") as version_file:
     version = version_file.read().strip().split("=")[1].replace('"', "").replace("'", "").strip()
@@ -20,9 +24,10 @@ def readme():
     author="Danny Cunningham",
     author_email="djcunningham0@gmail.com",
     license="MIT",
-    packages=find_packages(),
+    packages=["multielo"],
     python_requires=">=3",
-    install_requires=["numpy", "pandas"],
+    install_requires=install_requires,
+    extras_require={"tests": test_requires, "dev": dev_requires},
     classifiers=[
         "Development Status :: 3 - Alpha",
         "License :: OSI Approved :: MIT License",


Test patch:
diff --git a/tests/test_elo.py b/tests/test_elo.py
index 08bc6ee..376c443 100644
--- a/tests/test_elo.py
+++ b/tests/test_elo.py
@@ -1,7 +1,4 @@
-import os
-import sys
-sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
-
+import pytest
 from multielo import MultiElo
 import numpy as np
 
@@ -26,20 +23,44 @@ def test_elo_defaults():
         assert key in expected_keys, f"{key} is in defaults but is not one of the expected keys"
 
 
-def test_elo_changes():
-    # test a couple known changes in elo values
-    elo = MultiElo(k_value=32, d_value=400)
-    ratings = np.array([1000, 1000])
-    assert np.allclose(elo.get_expected_scores(ratings), [0.5, 0.5])
-    assert np.allclose(elo.get_new_ratings(ratings), [1016, 984])
-    ratings_2 = [1200, 1000]  # should also work with a list
-    assert np.allclose(elo.get_expected_scores(ratings_2), [0.75974693, 0.24025307])
-    assert np.allclose(elo.get_new_ratings(ratings_2), [1207.68809835, 992.31190165])
-    assert np.allclose(elo.get_expected_scores(ratings_2[::-1]), [0.24025307, 0.75974693])
-    assert np.allclose(elo.get_new_ratings(ratings_2[::-1]), [1024.31190165, 1175.68809835])
-    ratings_3 = np.array([1200, 800])
-    assert np.allclose(elo.get_expected_scores(ratings_3), [0.90909091, 0.09090909])
-    assert np.allclose(elo.get_new_ratings(ratings_3), [1202.90909091, 797.09090909])
+@pytest.mark.parametrize(
+    "k, d, s, ratings, true_expected, true_new",
+    [
+        (32, 400, 1, np.array([1000, 1000]), [0.5, 0.5], [1016, 984]),
+        (32, 400, 1, [1200, 1000], [0.75974693, 0.24025307], [1207.68809835, 992.31190165]),
+        (32, 400, 1, [1000, 1200], [0.24025307, 0.75974693], [1024.31190165, 1175.68809835]),
+        (32, 400, 1, np.array([1200, 800]), [0.90909091, 0.09090909], [1202.90909091, 797.09090909]),
+        (64, 400, 1, [1200, 1000], [0.75974693, 0.24025307], [1215.37619669,  984.62380331]),
+        (64, 800, 1, [1200, 1000], [0.640065, 0.359935], [1223.03584001,  976.96415999]),
+        (32, 800, 1, [1200, 1000], [0.640065, 0.359935], [1211.51792001,  988.48207999]),
+        (32, 200, 1, [1200, 1000], [0.90909091, 0.09090909], [1202.90909091,  997.09090909]),
+        (32, 400, 1.5, [1200, 1000], [0.75974693, 0.24025307], [1207.68809835, 992.31190165]),
+        (32, 400, 1, [1200, 1000, 900], [0.53625579, 0.29343936, 0.17030485],
+         [1208.34629612, 1002.55321444, 889.10048944]),
+        (32, 400, 1, [1000, 1200, 900], [0.29343936, 0.53625579, 0.17030485],
+         [1023.88654777, 1187.01296279, 889.10048944]),
+        (32, 400, 1.25, [1200, 1000, 900], [0.53625579, 0.29343936, 0.17030485],
+         [1209.98732176, 1000.9121888, 889.10048944]),
+        (32, 400, 1.5, [1200, 1000, 900], [0.53625579, 0.29343936, 0.17030485],
+         [1211.39391517, 999.50559539, 889.10048944]),
+        (32, 400, 2, [1200, 1000, 900], [0.53625579, 0.29343936, 0.17030485],
+         [1213.67962945, 997.21988111, 889.10048944]),
+        (32, 400, 1.25, [1200, 1000, 900, 1050], [0.38535873, 0.21814249, 0.13458826, 0.26191052],
+         [1214.82857088, 1009.6423915, 900.67244749, 1024.85659012]),
+    ]
+)
+def test_elo_changes(k, d, s, ratings, true_expected, true_new):
+    """
+    Test some known values to make sure Elo is calculating the correct updates.
+
+    :param ratings:
+    :param true_expected:
+    :param true_new:
+    :return:
+    """
+    elo = MultiElo(k_value=k, d_value=d, score_function_base=s)
+    assert np.allclose(elo.get_expected_scores(ratings), true_expected)
+    assert np.allclose(elo.get_new_ratings(ratings), true_new)
 
 
 def test_zero_sum():
diff --git a/tests/test_player_tracker.py b/tests/test_player_tracker.py
index 8367d6b..54cc349 100644
--- a/tests/test_player_tracker.py
+++ b/tests/test_player_tracker.py
@@ -1,7 +1,3 @@
-import os
-import sys
-sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
-
 from multielo import Player, Tracker, MultiElo
 from multielo.config import defaults
 import pandas as pd
diff --git a/tests/test_score_functions.py b/tests/test_score_functions.py
index 5018007..e7a350d 100644
--- a/tests/test_score_functions.py
+++ b/tests/test_score_functions.py
@@ -1,7 +1,3 @@
-import os
-import sys
-sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
-
 import numpy as np
 from multielo.score_functions import linear_score_function, create_exponential_score_function
 
diff --git a/tests/test_win_probability_simulation.py b/tests/test_win_probability_simulation.py
new file mode 100644
index 0000000..044874f
--- /dev/null
+++ b/tests/test_win_probability_simulation.py
@@ -0,0 +1,70 @@
+import pytest
+import multielo
+import numpy as np
+import warnings
+
+
+@pytest.mark.parametrize(
+    "scores, true_counts",
+    [
+        (
+            np.array([
+                [100, 100, 100, 100, 100, 100],
+                [110, 90,  110, 90,  110, 90 ],
+                [85,  95,  105, 85,  95,  105],
+            ]),
+            np.array([
+                [2, 3, 1],
+                [3, 1, 2],
+                [1, 2, 3]
+            ])
+        ),
+        (
+            np.array([
+                [100, 100, 100, 100, 100, 100],
+                [110, 90,  110, 90,  110, 90 ],
+                [85,  95,  105, 85,  95,  105],
+                [0,   0,   0,   0,   0,   0  ],
+            ]),
+            np.array([
+                [2, 3, 1, 0],
+                [3, 1, 2, 0],
+                [1, 2, 3, 0],
+                [0, 0, 0, 6],
+            ])
+        ),
+        (
+            np.array([
+                [100, 100, 100, 100, 100, 100, 100],
+                [110, 101, 110, 101, 110, 101, 110],
+                [85,  95,  105, 85,  95,  105, 85 ],
+            ]),
+            np.array([
+                [0, 5, 2],
+                [6, 1, 0],
+                [1, 1, 5]
+            ])
+        ),
+    ]
+)
+def test_scores_to_result_proportions(scores: np.ndarray, true_counts: np.ndarray):
+    """
+    Provide some score arrays and make sure MultiElo calculates the correct
+    result proportions.
+    """
+    scores_to_proportions = multielo.MultiElo._convert_scores_to_result_proportions
+    n_scores_per_player = scores.shape[1]
+    true_proportions = true_counts / n_scores_per_player
+    assert np.all(scores_to_proportions(scores) == true_proportions)
+
+
+def test_invalid_scores_to_result_proportions():
+    # inconsistent lengths
+    with pytest.raises(Exception):
+        warnings.filterwarnings("ignore", category=np.VisibleDeprecationWarning)
+        scores = np.array([
+            [100, 90, 100],
+            [95, 105],
+            [80, 120, 80],
+        ])
+        multielo.MultiElo._convert_scores_to_result_proportions(scores)