Appearance

# Resources Forecast Object Reference

This **ResourcesForecast** object is a collection of time-series forecasts of pool resources and key performance metrics.

INFO

Time-series intervals may vary in duration. Values that rely on calculated averages are time-weighted to account for different durations.

## Financial Kpi

This **FinancialKpi** object contains financial key performance indicators.

json

```
{
"TotalCost": 14009385,
"TotalCostPerYear": 2315601,
"Kratio": 9.3,
"KratioShift": false,
"ServerUnitCost": 15806,
"ServerOnlyUnitCost": 1619,
"ServerUnitCapacityCost": 28428.1,
"ProcessorUnitCost": 7903,
"ProcessorOnlyUnitCost": 810,
"ProcessorUnitCapacityCost": 14214,
"CoreUnitCost": 252,
"CoreOnlyUnitCost": 26,
"CoreUnitCapacityCost": 453.2
}
```

#### Attributes

##### TotalCost - integer

###### Total cost for entire time-series.

##### TotalCostPerYear - integer

###### Annualized Total Cost calculated as: Total Cost / Time-series duration

##### Kratio - numeric

###### Ratio of software, power and facility resource costs to server cost, calculated using interval duration weighting.

##### KratioShift - boolean

###### A flag to identify the Kratio incurred a linear shift caused by a Performance Jump Event of type 'Pool'.

##### ServerUnitCost - numeric

###### Annualized unit cost calculated as: Total Cost per Year / Weighted-Average Server Quantity.

##### ServerOnlyUnitCost - numeric

###### Annualized unit cost calculated as: Total Cost of Server Hardware per Year / Weighted-Average Server Quantity.

##### ServerUnitCapacityCost - numeric

###### Annualized capacity unit cost calculated as: Total Cost per Year / Weighted-Average Server Quantity / Weighted-Average Capacity.

##### ProcessorUnitCost - numeric

###### Annualized unit cost calculated as: Total Cost per Year / Weighted-Average Processor Quantity.

##### ProcessorOnlyUnitCost - numeric

###### Annualized unit cost calculated as: Total Cost of Server Hardware per Year / Weighted-Average Processor Quantity.

##### ProcessorUnitCapacityCost - numeric

###### Annualized capacity unit cost calculated as: Total Cost per Year / Weighted-Average Processor Quantity / Weighted-Average Capacity.

##### CoreUnitCost - numeric

###### Annualized unit cost calculated as: Total Cost per Year / Weighted-Average Core Quantity.

##### CoreOnlyUnitCost - numeric

###### Annualized unit cost calculated as: Total Cost of Server Hardware per Year / Weighted-Average Core Quantity.

##### CoreUnitCapacityCost - numeric

###### Annualized capacity unit cost calculated as: Total Cost per Year / Weighted-Average Core Quantity / Weighted-Average Capacity.

## Financial Summary Item

This **FinancialSummaryItem** object contains resource costs of an time-interval within a time-series result.

json

```
{
"IntervalNbr": 5,
"AbsTimeStart": 0.89,
"AbsTimeEnd": 1,
"ServerIncCost": 0,
"PerpetualLicenseIncCost": 114901,
"SupportIncCost": 151406,
"SubscriptionIncCost": 121335,
"PowerIncCost": 5704,
"FacilityIncCost": 9679,
"TotalIncCost": 403025,
"ServerCumCost": 0,
"PerpetualLicenseCumCost": 202693,
"SupportCumCost": 1359030,
"SubscriptionCumCost": 1129197,
"PowerCumCost": 57983,
"FacilityCumCost": 94467,
"TotalCumCost": 2843370,
"TotalPerYearCumCost": 2843370,
"TotalPerCapacityCumCost": 247,
"TotalPerYearPerCapacityCumCost": 247,
"Kratio": null
}
```

#### Attributes

##### IntervalNbr - integer

###### Interval number within time-series.

##### AbsTimeStart - numeric

###### Absolute start time of interval in years.

##### AbsTimeEnd - numeric

###### Absolute end time of interval in years.

##### ServerIncCost - integer

###### Net incremental cost of server additions and removals, plus residual value, for interval.

##### PerpetualLicenseIncCost - integer

###### Incremental cost for new perpetual licenses added in interval.

##### SupportIncCost - integer

###### Ongoing support cost for perpetual licenses for interval.

##### SubscriptionIncCost - integer

###### Current subscription license costs for interval.

##### PowerIncCost - integer

###### Power consumption costs for interval.

##### FacilityIncCost - integer

###### Facility space consumption for interval.

##### TotalIncCost - integer

