Skip to content

When is Machine Learning Not Appropriate

Machine learning is powerful, but it’s not the answer to every problem. Using ML when it’s not needed adds complexity, cost, and maintenance burden without delivering value. Knowing when not to use ML is just as important as knowing when to use it.

ML is a tool, not a default. Start with the simplest solution that works. Only reach for ML when simpler approaches can’t meet your requirements.


ML adds unnecessary complexity when simpler solutions exist.

SignSimple Alternative
Clear rules can solve the problemRule-based system
Deterministic calculation worksFormula/function
Small, fixed set of casesLookup table
One-time or rarely changesManual process or simple script
Strict guarantees/provable correctness neededDeterministic/verified methods + human review
ProblemML ApproachSimple Approach
Calculate sales taxTrain ML model on receiptsprice × tax_rate
Check email has basic formatClassifier on emailsSimple check (contains @, valid domain) + confirmation email
Shortest-path routing on a mapReinforcement learningDijkstra/A* algorithm
Sort numbersNeural networkQuickSort
Password authenticationDeep learning modelHash comparison

Keep it simple and maintainable. If rules or math work, use them.


ML requires quality data. Without it, you’re wasting time.

RequirementInsufficient When…
QuantityToo few samples for problem complexity (can be <100 or millions depending on task; transfer learning can help)
QualityHigh noise, many errors, inconsistencies
RelevanceFeatures don’t relate to target
CoverageGaps in feature space, edge cases missing
LabelingNo ground truth available
StabilityObjective or labels keep changing (you’ll train to noise)
FactorQuestion
Data collection costIs it cheaper to build a rules system?
Labeling effortCan humans directly make the decisions?
Data qualityWill improving data cost more than value gained?
Ongoing maintenanceWho maintains the data pipeline?
Problem: Predict customer churn for a startup with 50 customers
ML approach:
- Collect more data? Need months/years
- Label data? Expensive and slow
- Train model? Won't generalize from 50 samples
Simple approach:
- Interview churned customers directly
- Identify common patterns
- Build simple rules from findings
- Iterate as customer base grows

Some domains require explainable decisions.

DomainWhy Interpretability Matters
Medical diagnosisDoctors need to understand reasoning
Credit decisionsLegal requirement to explain denials
Legal sentencingDue process requires justification
Financial auditingRegulators need clear logic
Safety-critical systemsNeed to verify correctness
ApproachIntrinsic InterpretabilityWhen to Use
Rules/decision treesHighMust explain decisions
Linear modelsMedium-HighGood balance
Ensemble methodsLowPerformance > explanation (post-hoc explanations possible)
Deep learningLowMaximum performance needed (post-hoc explanations possible)

Note: Post-hoc explanations (SHAP, LIME) exist for complex models but may not satisfy regulatory requirements.

Example: Credit card approval

Problem: Approve or deny credit applications
ML approach: "Denied" (why? Model says so)
→ Customer can't appeal, regulatory issues
Rule-based approach: "Denied because debt-to-income > 40%"
→ Clear reason, customer can address specific issue

Some applications require faster responses than ML can provide.

ApplicationLatency RequirementML Feasible?
High-frequency trading<1msSimple models only
Real-time control systems<10msUsually limited
Interactive voice response<100msChallenging
Web page loading<500msYes
Batch processingMinutes/hoursYes

Latency is highly implementation and hardware dependent—always measure p50/p95 for your specific setup:

Model TypeRough Latency Range
Linear modelsMicroseconds to <1ms
Decision treesMicroseconds to low ms
Small ensemblesLow ms (depends on tree count)
Small neural netsLow-mid ms
Large LLMs100ms-seconds (scales with output tokens and context)

If latency is extremely tight, consider: simpler/optimized models, distillation, quantization, caching, specialized hardware (GPU/TPU/NPU), or non-ML methods.


ML has ongoing costs that might exceed its value.

Cost TypeDescription
DevelopmentData collection, labeling, experimentation
InfrastructureCompute, storage, serving
MaintenanceMonitoring, retraining, debugging
OperationsMLOps, pipelines, personnel
OpportunityTime spent vs. other priorities
QuestionIf “No,” consider alternatives
Will ML significantly improve metrics?Simple rules or heuristics
Is the improvement worth the cost?Status quo
Can we afford ongoing maintenance?One-time solution
Do we have the right team?Outsource or simplify
Problem: Automatically categorize support tickets
ML Approach:
- Development: 3 months engineer time
- Training data: 500 labeled tickets
- Infrastructure: $500/month
- Maintenance: Monthly retraining
- Benefit: Saves 30 min/day for support team
Rule-based Approach:
- Development: 1 week
- Data: None needed
- Infrastructure: $0
- Maintenance: Occasional rule updates
- Benefit: Saves 25 min/day for support team
→ Rules are 95% as effective, 10x cheaper to build and maintain

When ML isn’t the right choice, consider these alternatives:

Explicit if-then rules defined by domain experts.

ProsCons
Highly interpretableBrittle, doesn’t adapt
Fast to implementMaintenance burden
Predictable behaviorDoesn’t handle edge cases well

When to use: Clear business rules exist, domain is well-understood.

Simple rules of thumb based on experience.

Examples
”If email has ‘FREE’ and ‘WIN’ in subject, flag as spam"
"Recommend items with highest rating"
"Prioritize by oldest date first”

When to use: Quick solution needed, acceptable to be approximately optimal.

Simple predictive models without complex ML infrastructure.

MethodUse Case
Moving averagesTrend forecasting
ThresholdsAnomaly detection
CorrelationsSimple relationships
Linear/logistic regressionClear relationships with few features

When to use: Relationships are simple, interpretability matters.

Sometimes humans are the best solution.

When humans beat ML
Complex moral judgments
Novel situations
Very small data
High-stakes one-time decisions

Use this flow to decide:

Is the problem deterministic?
YES → Use rules or formulas
NO ↓
Is there sufficient quality data?
NO → Collect data or use simpler approach
YES ↓
Is interpretability critical?
YES → Use interpretable models (linear, trees)
NO ↓
Are latency constraints extreme?
YES → Consider optimized or simpler models
NO ↓
Does the benefit justify the cost?
NO → Use simpler alternative
YES → ML is appropriate

ScenarioUse Instead
Simple rules workRule-based system
Mathematical formula existsDirect calculation
<100 samplesCollect more data or use rules
Must explain decisionsInterpretable models or rules
<10ms latency requiredOptimized algorithms
One-time decisionHuman judgment
Static problemFixed solution
High maintenance costSimpler, stable approach
Small improvement expectedCurrent system or heuristics

Don’t use ML when:

  • Simple rules or formulas work
  • Data is insufficient or poor quality
  • Interpretability is required (regulations, safety)
  • Latency requirements are too tight (and can’t be optimized)
  • Cost exceeds benefit
  • Problem is deterministic or static
  • It’s a one-time or rare decision
  • The objective or labels are unstable/undefined

Use simpler alternatives:

  • Rule-based systems
  • Heuristics
  • Statistical methods
  • Human decision-making

Decision framework:

  1. Is the problem deterministic? → Rules
  2. Is there good data? → Otherwise, collect or skip
  3. Is interpretability critical? → Simple models
  4. Are latency constraints tight? → Optimized algorithms
  5. Does benefit justify cost? → Otherwise, don’t use ML

Start simple. Only use ML when it’s clearly the best solution for your problem, constraints, and resources.