Strategic Spend Analysis with Python: Implementing the Kraljic Matrix

Strategic Spend Analysis with Python: Implementing the Kraljic Matrix

The Kraljic Matrix, introduced by Peter Kraljic in his seminal work "Purchasing Must Become Supply Management" (1983), is a strategic tool widely used in procurement to categorize expenses and suppliers based on two main factors: supply risk and impact on profit. This model, foundational to modern supply chain management, classifies items into four quadrants, each requiring different management strategies: Strategic, Bottleneck, Leverage, and Non-Critical.

The matrix allows organizations to identify and prioritize items based on their importance and the risks associated with procurement, supporting the development of tailored strategies for each category (Kraljic, 1983). This approach has been further explored in resources like Purchasing and Supply Chain Management by Monczka et al. (2015), where procurement strategies are detailed, and the matrix is discussed as a framework for managing supplier relationships and procurement categories.

The classification method used in this code aligns with the recommendations found in academic literature, such as The Purchasing Chessboard by Schuh et al. (2014) and Purchasing and Supply Chain Management by Van Weele (2018), which provide a comprehensive overview of strategic procurement practices. Each quadrant in the Kraljic Matrix corresponds to a specific combination of supply risk and profit impact, guiding procurement teams on how to approach different categories of spend:

  1. Strategic: High supply risk and high profit impact, these items require close supplier relationships and a focus on securing long-term partnerships (Monczka et al., 2015).
  2. Bottleneck: High supply risk and low profit impact, bottleneck items are essential but may have limited supply sources, necessitating strategies that mitigate supply chain disruptions (Cani?ls & Gelderman, 2005).
  3. Leverage: Low supply risk and high profit impact, leverage items allow for negotiation opportunities due to their significant impact on profit and the availability of multiple suppliers (Schuh et al., 2014).
  4. Non-Critical: Low supply risk and low profit impact, consisting of standard, easily available items that require minimal management (Choi & Krause, 2006).

This Python code generates a Kraljic Matrix for MRO (Maintenance, Repair, and Operations) expenses, using a sample dataset to simulate values for supply risk and profit impact. Each item is classified according to the matrix framework, which provides a visual overview of where MRO spend items fall within the matrix, aiding in the development of appropriate procurement strategies.

The Kraljic Matrix’s relevance has been reinforced in the broader academic discourse, with researchers like Cani?ls and Gelderman (2005) discussing how power and dependency dynamics within procurement can influence the categorization and management of supplier relationships. Similarly, Choi and Krause (2006) analyze supply base complexity and transaction costs, further underlining the importance of strategic categorization in reducing risks and enhancing responsiveness.

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

# Create a sample dataset for MRO spend items
data = {
    'Item': ['Part A', 'Part B', 'Part C', 'Part D', 'Part E', 'Part F', 'Part G', 'Part H'],
    'Supply Risk': [0.9, 0.7, 0.4, 0.2, 0.3, 0.1, 0.5, 0.8],  # Values from 0 (low) to 1 (high)
    'Profit Impact': [0.8, 0.3, 0.7, 0.1, 0.5, 0.2, 0.9, 0.6]  # Values from 0 (low) to 1 (high)
}

# Convert data to DataFrame
df = pd.DataFrame(data)

# Define quadrant thresholds
risk_threshold = 0.5
impact_threshold = 0.5

# Function to classify items into Kraljic Matrix quadrants
def classify_kraljic(row):
    if row['Supply Risk'] >= risk_threshold and row['Profit Impact'] >= impact_threshold:
        return 'Strategic'
    elif row['Supply Risk'] >= risk_threshold and row['Profit Impact'] < impact_threshold:
        return 'Bottleneck'
    elif row['Supply Risk'] < risk_threshold and row['Profit Impact'] >= impact_threshold:
        return 'Leverage'
    else:
        return 'Non-Critical'

# Apply classification to each item
df['Quadrant'] = df.apply(classify_kraljic, axis=1)

# Plotting the Kraljic Matrix
fig, ax = plt.subplots(figsize=(10, 8))
colors = {'Strategic': 'red', 'Bottleneck': 'orange', 'Leverage': 'blue', 'Non-Critical': 'green'}

# Scatter plot items by quadrant with color labels
for quadrant, color in colors.items():
    subset = df[df['Quadrant'] == quadrant]
    ax.scatter(subset['Supply Risk'], subset['Profit Impact'], s=100, c=color, label=quadrant, edgecolor='black')

# Add threshold lines
ax.axvline(risk_threshold, color='grey', linestyle='--')
ax.axhline(impact_threshold, color='grey', linestyle='--')

# Label each point with the item name
for _, row in df.iterrows():
    ax.text(row['Supply Risk'] + 0.02, row['Profit Impact'] + 0.02, row['Item'], fontsize=9, ha='right')

