Skip to main content

Adaptive Utility Report (AUR)

The Adaptive Utility Report (AUR) is a Python framework for evaluating the magnitude and consistency of performance differences between adaptive and fixed models across repeated experimental runs.

AUR is currently under active development.


Current Version

The current implementation provides:

  • Paired comparison of adaptive and fixed model results
  • Adaptive gain-magnitude calculation
  • User-defined percentile selection
  • Percentile Upside
  • Percentile Spread
  • Automatic generation of a terminal-based AUR report

Further components are planned for future versions.


Methodology

For each paired adaptive and fixed result, AUR calculates the magnitude of the relative difference:

$$ m_s = 100 \frac{|M_{A,s} - M_{F,s}|}{|M_{F,s}|} $$

where:

  • $M_{A,s}$ is the adaptive result for seed $s$
  • $M_{F,s}$ is the corresponding fixed result
  • $m_s$ is the percentage gain magnitude

Because the numerator uses an absolute value, this quantity measures the magnitude of the difference between the adaptive and fixed results.


Percentile Selection

The user specifies a percentile $p$.

The number of observations selected is:

$$ k_p = \left\lceil \frac{p}{100} n \right\rceil $$

where:

  • $p$ is the requested percentile
  • $n$ is the total number of experimental runs
  • $k_p$ is the number of selected runs
  • $\lceil \cdot \rceil$ denotes rounding upward to the nearest integer

The gain magnitudes are ranked from highest to lowest, and the first $k_p$ observations are selected.

Because $k_p$ must be an integer, the effective percentile may differ slightly from the requested percentile.

The effective percentile is:

$$ p_{\mathrm{eff}} = 100\frac{k_p}{n} $$


Percentile Upside

The Percentile Upside is the mean gain magnitude within the selected percentile.

If the selected magnitudes are ordered as

$$ m_{(1)} \geq m_{(2)} \geq \dots \geq m_{(k_p)} $$

then:

$$ U_p = \frac{1}{k_p}\sum_{i=1}^{k_p}m_{(i)} $$

A larger Percentile Upside indicates a larger average adaptive-to-fixed difference within the selected highest-magnitude runs.


Percentile Spread

The Percentile Spread measures the range of gain magnitudes within the selected percentile:

$$ S_p = \max_{i \leq k_p}(m_{(i)}) - \min_{i \leq k_p}(m_{(i)}) $$

Equivalently, because the selected observations are already ordered:

$$ S_p = m_{(1)} - m_{(k_p)} $$

A smaller spread indicates that the selected gain magnitudes are more tightly grouped.


Installation

Clone the repository:

git clone https://github.com/GepoCode345/Adaptive-Utility-Report.git
cd Adaptive-Utility-Report

Install the package locally:

pip install -e .

The intended public package installation method will eventually be:

pip install adaptive-utility-report

after the package is published to PyPI.


Input Format

The current version accepts a CSV file with the following structure:

Seed,Adaptive_DA,Fixed_DA
15,58.3,50.0
16,55.6,52.4
17,61.1,51.2
18,52.8,48.8

Each row represents one paired experimental run.

  • Seed identifies the experimental run
  • Adaptive_DA contains the adaptive-model result
  • Fixed_DA contains the corresponding fixed-model result

The adaptive and fixed observations must be correctly paired.

For a requested percentile of 30, AUR selects approximately the top 30% of observations ranked by gain magnitude.

For example, with 10 runs:

$$ k_{30} = \left\lceil \frac{30}{100}(10) \right\rceil = 3 $$

so three observations are selected.


Package Structure

Adaptive-Utility-Report/
│
├── LICENSE
├── NOTICE
├── README.md
├── pyproject.toml
│
├── src/
│   └── aur/
│       ├── __init__.py
│       ├── read_data.py
│       ├── gains.py
│       ├── percentile.py
│       ├── spread.py
│       └── report.py
│
├── tests/
│
└── examples/
    └── weird.csv

Project Status

AUR is currently an early-stage research software project.

The present version implements the first percentile-based components of the Adaptive Utility Report methodology.

Additional analytical, historical, reporting, and validation components are planned as the framework develops.

The API, input format, and methodology may therefore change between early versions.


License

Adaptive Utility Report is licensed under the Apache License, Version 2.0.

See LICENSE and NOTICE for further information.

Copyright 2026 Gabriel Duque Díaz.

Metadata

Release files for adaptive-utility-report 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for adaptive-utility-report 0.2.0
File Size Uploaded Provenance
adaptive_utility_report-0.2.0.tar.gz 9.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for adaptive-utility-report 0.2.0
File Interpreter ABI Platform
adaptive_utility_report-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 20.9 kB

Release files / adaptive_utility_report-0.2.0.tar.gz

Download URL adaptive_utility_report-0.2.0.tar.gz
Size 9.9 kB
Tags Source
SHA-256 checksum
How to use checksums
5afe8ecc41e9c63b1a27404d598a8217ae70254ccc9ca65ce3dad70409c2b7d1
BLAKE2b-256 checksum
How to use checksums
5501c046ad5f6d4552c0fae53b336e0b70db0eab7c0f0c508645686f8437d281
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.1

Release files / adaptive_utility_report-0.2.0-py3-none-any.whl

Download URL adaptive_utility_report-0.2.0-py3-none-any.whl
Size 11.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d41870c2906c549069d386d180bf86e17a20afaa9b755d66c0a993b4fbda7614
BLAKE2b-256 checksum
How to use checksums
852c599ba7ed2b2389acffaf39452127760f2c8b4ac1f98da8bc1b9759a967c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.1

Security for adaptive-utility-report 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page