Skip to main content

A KPI calculation tool

Project description

KPI Formula Tool Usage Guide

Table of Contents

  1. Installation
  2. Basic Usage
  3. Data Loading
  4. Data Operations
  5. Table Operations
  6. Advanced KPI Calculations
  7. Data Processing
  8. Data Export
  9. Common Issues
  10. Best Practices

1. Installation

pip install kpi-formula-t5

# For development installation
pip install -e ".[dev]"

# For database support
pip install ".[mysql]"  # MySQL support
pip install ".[postgresql]"  # PostgreSQL support

2. Basic Usage

from kpi_formula import DataManager

# Initialize manager
manager = DataManager()

3. Data Loading

a) From Files

# Load CSV
manager.load_data('sales.csv', 'sales')

# Load Excel
manager.load_data('customers.xlsx', 'customers')

# Load JSON
manager.load_data('products.json', 'products')

b) From Database

# Connect to database
manager.connect_database("sqlite:///test.db")  # SQLite
manager.connect_database("postgresql://user:password@localhost:5432/dbname")  # PostgreSQL
manager.connect_database("mysql+pymysql://user:password@localhost:3306/dbname")  # MySQL

# Load from table
manager.load_from_table(
    table_name='sales_transactions',
    name='sales'
)

# Load with SQL query
manager.load_from_query(
    """
    SELECT s.*, c.customer_name
    FROM sales_transactions s
    JOIN customers c ON s.customer_id = c.customer_id
    WHERE s.sales_amount > 1000
    """,
    name='filtered_sales'
)

4. Data Operations

a) Add Calculated Columns

manager.add_column(
    data_name='sales',
    new_column='unit_price',
    expression='sales_amount / quantity'
)

b) Compute Operations

# Sum
total = manager.compute(
    data_name='sales',
    columns=['sales_amount'],
    operation='sum'
)

# Average with grouping
avg_by_region = manager.compute(
    data_name='sales',
    columns=['sales_amount'],
    operation='mean',
    group_by='region'
)

Supported operations:

  • 'sum': Sum
  • 'mean': Average
  • 'median': Median
  • 'max': Maximum
  • 'min': Minimum
  • 'count': Count

5. Table Operations

a) Basic Join

manager.join_datasets(
    left_name='sales',
    right_name='customers',
    on='customer_id',
    how='left',
    result_name='sales_with_customer'
)

Join Types:

  • how='left': Left join
  • how='right': Right join
  • how='inner': Inner join
  • how='outer': Outer join

6. Advanced KPI Calculations

from kpi_formula.advanced.kpi_calculator import KPICalculator

# ROI
roi = KPICalculator.roi(revenue=1000, investment=500)

# Conversion Rate
conv_rate = KPICalculator.conversion_rate(
    conversions=30,
    visitors=1000
)

# Customer Lifetime Value
clv = KPICalculator.customer_lifetime_value(
    avg_purchase_value=100,
    avg_purchase_frequency=4,
    customer_lifespan=3
)

# Gross Margin
margin = KPICalculator.gross_margin(
    revenue=1000,
    cost=600
)

7. Data Processing

from kpi_formula.advanced.data_processor import DataProcessor

# Moving Average
ma = DataProcessor.moving_average(sales_data, window=3)

# Year-over-Year Growth
yoy = DataProcessor.year_over_year_growth(sales_data)

8. Data Export

a) To Files

# CSV Export
manager.export_data('sales', 'exports/sales.csv')

# Excel Export
manager.export_data(
    'sales',
    'exports/sales.xlsx',
    format='excel',
    sheet_name='Sales Data'
)

# JSON Export
manager.export_data(
    'sales',
    'exports/sales.json',
    format='json',
    orient='records'
)

b) To Database

manager.save_to_database(
    data_name='sales_analysis',
    table_name='analysis_results',
    if_exists='replace'  # 'fail', 'replace', or 'append'
)

9. Common Issues

a) Import Errors

Make sure all required dependencies are installed:

pip install "kpi-formula-t5[all]"

b) Database Connection Errors

  • Check connection string format
  • Verify database credentials
  • Ensure database server is running
  • Install appropriate database drivers:
    pip install "kpi-formula-t5[mysql]"  # for MySQL
    pip install "kpi-formula-t5[postgresql]"  # for PostgreSQL
    

c) File Path Errors

import os
file_path = os.path.join(os.getcwd(), 'data', 'sales.csv')
manager.load_data(file_path, 'sales')

10. Best Practices

  1. Always use try-except blocks for error handling
  2. Validate data before processing
  3. Use meaningful names for datasets
  4. Close database connections when done
  5. Export results regularly
  6. Monitor memory usage with large datasets
  7. Use appropriate data types for calculations

For more information and updates, visit:
GitHub Repository

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kpi_formula_t5-0.2.3.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kpi_formula_t5-0.2.3-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file kpi_formula_t5-0.2.3.tar.gz.

File metadata

  • Download URL: kpi_formula_t5-0.2.3.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for kpi_formula_t5-0.2.3.tar.gz
Algorithm Hash digest
SHA256 c4a7432db9b0be2c004dee2bcf7096c26da494c60e8ccc3f21ea67b8b2ef0de8
MD5 12d940f275d595b9a48ba25304dc402f
BLAKE2b-256 9bec49f2f18b470b5ae114f6f718bca5b6c7d346932423b6b69f3f237bb1fb13

See more details on using hashes here.

File details

Details for the file kpi_formula_t5-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: kpi_formula_t5-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for kpi_formula_t5-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 28a4af77bb69e90f38c481f6e0310d310f5e4dea159ef8992db11e921c04a405
MD5 aefa29c59d080d749b12cdf3ec44555d
BLAKE2b-256 f2c66276b78c39d7f381ef0d64c83a461e22ffe36a09b83ac318056fd408f222

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page