# Set plot title and axis labels
ax.set_title('Kraljic Matrix for MRO Spend', fontsize=16, fontweight='bold')
ax.set_xlabel('Supply Risk', fontsize=12)
ax.set_ylabel('Profit Impact', fontsize=12)
ax.set_xlim(0, 1)
ax.set_ylim(0, 1)
ax.legend(title="Quadrant", loc="upper left")
plt.grid(True, linestyle='--', alpha=0.7)
plt.show()

# Display DataFrame with classification results
print(df[['Item', 'Supply Risk', 'Profit Impact', 'Quadrant']])        


Item Supply Risk Profit Impact Quadrant 0 Part A 0.9 0.8 Strategic 1 Part B 0.7 0.3 Bottleneck 2 Part C 0.4 0.7 Leverage 3 Part D 0.2 0.1 Non-Critical 4 Part E 0.3 0.5 Leverage 5 Part F 0.1 0.2 Non-Critical 6 Part G 0.5 0.9 Strategic 7 Part H 0.8 0.6 Strategic


Explanation of the Code

Dataset

In the example code, we simulate a dataset containing Maintenance, Repair, and Operations (MRO) items with assigned values for Supply Risk and Profit Impact, each ranging between 0 (low) and 1 (high). These values represent critical procurement factors as defined by the Kraljic Matrix model, where high scores indicate significant risk or impact, requiring closer management (Kraljic, 1983; Monczka et al., 2015). This dataset creation reflects real-world situations where procurement teams must evaluate each item’s importance and vulnerability to supply disruptions.

Classification Function

The classification function categorizes each item into one of four quadrants based on specified threshold values for Supply Risk and Profit Impact (Schuh et al., 2014; Van Weele, 2018). These quadrants help in understanding and managing procurement strategies for different categories of items, ranging from high-risk strategic partnerships to low-risk, routine purchases.

Kraljic Matrix Plot

The visualization provides a clear representation of where each item falls within the Kraljic Matrix, aiding in the analysis of procurement needs:

  • Scatter Plot: Points on the scatter plot represent MRO items, color-coded to distinguish between quadrants. This approach aligns with methods seen in procurement literature for visually managing supplier segmentation (Monczka et al., 2015).
  • Quadrant Lines: Dashed lines denote the threshold values for supply risk and profit impact, segmenting the matrix into four distinct areas. This graphical division allows for immediate recognition of each item’s strategic importance (Cani?ls & Gelderman, 2005).
  • Annotations: Each point is labeled with its respective item name to facilitate easy identification within the matrix. This detail supports a practical understanding of individual items within each quadrant (Schuh et al., 2014).

Quadrant Interpretation

The matrix provides valuable insights into procurement strategy by dividing items into the following categories:

  1. Strategic (High Risk, High Impact): Located in the top-right quadrant, these items necessitate strong supplier relationships and close management, as disruptions could significantly impact profitability (Kraljic, 1983; Monczka et al., 2015).
  2. Bottleneck (High Risk, Low Impact): Items in the top-left quadrant are essential yet have lower profit impact, often facing limited supply sources. Strategies for these items typically focus on minimizing risk and ensuring consistent supply (Cani?ls & Gelderman, 2005).
  3. Leverage (Low Risk, High Impact): Items in the bottom-right quadrant are critical for profit but pose minimal risk due to multiple supplier options, allowing organizations to leverage competition to reduce costs (Schuh et al., 2014).
  4. Non-Critical (Low Risk, Low Impact): Items in the bottom-left quadrant represent standard purchases with minimal impact on profitability, requiring the least management. These items can often be sourced with low effort and cost (Choi & Krause, 2006).

This visualization is effective for assessing MRO spending priorities within the Kraljic Matrix framework, providing a structured approach for procurement teams to allocate resources and focus on strategic and high-risk areas.

References

  1. Kraljic, P. (1983). "Purchasing Must Become Supply Management." Harvard Business Review, 61(5), 109-117.
  2. Monczka, R. M., Handfield, R. B., Giunipero, L. C., & Patterson, J. L. (2015). Purchasing and Supply Chain Management. Cengage Learning.
  3. Cani?ls, M. C., & Gelderman, C. J. (2005). "Purchasing Strategies in the Kraljic Matrix—A Power and Dependence Perspective." Journal of Purchasing and Supply Management, 11(2-3), 141-155.
  4. Van Weele, A. J. (2018). Purchasing and Supply Chain Management: Analysis, Strategy, Planning and Practice. Cengage Learning EMEA.
  5. Schuh, C., Kromoser, R., Strohmer, M., Easton, S., & Triplat, A. (2014). The Purchasing Chessboard: 64 Methods to Reduce Costs and Increase Value with Suppliers. Springer.
  6. Choi, T. Y., & Krause, D. R. (2006). "The Supply Base and its Complexity: Implications for Transaction Costs, Risks, Responsiveness, and Innovation." Journal of Operations Management, 24(5), 637-652.

要查看或添加评论,请登录

BURAK OVACIK的更多文章

社区洞察

其他会员也浏览了