###### Sum of all incremental cost for interval.

##### ServerCumCost - integer

###### Cumulative of server incremental cost for all prior intervals plus current interval.

##### PerpetualLicenseCumCost - integer

###### Cumulative of perpetual incremental cost for all prior intervals plus current interval.

##### SupportCumCost - integer

###### Cumulative of support incremental cost, for perpetual licenses, for all prior intervals plus current interval.

##### SubscriptionCumCost - integer

###### Cumulative of subscription incremental cost for all prior intervals plus current interval.

##### PowerCumCost - integer

###### Cumulative of power incremental cost for all prior intervals plus current interval.

##### FacilityCumCost - integer

###### Cumulative of facility space incremental cost for all prior intervals plus current interval.

##### TotalCumCost - integer

###### Sum of all cumulative costs for all prior intervals plus current interval.

##### TotalPerYearCumCost - integer

###### Sum of all cumulative costs divided by current interval's absolute time end.

##### TotalPerCapacityCumCost - integer

###### Sum of all cumulative costs divided by current interval's total scalar capacity rating per **CapacityCum** property of **HardwareSummary** object.

##### TotalPerYearPerCapacityCumCost - integer

###### Sum of all cumulative costs divided by current interval's absolute time end and divided by current interval's total scalar capacity rating.

##### Kratio - numeric

###### Sum of all software, power and facility cumulative cost divided by server cumulative cost. Value is null if server cumulative cost is zero.

## Hardware Kpi

This **HardwareKpi** object contains hardware key performance indicators.

json

```
{
"PerformanceCaptureYield": 0.98,
"AvgUtilization": 62.6,
"AnnualRemovalPercent": 29.2,
"AnnualAddPercent": 23.6,
"ServerAvgAge": 1.78,
"ServerAvgRemovalAge": 4.56,
"ServerAvgQty": 148,
"ServerMaxQty": 244,
"ServerMaxQtyTime": 4.86,
"ProcessorAvgQty": 290,
"ProcessorMaxQty": 488,
"ProcessorMaxQtyTime": 4.86,
"CoreAvgQty": 3270,
"CoreMaxQty": 4880,
"CoreMaxQtyTime": 4.86,
}
```

#### Attributes

##### EfficiencyCaptureYield - numeric

###### Indicator of server 'freshness' relative to the current market performance rating.

Why hardware freshness matters

Operating hardware too long incurs both technology currency and financial costs.

Unnecessary costs are incurred when hardware life is extended too long relative to the cost of other resources in a pool, or when other resources in a pool are over-procured with respect to the arrival of more efficient or performant hardware.

Both diminish the opportunity to monetize the value of more efficient or performant hardware.

##### AvgUtilization - numeric

###### Pool hardware weighted-average utilization percent.

##### AnnualRemovalPercent - numeric

###### Annualized percent of servers removed from inventory.

##### AnnualAddPercent - numeric

###### Annualized percent of servers added to inventory.

##### ServerAvgAge - numeric

###### Weighted-average age of server inventory.

##### ServerAvgRemovalAge - numeric

###### Weighted-average age of servers removed from inventory.

##### ServerAvgQty - integer

###### Weighted-average quantity of servers.

##### ServerMaxQty - integer

###### Peak quantity of servers in time-series.

##### ServerMaxQtyTime - integer

###### Time (years) when peak quantity of servers was first reached.

##### ProcessorAvgQty - integer

###### Weighted-average quantity of processors.

##### ProcessorMaxQty - integer

###### Peak quantity of processors in time-series.

##### ProcessorMaxQtyTime - numeric

###### Time (years) when peak quantity of processors was first reached.

##### CoreAvgQty - integer

###### Weighted-average quantity of cores.

##### CoreMaxQty - integer

###### Peak quantity of cores in time-series.

##### CoreMaxQtyTime - numeric

###### Time (years) when peak quantity of cores was first reached.

## Hardware Summary Item

This **HardwareSummaryItem** object contains server inventory of an time-interval within a time-series result.

json

```
{
"IntervalNbr": 11,
"AbsTimeStart": 1.88,
"AbsTimeEnd": 2,
"DemandStart": 8775,
"DemandDelta": 195,
"DemandEnd": 8970,
"UtilizationStart": 63.587,
"UtilizationEnd": 65,
"RackIncQty": null,
"ServerIncQty": 3,
"ProcessorIncQty": 6,
"CoreIncQty": 60,
"CapacityInc": 300,
"RackQty": null,
"ServerQty": 138,
"ProcessorQty": 276,
"CoreQty": 2760,
"Capacity": 13800,
"CapacityPerServer": 100,
"CapacityPerProcessor": 50,
"CapacityPerCore": 5,
"ServerAvgAge": 1.25,
"ServerAvgRemovalAge": 4.01,
"TransactionPercentAdd": 1,
"TransactionPercentRemove": 1,
"PerformanceCaptureYield": 1
}
```

