Most machine learning tutorials use clean datasets. Iris flowers. Titanic passengers. Housing prices with complete records. Then you open a Greek company's sales spreadsheet and find missing dates, duplicate entries, product codes that changed halfway through 2023, and a column labeled "other" with 40% of revenue.
This is where prediction models actually live or die.
What Makes Business Data Messy
Real business data has patterns that break assumptions. Seasonal businesses show three months of zeros. Accounting software migrations create discontinuities. Manual data entry produces creative spelling variations of the same customer name. Product hierarchies change without historical correction.
A hotel in Crete tracks bookings in one system, actual arrivals in another, and restaurant charges in a third. The timestamps don't align. Some records have euros, others have the old currency code still. Weekend data gets entered Monday morning in batches.
Standard prediction models expect consistent intervals, complete features, and stable relationships. They get none of these.
What Actually Works
Start with aggressive data profiling. Calculate missing percentages per column. Plot distributions by time period to spot regime changes. Flag outliers but investigate them before removing them because in Greek business data, the outlier is often the only correct record.
Feature engineering matters more than model complexity. Create binary flags for data quality issues. Build rolling aggregates that tolerate gaps. Extract time-based features that capture known business cycles like tourist season, tax deadline months, or pre-holiday ordering patterns.
Use models that handle missing data natively. Gradient boosting frameworks like XGBoost and LightGBM treat missing values as a learnable pattern rather than a problem to solve beforehand. Random forests are robust to noisy features. Simple linear models with careful feature selection often outperform complex architectures on small, messy datasets.
Validation That Reflects Reality
Time-based splits, not random splits. Your model will predict future months, so validate on future months. If you train on 2023 and test on 2024, you catch the product code change that breaks everything.
Track prediction intervals, not just point estimates. Business users need to know if the forecast is 1000 units plus or minus 50, or plus or minus 500. Quantile regression or conformal prediction provides this. A range you can trust beats a precise number you cannot.
Build monitoring into deployment. Log input data distributions. Alert when new data looks different from training data. Greek businesses change suppliers, enter new markets, or restructure without telling their AI systems. The model needs to notice.
The Practical Path
For most Greek businesses, start with a baseline that uses last year's value adjusted for known growth. Build a simple model that beats this baseline by 10-15%. Deploy it with clear confidence bounds. Monitor for three months. Only then consider more complexity.
Document every data cleaning decision. When you fill missing values or merge duplicate records, write down the rule. Six months later, when the business user asks why the forecast changed, you need to explain what the data looked like and what you did about it.
Prediction models on messy business data are not about achieving 95% accuracy. They are about providing reliable decision support with honest uncertainty estimates. That requires less algorithm optimization and more data reality acceptance.
The mess is the actual problem. Solve for the mess.