supplychainpy.inventory package

Submodules

supplychainpy.inventory.abc_xyz module

class supplychainpy.inventory.abc_xyz.AbcXyz(orders_collection: list)

Bases: object

Applies abc xyz analysis on a collection of demand passed into the

abc_classification()
abcxyz_summary
ax
ay
az
bx
by
bz
classification_summary()
cumulative_percentage_revenue()
cx
cy
cz
percentage_revenue()
xyz_classification()

supplychainpy.inventory.analyse_uncertain_demand module

class supplychainpy.inventory.analyse_uncertain_demand.UncertainDemand(orders: dict, sku: str, currency: str, lead_time: decimal.Decimal, unit_cost: decimal.Decimal, reorder_cost: decimal.Decimal, z_value: decimal.Decimal = Decimal('1.2800000000000000266453525910037569701671600341796875'), holding_cost: decimal.Decimal = 0.0, retail_price: decimal.Decimal = 0.0, period: str = 'months', quantity_on_hand: decimal.Decimal = 0.0, backlog: decimal.Decimal = 0.0)

Bases: object

Models inventory profile calculating economic order quantity, variable cost, reorder quantity and ABCXYZ classification

abc_classification
abcxyz_classification

Gets ABCXYZ classification as a concatenated string

average_order()
average_order_row() → decimal.Decimal
average_orders
backlog
cumulative_percentage
currency
demand_variability
economic_order_qty
economic_order_variable_cost
excess_stock
excess_stock_cost
fixed_order_quantity
holts_trend_corrected_forecast
lead_time
order
order_count
orders
orders_summary() → dict
orders_summary_simple() → dict
percentage_revenue
quantity_on_hand
reorder_level
retail_price
revenue
safety_stock
safety_stock_cost
shortage_cost
shortages
simple_exponential_smoothing_forecast
sku_id
standard_deviation
total_orders
unit_cost
xyz_classification

supplychainpy.inventory.economic_order_quantity module

class supplychainpy.inventory.economic_order_quantity.EconomicOrderQuantity(reorder_quantity: float, holding_cost: float, reorder_cost: float, average_orders: float, unit_cost: float, total_orders: float)

Bases: object

economic_order_quantity
minimum_variable_cost

supplychainpy.inventory.eoq module

supplychainpy.inventory.eoq.economic_order_quantity()
supplychainpy.inventory.eoq.minimum_variable_cost()

supplychainpy.inventory.summarise module

class supplychainpy.inventory.summarise.Inventory(processed_orders)

Bases: object

abc_xyz_raw
abc_xyz_summary(classification: tuple = ('AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ'), category: tuple = ('excess_stock', 'shortages', 'revenue'), value: str = 'currency') → dict

Retrieve currency value or units for key metrics by classification. Defaults to currency unless units stated.

Parameters:
  • classification (tuple) – ABCXYZ inventory classification of sku.
  • category (tuple) – Category with which to aggregate the SKU classification.
  • value (str) – Defaults to aggregating classification on currency unless units are specified.
Returns:

Aggregated summary for classification based on category in currency value or units.

Return type:

dict

describe_sku(*args: str) → dict

Summarise SKU using descriptive statistics, key performance indicators, financial fundamentals and rankings

Parameters:*args (str) – SKU unique identification
Returns:Summary of SKU.
Return type:dict
rank_summary(attribute: str, count: int = 0, reverse: bool = True) → dict

Ranks any SKU in the profile by an attribute from the UncertainDemand objects orders_summary method.

Parameters:
  • attribute (str) – SKU attribute from analysed orders in UncertainDemand object
  • count (int) – The running count required e.g. 10 for top 10.
  • reverse (bool) – Reverse the rank order e.g. top 10 or bottom 10
Returns:

Ranked summary for attribute specified.

Return type:

dict

supplychainpy.inventory.units module

class supplychainpy.inventory.units.Package

Bases: supplychainpy.inventory.units.SKU

class supplychainpy.inventory.units.PackageDirector(pallet_builder: supplychainpy.inventory.units.PalletBuilder)

Bases: object

Package
add_package(package: supplychainpy.inventory.units.Package)
construct_package(length: float, width: float, height: float, weight: float)
recalculate_dimensions()
class supplychainpy.inventory.units.PalletBuilder

Bases: object

make_new_pallet()
class supplychainpy.inventory.units.SKU

Bases: object

class supplychainpy.inventory.units.ShippingContainer

Bases: supplychainpy.inventory.units.Package

Module contents