Welcome to OwlMix’s documentation!ΒΆ

GitHub repository PyPI package

OwlMix is a Python library for performing advanced exploratory data analysis (EDA), including lag analysis, correlation insights, and automated reporting.

✨ Key Features¢

  • Automated EDA report generation

  • Time series lag analysis

  • Correlation and statistical insights

  • Easy-to-use API for quick integration

πŸš€ Quick ExampleΒΆ

import pandas as pd
from owlmix.report import OwlMixReport

# Load your data
df = pd.read_csv("your_data.csv")

# Create and generate report
report = OwlMixReport(
   df=df,
   target="kpi",                             # Target variable for analysis
   date_column="date",                       # Date column for time series analysis
   template_name="custom_eda_template.html"  # Optional: use "custom_eda_template_dark.html" for dark theme
)

# Generate HTML and JSON reports
report.run(
   json_file_name="eda_report.json",
   html_file_name="eda_report.html"
)

πŸ“š Documentation OverviewΒΆ

πŸš€ Get StartedΒΆ

Quick Start Guide

A step-by-step guide to quickly get up and running with OwlMix.

Installation Instructions

Detailed instructions for installing OwlMix.

πŸ“– User GuideΒΆ

User Guide Overview

This section provides a comprehensive user guide for OwlMix, covering the main features, configuration options, and best practices for using the library effectively in your data analysis workflow.

🧾 API Reference¢

API Overview

This section provides an overview of the API documentation for the owlmix package, focusing on the main analytical, plotting, utility, and typing modules.

Analysis Modules

  • ACF/PACF Analysis Documentation for the ACF/PACF analysis module, including the main classes, functions, and usage examples.

  • Box Plot Analysis Documentation for the box plot analysis module, including the main classes, functions, and usage examples.

  • Causality Analysis Documentation for the causality analysis module, including the main classes, functions, and usage examples.

  • CCF Analysis Documentation for the CCF analysis module, including the main classes, functions, and usage examples.

  • Correlation Analysis Documentation for the correlation analysis module, including the main classes, functions, and usage examples.

  • VIF Analysis Documentation for the VIF analysis module, including the main classes, functions, and usage examples.

Plotter Modules

  • ACF/PACF Plotting Documentation for the ACF/PACF plotting module, including the main classes, functions, and usage examples.

  • Box Plot Plotting Documentation for the box plot plotting module, including the main classes, functions, and usage examples.

  • Dual Axis Line Plotting Documentation for the dual axis line plotting module, including the main classes, functions, and usage examples.

  • Correlation Plotting Documentation for the correlation plotting module, including the main classes, functions, and usage examples.

  • VIF Plotting Documentation for the VIF plotting module, including the main classes, functions, and usage examples.

🧾 MMM Module Overview¢

  • Overview Documentation for the MMM module, providing an overview of its purpose, features, and structure.

The MMM (Marketing Mix Modeling) module provides tools and utilities for building, analyzing, and visualizing marketing mix models. It includes various submodules for configuration, analysis, modeling, data transformation, and visualization.

πŸ“ Reporting SectionsΒΆ

Reporting Sections

This section provides detailed documentation on the individual sections that can be included in the generated reports, such as ACF/PACF analysis, causality analysis, correlation analysis, CCF analysis, VIF analysis, and box plots. Each section is implemented as a function that integrates with the report builder framework and utilizes registered analyzers and plotters to compute and visualize insights from the data.

Reporting Protocols

This section documents the protocol classes used in the reporting framework, including the ReportBuilderProtocol which defines the interface for report builders, and the SectionProtocol which defines the interface for individual report sections.

Report Builder

This section provides documentation on the ReportBuilder class, which is responsible for orchestrating the construction of the report by managing the DataFrame, configuration, and registered sections. It provides methods for adding sections, retrieving configuration, and building the final report.

HTML Renderer

This section documents the HTMLRenderer class, which is responsible for rendering the final report as an HTML file. It takes the computed data and chart metadata from the report builder and generates an HTML report using a specified template, embedding the charts and insights in a visually appealing manner.

Additional Resources:

❛ ❜ Type Annotations and ConventionsΒΆ

Type Annotations and Conventions

This section documents the type annotations, custom types, and conventions used across the package to ensure code clarity and type safety.

ExamplesΒΆ

Here you can find the example html report generated from the EDA example in the documentation.

Example: Exploratory Data Analysis

Open Example

ContributingΒΆ

Contribution Overview

This section provides guidelines and instructions for contributing to the OwlMix project, including how to report bugs, suggest features, and submit code contributions through GitHub Issues and Pull Requests. It also outlines the contribution workflow and best practices for ensuring that contributions are effective and aligned with the project’s goals.

For DevelopersΒΆ

Developer Guide Overview

This section provides a step-by-step guide for developers on how to add a new reporting section to the OwlMix library. It covers the entire process from creating analysis and plotting classes, registering them in the central registries, wiring up configuration, building the report section, and integrating it into the documentation and templates.