#### Attributes

##### IntervalNbr - integer

###### Interval number within time-series.

##### AbsTimeStart - numeric

###### Absolute start time of interval in years.

##### AbsTimeEnd - numeric

###### Absolute end time of interval in years.

##### DemandStart - numeric

###### Scalar value for demand at interval start.

##### DemandDelta - numeric

###### This interval's incremental scalar value for demand.

##### DemandEnd - numeric

###### Scalar value for demand at interval end.

##### UtilizationStart - numeric

###### Pool hardware utilization rate at interval start.

##### UtilizationEnd - numeric

###### Pool hardware utilization rate at interval end.

##### RackIncQty - integer

###### Incremental change to pool's rack quantity. Only valid if **LotType** property in **LotConfiguration** object is set to 'Rack'. If not, value is null.

##### ServerIncQty - integer

###### Incremental change to pool's server quantity.

##### ProcessorIncQty - integer

###### Incremental change to pool's processor quantity.

##### CoreIncQty - integer

###### Incremental change to pool's core quantity.

##### CapacityInc - integer

###### Incremental change to pool's aggregate performance rating (aka Capacity).

##### RackQty - integer

###### Total quantity of racks in pool.

##### ServerQty - integer

##### Total quantity of servers in pool.

##### ProcessorQty - integer

###### Total quantity of processors in pool.

##### CoreQty - integer

###### Total quantity of cores in pool.

##### Capacity - numeric

###### Total capacity of pool.

##### CapacityPerServer - numeric

###### Total Capacity per server, calculated as: CapacityCum / ServerCumQty;

##### CapacityPerProcessor - numeric

###### Total Capacity per processor, calculated as: CapacityCum / ProcessorCumQty;

##### CapacityPerCore - numeric

###### Total Capacity per core, calculated as: CapacityCum / CoreCumQty;

##### ServerAvgAge - numeric

###### The average time duration a server exists in pool inventory. Can only be calculated if the **InitialAge** property in **ServerInventory** object is set. Otherwise, returns null.

##### ServerAvgRemovalAge - numeric

###### Time-weighted average age of servers removed from the pool. If initial age of servers was not included, calculation will be based only those servers added and removed from the pool within the time-series.

##### TransactionPercentAdd - numeric

###### Percentage of servers added to pool with respect to total server quantity.

##### TransactionPercentRemove - numeric

###### Percentage of servers removed from pool with respective to total server quantity.

*Asymmetric* Inventory Turnover

Hardware unit performance is not assumed to be equal and therefore rates of ingress and egress are measured and reported.

##### PerformanceCaptureYield - numeric

###### Measures performance capture yield of inventory turnover, and calculated as: weighted-average capacity rating of server inventory divided by current capacity rating in **ServerUnitCapacity** property in **NewServerConfiguration** object. The latter is treated as the current "market rate" for new servers.

Technology Currency

Performance Capture Yield is an alternative measure to chronological age that better evaluates the economic "carry risk" of hardware inventory related to:

- Rapid decay of pool hardware value with the arrival of better hardware.
- Highly perishable nature of hardware; today's low utilization cannot be recaptured tomorrow.

## Hardware Detail Item

This **HardwareDetailItem** object contains server inventory transactions of a time-interval within a time-series result.

json

```
{
"IntervalNbr": 11,
"UniqueIdentifier": "svr-3-0-2-475",
"AbsTimeStart": 1.88,
"AbsTimeEnd": 2,
"SourceIntervalNbr": 11,
"ServerQty": 3,
"RackQty": null,
"ProcessorQty": 6,
"CoreQty": 60,
"TotalCapacity": 300,
"ServerUnitCapacity": 100,
"ProcessorUnitCapacity": 50,
"CoreUnitCapacity": 5,
"ProcessorSetSize": 2,
"CoreSetSize": 10,
"WattsRating": 1200,
"ServerSize": 1
}
```

#### Attributes

##### IntervalNbr - integer

###### Current interval number within time-series.

##### UniqueIdentifier - string

###### Unique transaction code

##### AbsTimeStart - numeric

###### Absolute start time of interval in years.

##### AbsTimeEnd - numeric

###### Absolute end time of interval in years.

##### SourceIntervalNbr - integer

###### Source interval number that originated the transaction.

