Dots Calculator Skill
Overview
Calculates Dots coefficients for International Powerlifting Federation (IPF) competition data. The Dots formula normalizes total lifted weight by bodyweight and sex.
Workflow
- Identify columns needed: Name, Sex, BodyweightKg, Best3SquatKg, Best3BenchKg, Best3DeadliftKg
- Copy these columns to Dots sheet (preserving original order and names)
- Append TotalKg column with Excel formula (sum of three lifts)
- Append Dots column with Excel formula using sex-dependent polynomial coefficients
Dots Formula
Dots = TotalKg * 500 / (Abw^4 + Bbw^3 + Cbw^2 + Dbw + E)
Male coefficients: A=-0.000001093, B=0.0007391293, C=-0.1918759221, D=24.0900756, E=-307.75076 Female coefficients: A=-0.0000010706, B=0.0005158568, C=-0.1126655495, D=13.6175032, E=-57.96288
Usage Example
pythonimport sys sys.path.insert(0, '/app/environment/skills/evo-dots-calculator/scripts') from utils import run_dots_pipeline, validate_dots_workbook # Run the full pipeline run_dots_pipeline('/root/data/openipf.xlsx') # Validate the output validate_dots_workbook('/root/data/openipf.xlsx')
Key Functions
get_dots_columns()- Returns list of column names needed for Dotsfind_column_indices(header_row, column_names)- Maps column names to indicescopy_columns_to_dots(wb)- Copies relevant columns from Data to Dots sheetadd_totalkg_formula(ws_dots, sorted_cols, max_row)- Adds TotalKg Excel formula columnadd_dots_formula(ws_dots, sorted_cols, max_row, total_col)- Adds Dots Excel formula columnrun_dots_pipeline(input_path, output_path)- End-to-end entry pointvalidate_dots_workbook(path)- Validates structure and formulas


