返回目錄
A
Data Science for Strategic Decision-Making: A Practical Guide - 第 6 章
Chapter 6: Decision Science & Optimization
發布於 2026-03-03 19:18
# Chapter 6: Decision Science & Optimization
In the previous chapter we built robust, production‑ready machine‑learning pipelines that not only **deliver predictions** but also **communicate uncertainty** to stakeholders. The next logical step is to **translate those predictions into actionable choices** that maximize organizational value. This chapter introduces the theoretical and practical tools that bridge the gap between data‑driven insights and strategic decision‑making.
## 6.1 Foundations of Decision Science
| Concept | Definition | Typical Business Application |
|---------|------------|-----------------------------|
| Decision‑Tree | A hierarchical model that maps decisions and outcomes. | Prioritizing marketing campaigns. |
| Utility | A numerical representation of preference over outcomes. | Pricing strategy. |
| Expected Value | Weighted average of all possible outcomes using probabilities. | Investment portfolio selection. |
| Markov Decision Process (MDP) | Sequential decision framework with states, actions, rewards, and transition probabilities. | Supply‑chain inventory control. |
Decision science blends **probability theory**, **optimization**, and **behavioral economics** to formalize the act of choosing under uncertainty. It gives data scientists a common language to express trade‑offs, cost‑benefit relationships, and risk tolerance.
## 6.2 Building a Utility Model
### 6.2.1 Quantifying Objectives
1. **Define objectives** (e.g., revenue, customer satisfaction, operational cost).<br>
2. **Assign monetary values** or *utility scores* to each objective. For non‑monetary goals, consider proxy metrics or scaling methods.
### 6.2.2 Constructing a Utility Function
A common approach is a **linear utility**:
\[ U(x) = w_1\cdot f_1(x) + w_2\cdot f_2(x) + \dots + w_k\cdot f_k(x) \]
- *f_i(x)*: normalized score for objective *i*.
- *w_i*: weight reflecting stakeholder priorities.
> **Practical tip**: Use a **Delphi survey** or **analytic hierarchy process** (AHP) to elicit weights from decision makers.
## 6.3 Decision‑Theoretic Frameworks
### 6.3.1 Decision Trees
Decision trees provide a visual and computational means to evaluate discrete alternatives.
python
from sklearn import tree
# Example: choose between two marketing channels
X = [[1], [2]] # feature: estimated click‑through rate
y = [0, 1] # target: conversion (0/1)
clf = tree.DecisionTreeClassifier().fit(X, y)
print(clf.predict([[1.5]]))
### 6.3.2 Markov Decision Processes (MDPs)
MDPs model sequential decisions where outcomes depend on current states.
| Symbol | Meaning |
|--------|---------|
| *S* | Set of states |
| *A* | Set of actions |
| *R* | Reward function |
| *P* | Transition probability |
| *γ* | Discount factor |
#### Example: Inventory Management
python
import numpy as np
# States: inventory levels 0..10
S = np.arange(11)
# Actions: order quantity 0..10
A = np.arange(11)
# Simple reward: sales revenue minus holding cost
def reward(s, a, d):
sold = min(s + a, d)
revenue = sold * price_per_unit
holding = (s + a - sold) * holding_cost
return revenue - holding
# Transition: demand follows Poisson distribution
def transition(s, a, d):
return min(s + a, d)
## 6.4 Expected Value of Perfect Information (EVPI)
EVPI quantifies the maximum amount a decision maker should be willing to pay for perfect knowledge.
\[ EVPI = \max_{a} \mathbb{E}[U | a, \text{perfect info}] - \max_{a} \mathbb{E}[U | a] \]
> **Use case**: Decide whether to invest in market research before launching a new product.
## 6.5 Optimization Techniques
### 6.5.1 Linear Programming (LP)
LP solves:
\[ \max_{x} \, c^T x \]
subject to
\[ A x \leq b, \quad x \ge 0 \]
#### Python example with PuLP
python
from pulp import LpProblem, LpVariable, lpSum, LpMaximize
prob = LpProblem("Resource Allocation", LpMaximize)
# Decision variables
x = LpVariable('x', lowBound=0)
y = LpVariable('y', lowBound=0)
# Objective
prob += 3*x + 5*y
# Constraints
prob += 2*x + y <= 20 # Resource 1
prob += x + 3*y <= 30 # Resource 2
prob.solve()
print(f'x = {x.value()}, y = {y.value()}')
### 6.5.2 Integer Programming (IP)
Adds integrality constraints to LP, useful for discrete decisions.
python
z = LpVariable('z', cat='Binary') # 0 or 1 decision
prob += z
### 6.5.3 Nonlinear Programming (NLP)
When objectives or constraints are nonlinear.
python
import cvxpy as cp
x = cp.Variable()
objective = cp.Maximize(-cp.square(x) + 4*x)
constraints = [x >= 0, x <= 10]
prob = cp.Problem(objective, constraints)
prob.solve()
print('Optimal x:', x.value())
### 6.5.4 Heuristic & Meta‑heuristic Methods
- **Genetic Algorithms** (GA)
- **Simulated Annealing** (SA)
- **Tabu Search**
- **Particle Swarm Optimization** (PSO)
These are especially handy for **combinatorial** or **black‑box** optimization problems where gradients are unavailable.
## 6.6 Case Study: Channel Allocation for a Global Retailer
| Decision | Variables | Objective | Constraints |
|----------|-----------|-----------|-------------|
| Allocate ad spend across 4 channels | \(x_1, x_2, x_3, x_4\) | Maximize expected ROI | \(\sum x_i = 1{,}000{,}000\), \(x_i \ge 0\), channel‑specific reach limits |
**Solution**: Formulate as LP, solve with PuLP, validate with simulation.
python
# Define probability distributions for each channel
p_tv = lambda x: 0.05 * np.exp(-x/200000)
# ...
# Build expected ROI as linear combination of variables
Result: allocate 40% to TV, 25% to social media, 20% to email, 15% to search, achieving a 12% lift in conversion.
## 6.7 Integrating Optimization into the Data‑Science Pipeline
1. **Feature Engineering**: Predict probabilities or expected rewards.
2. **Modeling**: Use predictions as inputs to the objective/constraint functions.
3. **Optimization Layer**: Solve for the best decision vector.
4. **Feedback Loop**: Update models with outcome data from executed decisions.
> **Tool stack**: PuLP / CVXPY for mathematical programming, Pyomo for advanced modeling, OR‑Tools for combinatorial optimization.
## 6.8 Practical Tips for Decision‑Making Teams
| Challenge | Mitigation Strategy |
|-----------|---------------------|
| **Uncertain data** | Use Bayesian updating to refine probability estimates. |
| **Stakeholder alignment** | Conduct workshops to surface preferences and adjust utility weights. |
| **Scalability** | Cache intermediate computations, use cloud‑native optimization services (e.g., Google OR‑Tools on GCP). |
| **Regulatory constraints** | Encode legal limits as hard constraints in the optimization model. |
## 6.9 Summary
* Decision science transforms data‑driven predictions into **actionable, quantified choices**.
* Building a utility model and applying expected‑value calculations gives clarity to trade‑offs.
* Optimization techniques—from linear programming to sophisticated heuristics—provide a systematic way to find the best decisions under constraints.
* Embedding these methods into the data‑science pipeline closes the loop from **data acquisition** to **strategic impact**.
In the next chapter we will explore how to **present these decisions** compellingly to stakeholders, ensuring that insights are not just mathematically sound but also strategically persuasive.