##### ServerQty - integer

##### Quantity of Servers added or removed.

##### RackQty - integer

###### Quantity of racks added or removed. Null indicates **LotType** property in **LotConfiguration** object is not set to 'Rack'.

##### ProcessorQty - integer

###### Quantity of processor added or removed.

##### CoreQty - integer

###### Quantity of cores added or removed.

##### TotalCapacity - integer

##### ServerUnitCapacity - numeric

###### Server unit capacity.

##### ProcessorUnitCapacity numeric

###### Processor unit capacity.

##### CoreUnitCapacity - numeric

###### Core unit capacity

##### ProcessorSetSize - integer

###### Quantity of processor sockets used. For example, a two-socket server with one cpu is counted as 1.

##### CoreSetSize - integer

###### Quantity of cores per processor.

##### WattsRating - integer

###### Nominal watts rating of server.

##### ServerSize - integer

###### Size of server expressed as integer portion of rack unit (e.g., 1U, 2U, etc.).

## Software Kpi

This **SoftwareKpi** object contains software key performance indicators.

json

```
{
"ServerLicensesUtilization": 98.6,
"ServerAvgExcessLicenses": 2,
"ServerPeakExcessLicenses": 4,
"ProcessorLicensesUtilization": 98.6,
"ProcessorAvgExcessLicenses": 4,
"ServerPeakExcessLicenses": 8,
"CoreLicensesUtilization": 100,
"CoreAvgExcessLicenses": 98.6,
"CorePeakExcessLicenses": 120,
}
```

#### Attributes

##### ServerLicensesUtilization - numeric

###### Weighted average utilization percentage of server licenses.

##### ServerAvgExcessLicenses - integer

###### Weighted average quantity of excess server licenses per interval.

##### ServerPeakExcessLicenses - integer

###### Maximum quantity of excess server licenses at one or more intervals.

##### ProcessorLicensesUtilization - numeric

###### Weighted average utilization percentage of processor licenses.

##### ProcessorAvgExcessLicenses - integer

###### Weighted average quantity of excess processor licenses per interval.

##### ProcessorPeakExcessLicenses - integer

###### Maximum quantity of excess processor licenses at one or more intervals.

##### CoreLicensesUtilization - numeric

###### Weighted average utilization of core licenses.

##### CoreAvgExcessLicenses - integer

###### Weighted average quantity of excess core licenses.

##### CorePeakExcessLicenses - integer

###### Maximum quantity of excess core licenses at one or more intervals.

## Software Summary Item

This **SoftwareSummaryItem** object contains the sum of software license inventory of the software stack at a time interval.

json

```
{
"IntervalNbr": 12,
"AbsTimeStart": 3.9,
"AbsTimeEnd": 4.27,
"StackQty": 5,
"ServerRequiredQty": 77,
"ServerAvailableQty": 174,
"ServerUtilization": 44.3,
"ProcessorRequiredQty": 462,
"ProcessorAvailableQty": 1096,
"ProcessorUtilization": 42.2,
"CoreRequiredQty": 18688,
"CoreAvailableQty": 18944,
"CoreUtilization": 98.6
}
```

#### Attributes

##### IntervalNbr - integer

###### Interval number within time-series.

##### AbsTimeStart - numeric

###### Absolute start time of interval in years.

##### AbsTimeEnd - numeric

###### Absolute end time of interval in years.

##### StackQty - integer

###### Number of software items in software stack at interval.

##### ServerRequiredQty - integer

###### Sum of server licenses required for hardware inventory in use during interval.

##### ServerAvailableQty - integer

###### Sum of server licenses available for hardware inventory in use during interval.

##### ServerUtilization - numeric

###### Percentage of server licenses utilized.

##### ProcessorRequiredQty - integer

###### Sum of processor licenses required for hardware inventory in use during interval.

##### ProcessorAvailableQty - integer

###### Sum of processor licenses available for hardware inventory in use during interval.

##### ProcessorUtilization - numeric

###### Percentage of processor licenses utilized.

##### CoreRequiredQty - integer

###### Sum of core licenses required for hardware inventory in use during interval.

##### CoreAvailableQty - integer

###### Sum of core licenses available for hardware inventory in use during interval.

##### CoreUtilization - numeric

###### Percentage of core licenses utilized.

## Software Detail Item

This **SoftwareDetailItem** object contains software transactions of a time-interval within a time-series result.

json

```
{
"LicenseId": 1,
"LicenseType": "PerpetualSupport",
"LicenseMetric": "Core",
"ContractType": "Instance",
"IntervalNbr": 15,
"AbsTimeStart": 2.5,
"AbsTimeEnd": 2.68,
"Required": 3120,
"Available": 3120,
"Excess": 0
}
```

