Why feature engineering still matters in the deep learning era
Deep learning automates feature extraction - but it does not remove the need to think carefully about what data you feed into the model.
One popular narrative about deep learning goes like this: neural networks find features in data by themselves, so manual feature engineering is becoming obsolete. Just give the model raw data and enough examples.
For certain tasks - computer vision, text processing - this has genuinely changed the approach. But for most applied tasks that companies work with, the story is different.
Where automatic feature extraction works
Deep neural networks handle tasks well where the input data has rich structure that is hard to express as rules: images, audio, text. Where a "feature" is a high-level abstraction over pixels or tokens, and where there is enough data for training.
In those domains, the model does learn to build hierarchical representations from raw inputs.
Where manual feature preparation still matters
Most applied business tasks are not images or text. They are tables: transactions, events, time series, CRM data.
For tabular data, deep networks show no systematic advantage over simpler methods - gradient boosting, for example. And well-prepared features remain the primary driver of quality.
What "well-prepared features" means in practice:
- aggregations over different time windows: activity over the last 7 days, 30 days, 90 days;
- differences and rates of change: how a metric changed compared to the previous period;
- features from temporal patterns: day of week, seasonality, time since last event;
- cross-features: interactions between variables that are not obvious individually.
These features are not learned automatically. They are created by people who understand the domain.
What matters more than the model
I regularly see the same situation: a team spends time tuning the model architecture, while a significant quality improvement is available from better data preparation and more thoughtful features.
A good feature based on understanding the business process often delivers more than switching from one model to another. Especially when data is scarce - and in most real tasks, it is.
This does not mean the model is unimportant. It means the quality of input data and features is often the higher-priority lever.
Where to look for improvements
A few questions that help find unrealised potential in features:
- Are there temporal patterns in the business process that are not currently represented in the features?
- Are we using only "snapshots" or also the history of changes?
- Are there features that domain experts understand but that are absent from the model?
- Are missing values handled correctly - or are they simply filled with the mean?
- Have we checked how much each feature actually influences the result?
Automatic representation learning is a real achievement. But thinking about what data goes in is not something anyone has abolished.