> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dune.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SPO Epoch Performance

> Midnight SPO epoch performance data

export const TableSample = ({tableName, tableSchema}) => <>
    <div className="hidden dark:block">
      <iframe src={`https://dune.com/embeds/3419983/5785629?table_schema_t6f0df=${tableSchema}&table_name_t6f0df=${tableName}&darkMode=true`} style={{
  width: '100%',
  height: '500px',
  border: 'none',
  marginTop: '10px'
}} />
    </div>
    <div className="dark:hidden">
      <iframe src={`https://dune.com/embeds/3419983/5785629?table_schema_t6f0df=${tableSchema}&table_name_t6f0df=${tableName}`} style={{
  width: '100%',
  height: '500px',
  border: 'none',
  marginTop: '10px'
}} />
    </div>
  </>;

# Table Description

This table compares expected versus produced blocks for each SPO in an epoch.

## Column Descriptions

| Column Name          | Data Type | Description                                        |
| -------------------- | --------- | -------------------------------------------------- |
| **spo\_sk**          | varchar   | Stake pool operator key / identifier.              |
| **epoch\_no**        | bigint    | Epoch number.                                      |
| **identity\_label**  | varchar   | Identity label for the SPO in the epoch.           |
| **expected\_blocks** | bigint    | Expected number of blocks for the SPO.             |
| **produced\_blocks** | bigint    | Number of blocks produced by the SPO.              |
| **\_updated\_at**    | timestamp | Timestamp when this record was last updated.       |
| **\_ingested\_at**   | timestamp | Timestamp when this record was ingested into Dune. |

## Table Sample

<TableSample tableSchema="midnight" tableName="spo_epoch_performance" />