#### Attributes

##### LicenseId - integer

###### Unique number identify product.

##### LicenseType - string

###### Type of license (e.g., perpetual).

##### LicenseMetric - string

###### Metric used by a vendor for counting license consumption.

##### ContractType - string

###### License contract type.

##### IntervalNbr - integer

###### Interval number within time-series.

##### AbsTimeStart - numeric

###### Absolute start time of interval in years.

##### AbsTimeEnd - numeric

###### Absolute end time of interval in years.

##### Required - integer

###### Quantity of licenses required for hardware inventory used during interval.

##### Available - integer

###### Position quantity of available licenses at start of interval.

##### Excess - integer

###### Excess quantity of licenses at start of interval.

## Facility Kpi

This **FacilityKpi** object contains facility key performance indicators.

json

```
{
"RackUnitAvgSlots": 164,
"RackUnitSlotsAnnualizedChangePercent": 13.6,
"CapacityPerRackUnitSlotAnnualizedChangePercent": 5.6,
"KWhPerCapacityUnitAnnualizedChangePercent": -6.3,
"KWhPerRackUnitSlotAnnualizedChangePercent": -1.2
}
```

#### Attributes

##### RackUnitAvgSlots - integer

###### Weighted average 1U rack unit slot quantity consumed.

##### RackUnitSlotsAnnualizedChangePercent - numeric

###### Annualized growth rate of rack units consumed based upon a 1U rack unit.

##### CapacityPerRackUnitSlotAnnualizedChangePercent - numeric

###### Annualized growth rate of kilowatt hours consumed.

##### KWhPerCapacityUnitAnnualizedChangePercent - numeric

###### Annualized growth rate of kilowatt hours per capacity unit.

##### KWhPerRackUnitSlotAnnualizedChangePercent - numeric

###### Annualized growth rate of kilowatt hours per 1U rack unit.

## Facility Summary Item

This **FacilitySummaryItem** object contains facility resources of a time-interval within a time-series result.

TIP

Facility resources may be treated as a fixed or semi-fixed costs by setting the **SimulationScope** object to exclude all facility costs. An optimal solution will therefore not include any potential facility cost displacement.

json

```
{
"IntervalNbr": 14,
"AbsTimeStart": 2.39,
"AbsTimeEnd": 2.5,
"RackUnitSlotsInc": 3,
"RackUnitSlotsCum": 151,
"ComputeCapacityPerRackUnitSlot": 100,
"KilowattHrsInc": 74498,
"KilowattHrsAnnualized": 677255,
"KilowattHrsAnnualizedPerCapacityUnit": 44.9,
"KilowattHrsAnnualizedPerRackUnitSlot": 4485.1
}
```

#### Attributes

##### IntervalNbr - integer

###### Interval number within time-series.

##### AbsTimeStart - numeric

###### Absolute start time of interval in years.

##### AbsTimeEnd - numeric

###### Absolute end time of interval in years.

##### RackUnitSlotsInc - integer

###### Incremental 1U rack unit slot quantity.

##### RackUnitSlotsCum - integer

###### Cumulative 1U rack unit slot quantity.

##### ComputeCapacityPerRackUnitSlot - integer

###### Capacity per 1U rack slot.

##### KilowattHrsInc - integer

###### Incremental kilowatt hours consumed.

##### KilowattHrsAnnualized - integer

###### Annualized kilowatt hours consumed.

##### KilowattHrsAnnualizedPerCapacityUnit - numeric

###### Annualized kilowatt hours consumed per unit of capacity.

##### KilowattHrsAnnualizedPerRackUnitSlot - numeric

###### Annualized kilowatt hours consumed per 1U rack slot.

## Facility Detail Item

This **FacilityDetailItem** object contains facility use transactions of a time-interval within a time-series result.

json

```
{
"IntervalNbr": 4,
"AbsTimeStart": 0.71,
"AbsTimeEnd": 0.89,
"SourceIntervalNbr": 0,
"RackUnitSlotsInc": -8,
"RackUnitSlotsCum": 99,
"TotalKilowattHrs": -5235,
"ProcessorSetSize": 2,
"CoreSetSize": 8,
"TotalWatts": -3320,
"ServerSize": 1
}
```

INFO

The code block above depicts a transaction that results in a *net* incremental reduction to a pool. Negative values for **RackUnitSlots**, **TotalKilowattHrs**, and **TotalWatts** reflect reduced space and power consumption to a pool.