Problem
- No system specification or data dictionary
- Data duplicated across 92 tables
- Presentation, business and DB logic tightly coupled within PHP files
- Non-standard rules, duplicated logic and hard-coded parameters made it impossible to change or experiment with the recommendation logic