DSS and Expert SystemUnit 39 min read
Building DSS Systems: Models, Prototypes, and Evaluation
Unit 3 of DSS and Expert System covers the practical construction of Decision Support Systems (DSS), including model-driven, data-driven, and document-driven approaches, prototyping techniques, and rigorous evaluation methods like sensitivity analysis and user testing.
Key Concepts and Approaches to Building DSS
Model-Driven DSS
A Model-Driven DSS relies on mathematical, statistical, or simulation models to support decision-making. These models can be financial, optimization, or forecasting tools.
How It Works
- Model Selection: Choose a model that fits the problem (e.g., linear programming for optimization, time-series analysis for forecasting).
- Data Input: Feed relevant data into the model (e.g., sales data for forecasting).
- Processing: The model processes the data to generate insights (e.g., predicting future sales).
- Output: The results are presented to the decision-maker (e.g., a graph of projected sales).
Worked Example: Inventory Optimization for Daraz
Suppose Daraz wants to optimize inventory levels for a popular product. They use a linear programming model to minimize holding costs while ensuring stock availability.
Assumptions:
- Demand: 1000 units/month
- Holding cost: $2/unit/month
- Ordering cost: $50/order
- Lead time: 1 month
Objective Function: Minimize Where:
- (demand)
- order quantity
Solution: Using calculus or software (e.g., Excel Solver), we find the Economic Order Quantity (EOQ):
Output: Daraz should order 224 units every month to minimize costs.
Data-Driven DSS
A Data-Driven DSS relies on historical data and analytical tools (e.g., OLAP, data mining) to support decisions. It is commonly used in business intelligence.
How It Works
- Data Collection: Gather data from databases, spreadsheets, or external sources (e.g., customer transactions).
- Data Processing: Clean, transform, and aggregate data (e.g., using SQL or Python).
- Analysis: Apply techniques like regression, clustering, or association rules.
- Visualization: Present insights via dashboards or reports (e.g., sales trends).
Worked Example: Customer Segmentation for Ncell
Ncell wants to segment customers based on usage patterns to tailor promotions.
Data:
| Customer ID | Calls (min) | SMS | Data (GB) |
|---|---|---|---|
| C001 | 300 | 50 | 2 |
| C002 | 100 | 20 | 0.5 |
| C003 | 500 | 100 | 5 |
Step 1: Normalize Data Convert raw data to a comparable scale (e.g., using min-max normalization):
Step 2: Apply K-Means Clustering (K=2) Use Python or R to cluster customers into two groups:
- Cluster 1 (High Usage): C003 (500 min, 100 SMS, 5 GB)
- Cluster 2 (Low Usage): C001, C002
Output: Ncell can now target Cluster 1 with premium plans and Cluster 2 with budget offers.
Document-Driven DSS
A Document-Driven DSS organizes and retrieves unstructured data (e.g., emails, reports, legal documents) to aid decisions. It uses information retrieval and natural language processing (NLP).
How It Works
- Document Storage: Store documents in a repository (e.g., PDFs, Word files).
- Indexing: Create metadata or use NLP to extract keywords.
- Query Processing: Allow users to search using keywords or questions.
- Retrieval: Return relevant documents ranked by relevance.
Worked Example: Legal Case Research for a Law Firm
A law firm uses a Document-Driven DSS to find past judgments related to a new case.
Query: "Contract breach penalties in Nepal" Output: The system retrieves:
- Supreme Court Judgment (2020) on breach clauses
- Company Law Board rulings (2019) on penalties
Prototyping in DSS Development
Prototyping is an iterative process where a working model of the DSS is built, tested, and refined.
Steps in Prototyping
- Requirements Gathering: Identify user needs (e.g., what decisions need support?).
- Quick Design: Create a simple model or interface (e.g., Excel prototype).
- User Testing: Get feedback and refine.
- Iteration: Repeat until the DSS meets requirements.
Mermaid Diagram: Prototyping Cycle
flowchart LR
A["Requirements"] --> B["Quick Design"]
B --> C["User Testing"]
C -->|"Feedback"| D["Refine"]
D --> BWorked Example: Prototyping a Loan Approval DSS for a Bank
A bank wants a DSS to approve loans based on credit scores and income.
Step 1: Excel Prototype
- Inputs: Credit score (0-850), Annual income ($).
- Rule: Approve if
Credit Score > 650 AND Income > $30,000.
Step 2: User Feedback
- Users request additional factors (e.g., employment history).
- Update rule:
Credit Score > 650 AND (Income > $30,000 OR Employment > 2 years).
Output: Final DSS integrates with the bank’s core system for automated approvals.
Evaluation of DSS
Evaluating a DSS ensures it meets user needs and performs effectively. Key methods include:
1. Sensitivity Analysis
Tests how changes in input data affect outputs. Used to identify critical variables.
Worked Example: Sensitivity Analysis for NEPSE Stock Predictions
A DSS predicts stock prices using a linear regression model:
Scenario:
- Base case: Volume = 1000, Interest Rate = 5%
- Change Volume by ±10% → New Price = $70 or $30
- Change Interest Rate by ±1% → New Price = $48 or $52
Conclusion: Volume has a higher impact on price than interest rates.
2. User Acceptance Testing
Users test the DSS in real scenarios to check usability and effectiveness.
Worked Example: User Testing for eSewa’s Payment DSS
eSewa tests a new fraud-detection DSS with 50 users:
- Success Rate: 90% of fraud cases flagged correctly.
- False Positives: 5% (users complain about blocked legitimate transactions).
- Feedback: Simplify the alert system.
Output: eSewa refines the DSS to reduce false positives.
Comparison Table: DSS Approaches
| Approach | Strengths | Weaknesses | Best For |
|---|---|---|---|
| Model-Driven | High accuracy, structured decisions | Requires expertise, rigid | Optimization, forecasting |
| Data-Driven | Handles large datasets, flexible | Needs clean data, computationally heavy | Business intelligence |
| Document-Driven | Works with unstructured data | Slow retrieval, NLP limitations | Legal, research, compliance |
In the Real World
Khalti’s Fraud Detection DSS
- Idea Used: Data-Driven DSS with machine learning.
- How: Analyzes transaction patterns (e.g., sudden large payments) to flag fraud. Uses anomaly detection to identify outliers.
- Example: If a user suddenly transfers $10,000 (unusual for their history), the system sends an SMS alert: "This transaction seems unusual. Verify?"
Pathao’s Route Optimization DSS
- Idea Used: Model-Driven DSS with graph theory.
- How: Uses shortest-path algorithms (e.g., Dijkstra’s) to assign drivers to nearby riders, minimizing travel time.
- Example: If Rider A is at Thapathali and Rider B at Garden of Dreams, Pathao’s DSS matches them to the same driver if the detour is <2 minutes.
NTC’s Network Traffic Management
- Idea Used: Simulation Models (Model-Driven DSS).
- How: Uses queueing theory to simulate call volumes and optimize base station placements.
- Example: During Dashain, NTC’s DSS predicts a 30% increase in calls in Kathmandu. It pre-allocates spectrum to avoid congestion.
Exam Tip
This unit is heavily tested on:
Differentiating DSS types (model-driven vs. data-driven vs. document-driven). Expect short-answer questions like: "Which DSS approach would you use for analyzing customer reviews? Why?" Answer: Document-Driven DSS because reviews are unstructured text.
Prototyping steps. Be ready to describe the cycle in 3-4 points or draw a simple flowchart.
Evaluation methods. Know:
- Sensitivity analysis = testing input changes.
- User testing = real-world feedback. Expect a case study (e.g., "How would you evaluate a DSS for a Daraz warehouse?").
Worked examples. Always show calculations (e.g., EOQ, clustering steps) and link to real scenarios (e.g., Khalti fraud, Pathao routes).
Common Pitfalls:
- Confusing model-driven (mathematical) with data-driven (statistical).
- Forgetting to iterate in prototyping.
- Ignoring user feedback in evaluation.
Visuals
1. Decision Tree for Loan Approval (Model-Driven DSS)
graph TD
A["Start"] --> B["Credit Score > 650?"]
B -->|"Yes"| C["Income > 30k?"]
B -->|"No"| D["Reject"]
C -->|"Yes"| E["Approve"]
C -->|"No"| F["Employment > 2 years?"]
F -->|"Yes"| E
F -->|"No"| D2. Neural Network Layers (Data-Driven DSS for Fraud Detection)
graph TD
A["Input Layer: Transaction Data"] --> B["Hidden Layer 1: 64 Neurons"]
B --> C["Hidden Layer 2: 32 Neurons"]
C --> D["Output Layer: Fraud Probability"]3. Real Picture: eSewa Fraud Alert SMS
4. Mermaid Diagram: DSS Development Pipeline
flowchart LR
A["Problem Identification"] --> B["Choose DSS Type"]
B --> C["Data Collection"]
C --> D["Model/Prototype Development"]
D --> E["User Testing"]
E -->|"Feedback"| F["Refinement"]
F --> D
D --> G["Deployment"]
G --> H["Monitoring & Maintenance"]Based on the TU BIT syllabus for DSS and Expert System, unit 3.
Discussion
Loading…