{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "2ec166b9",
   "metadata": {},
   "source": [
    "# KPI Decomposition Deep Dive\n",
    "\n",
    "Break down production, mobilisation, sequencing, and downtime metrics for the tiny7 scenario."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "5f2971e1",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-11-14T10:34:50.593128Z",
     "iopub.status.busy": "2025-11-14T10:34:50.592214Z",
     "iopub.status.idle": "2025-11-14T10:34:51.426150Z",
     "shell.execute_reply": "2025-11-14T10:34:51.425147Z"
    }
   },
   "outputs": [],
   "source": [
    "import sys\n",
    "from pathlib import Path\n",
    "\n",
    "PROJECT_ROOT = Path.cwd().resolve()\n",
    "while PROJECT_ROOT != PROJECT_ROOT.parent and not (PROJECT_ROOT / \"pyproject.toml\").exists():\n",
    "    PROJECT_ROOT = PROJECT_ROOT.parent\n",
    "if not (PROJECT_ROOT / \"pyproject.toml\").exists():\n",
    "    raise RuntimeError(\n",
    "        \"Notebook must be executed within a FHOPS checkout (pyproject.toml not found).\"\n",
    "    )\n",
    "if str(PROJECT_ROOT) not in sys.path:\n",
    "    sys.path.insert(0, str(PROJECT_ROOT))\n",
    "\n",
    "import pandas as pd\n",
    "\n",
    "from docs.examples.analytics import utils\n",
    "from fhops.evaluation import playback_summary_metrics\n",
    "from fhops.scenario.io import load_scenario\n",
    "\n",
    "SCENARIO = PROJECT_ROOT / \"examples/tiny7/scenario.yaml\"\n",
    "ASSIGNMENTS = PROJECT_ROOT / \"tests/fixtures/playback/tiny7_assignments.csv\"\n",
    "playback_tables = utils.load_deterministic_playback(SCENARIO, ASSIGNMENTS)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b7f495ea",
   "metadata": {},
   "source": [
    "## Scenario Overview"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "d3062e03",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-11-14T10:34:51.430500Z",
     "iopub.status.busy": "2025-11-14T10:34:51.429943Z",
     "iopub.status.idle": "2025-11-14T10:34:51.464054Z",
     "shell.execute_reply": "2025-11-14T10:34:51.463436Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "samples                  1.000000\n",
       "total_production        54.000000\n",
       "total_hours            210.000000\n",
       "mobilisation_cost      335.000000\n",
       "average_utilisation      0.785714\n",
       "dtype: float64"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "scenario = load_scenario(SCENARIO)\n",
    "summary_metrics = playback_summary_metrics(playback_tables.shift, playback_tables.day)\n",
    "pd.Series(summary_metrics)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f1a4b6ec",
   "metadata": {},
   "source": [
    "## Production vs Mobilisation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "fdf3a10c",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-11-14T10:34:51.466853Z",
     "iopub.status.busy": "2025-11-14T10:34:51.466676Z",
     "iopub.status.idle": "2025-11-14T10:34:51.476386Z",
     "shell.execute_reply": "2025-11-14T10:34:51.475791Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>day</th>\n",
       "      <th>production_units</th>\n",
       "      <th>mobilisation_cost</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>6.5</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>2.5</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>5.5</td>\n",
       "      <td>65.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>6</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>7</td>\n",
       "      <td>1.5</td>\n",
       "      <td>70.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>8</td>\n",
       "      <td>4.5</td>\n",
       "      <td>65.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>9</td>\n",
       "      <td>4.5</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>10</td>\n",
       "      <td>4.5</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>11</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>12</td>\n",
       "      <td>5.5</td>\n",
       "      <td>135.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>13</td>\n",
       "      <td>5.5</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>14</td>\n",
       "      <td>5.5</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    day  production_units  mobilisation_cost\n",
       "0     1               6.5                0.0\n",
       "1     2               3.0                0.0\n",
       "2     3               3.0                0.0\n",
       "3     4               2.5                0.0\n",
       "4     5               5.5               65.0\n",
       "5     6               2.0                0.0\n",
       "6     7               1.5               70.0\n",
       "7     8               4.5               65.0\n",
       "8     9               4.5                0.0\n",
       "9    10               4.5                0.0\n",
       "10   11               0.0                0.0\n",
       "11   12               5.5              135.0\n",
       "12   13               5.5                0.0\n",
       "13   14               5.5                0.0"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "prod_metrics = playback_tables.day[[\"day\", \"production_units\", \"mobilisation_cost\"]]\n",
    "prod_metrics"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "98676f1a",
   "metadata": {},
   "source": [
    "## Sequencing & Downtime"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "045fb3b6",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-11-14T10:34:51.479516Z",
     "iopub.status.busy": "2025-11-14T10:34:51.479314Z",
     "iopub.status.idle": "2025-11-14T10:34:51.488166Z",
     "shell.execute_reply": "2025-11-14T10:34:51.487554Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>day</th>\n",
       "      <th>sequencing_violations</th>\n",
       "      <th>downtime_hours</th>\n",
       "      <th>downtime_events</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>10</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>11</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>13</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>14</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    day  sequencing_violations  downtime_hours  downtime_events\n",
       "0     1                      0             0.0                0\n",
       "1     2                      0             0.0                0\n",
       "2     3                      0             0.0                0\n",
       "3     4                      0             0.0                0\n",
       "4     5                      0             0.0                0\n",
       "5     6                      0             0.0                0\n",
       "6     7                      0             0.0                0\n",
       "7     8                      0             0.0                0\n",
       "8     9                      0             0.0                0\n",
       "9    10                      0             0.0                0\n",
       "10   11                      0             0.0                0\n",
       "11   12                      0             0.0                0\n",
       "12   13                      0             0.0                0\n",
       "13   14                      0             0.0                0"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "seq_metrics = playback_tables.day[\n",
    "    [\"day\", \"sequencing_violations\", \"downtime_hours\", \"downtime_events\"]\n",
    "]\n",
    "seq_metrics"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9d222853",
   "metadata": {},
   "source": [
    "## Visualise Utilisation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "1566b1e1",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-11-14T10:34:51.491610Z",
     "iopub.status.busy": "2025-11-14T10:34:51.491422Z",
     "iopub.status.idle": "2025-11-14T10:34:51.756130Z",
     "shell.execute_reply": "2025-11-14T10:34:51.755534Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 600x300 with 2 Axes>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 600x300 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "chart = utils.plot_utilisation_heatmap(playback_tables.shift)\n",
    "chart"
   ]
  }
 ],
 "metadata": {
  "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.12.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
