Initial commit: sales analysis template

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jonathan Pressnell
2026-02-06 09:16:34 -05:00
commit cf0b596449
38 changed files with 8001 additions and 0 deletions

118
SETUP_CHECKLIST.md Normal file
View File

@@ -0,0 +1,118 @@
# Setup Checklist
Use this checklist to ensure your template is properly configured before running analyses.
## ✅ Initial Setup
- [ ] **Install dependencies**
```bash
pip install -r requirements.txt
```
- [ ] **Run setup wizard**
```bash
python setup_wizard.py
```
- [ ] **Place data file** in template directory (or update `DATA_DIR` in config.py)
## ✅ Configuration Verification
Open `config.py` and verify:
- [ ] **Company Information**
- [ ] `COMPANY_NAME` is set
- [ ] `ANALYSIS_DATE` is current
- [ ] **Data File**
- [ ] `DATA_FILE` matches your CSV filename
- [ ] File exists in expected location
- [ ] **Column Mappings**
- [ ] `REVENUE_COLUMN` matches your CSV
- [ ] `DATE_COLUMN` matches your CSV
- [ ] `CUSTOMER_COLUMN` matches your CSV (if applicable)
- [ ] `ITEM_COLUMN` matches your CSV (if applicable)
- [ ] `QUANTITY_COLUMN` matches your CSV (if applicable)
- [ ] **Date Configuration**
- [ ] `MIN_YEAR` is correct
- [ ] `MAX_DATE` is correct
- [ ] `ANALYSIS_YEARS` includes all years you want to analyze
- [ ] **LTM Configuration** (if needed)
- [ ] `LTM_ENABLED` is set correctly
- [ ] `LTM_START_MONTH`, `LTM_START_YEAR` are correct
- [ ] `LTM_END_MONTH`, `LTM_END_YEAR` are correct
- [ ] **Exclusion Filters** (if needed)
- [ ] `EXCLUSION_FILTERS['enabled']` is set correctly
- [ ] `exclude_by_column` matches a column in your data
- [ ] `exclude_values` list is correct
## ✅ Data Loading Test
- [ ] **Test data loading**
```bash
python -c "from data_loader import load_sales_data; from config import get_data_path; df = load_sales_data(get_data_path()); print(f'✓ Loaded {len(df):,} rows')"
```
- [ ] **Verify date coverage**
- Check output shows good date coverage (>95% recommended)
- Verify date range matches expectations
- [ ] **Verify revenue column**
- Check that revenue values are numeric
- Verify no unexpected NaN values
## ✅ First Analysis Test
- [ ] **Copy template**
```bash
cp analysis_template.py test_analysis.py
```
- [ ] **Run test analysis**
```bash
python test_analysis.py
```
- [ ] **Verify outputs**
- [ ] Chart generated successfully
- [ ] Chart saved to `charts/` directory
- [ ] Revenue validation passed
- [ ] No errors in console output
## ✅ Common Issues Check
Before running full analyses, verify:
- [ ] **Column names match** - All column mappings in config.py match your CSV
- [ ] **Date format works** - Dates are parsing correctly (check data_loader output)
- [ ] **Date range is correct** - MIN_YEAR and MAX_DATE include your data
- [ ] **LTM is configured** - If using LTM, dates are within your data range
- [ ] **Exclusions work** - If using exclusions, column and values are correct
## ✅ Ready for Production
Once all checks pass:
- [ ] **Create your analyses** using `analysis_template.py`
- [ ] **Add to batch runner** in `run_all_analyses.py`
- [ ] **Run all analyses** to generate complete analysis suite
---
## 🐛 Troubleshooting
If any check fails:
1. **Data loading issues:** See `.cursor/rules/data_loading.md`
2. **Configuration issues:** Review `config.py` comments
3. **Common errors:** See `.cursor/rules/common_errors.md`
4. **Pattern questions:** See `.cursor/rules/analysis_patterns.md`
---
**Checklist Version:** 1.0
**Last Updated:** January 2026