An intelligent agent for automatically detecting and resolving exceptions in interval meter data (MDM - Meter Data Management).
The MDM VEE (Validation, Estimation, and Editing) Exception Auto-Resolver is a Python-based system that:
- Generates realistic synthetic interval meter data with daily patterns, temperature sensitivity, and weekend effects
- Detects common exceptions including missing intervals, spikes, and register rollovers
- Proposes intelligent fixes using rule-based heuristics, SARIMAX time series forecasting, and neighbor meter profiling
- Applies fixes automatically with confidence scoring and constraint validation
- Maintains a complete audit trail of all applied fixes with explanations
- Evaluates performance using standard metrics (MAE, MAPE, RMSE)
- Provides a web dashboard for visualization and analysis
- Python 3.10+
- pip
# Clone the repository
git clone <repository-url>
cd mdm-vee-agent
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt# 1. Generate synthetic data
python scripts/generate_synthetic_data.py --meters 100 --days 30 --out data/raw/clean.parquet
# 2. Inject exceptions
python scripts/inject_exceptions.py --in data/raw/clean.parquet --out data/interim/with_exceptions.parquet --exceptions data/interim/exceptions.jsonl
# 3. Run the complete agent pipeline
python scripts/run_agent.py --input data/interim/with_exceptions.parquet --output data/processed/fixed.parquet --audit data/processed/audit_log.jsonl --confidence-threshold 0.9
# 4. Evaluate performance
python scripts/evaluate_agent.py --fixed data/processed/fixed.parquet --truth data/raw/clean.parquet
# 5. Launch the dashboard
streamlit run scripts/demo_streamlit_app.py