Skip to content

Resource Requirements Forecast (RRF) Object Reference

 

This RRF object is a collection of time-series forecasts of required pool resources and related statistics.

Time-series

A time-series forecast represents a sequence of intervals, where the start-time is the closed interval (inclusive) and the end-time is the open interval (exclusive).

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

 

Financial Statistics

This FinancialStats object contains financial statistics.

json
  {
    "TotalCost": 25440920,
    "TotalCostPerYear": 4070547,
    "Kratio": 5.8,
    "KratioShift": false,
    "ServerUnitCost": 38547,
    "ServerHourNominal": 4.4,
    "ServerHourReal": 7.06,
    "ProcessorUnitCost": 19283,
    "ProcessorHourNominal": 2.2,
    "ProcessorHourReal": 3.53,
    "CoreUnitCost": 449,
    "CoreHourNominal": 0.0512,
    "CoreHourReal": 0.0822
  }

Attributes

TotalCost - integer
Total cost for entire time-series.
TotalCostPerYear - integer
Annualized Total Cost calculated as: Total Cost / Time-Series Duration (years).
Kratio - numeric
Ratio of sum 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 total cost per server calculated as: Total Cost per Year / Weighted-Average Server Quantity / Time-Series Duration (years).
ServerHourNominal - numeric
Server unit cost per hour calculated as: Total Cost / Weighted-Average Server Quantity / Time-Series Total Hours.
ServerHourReal - numeric
Server unit cost per hour per utilization calculated as: Total Cost / Weighted-Average Server Quantity / Time-Series Total Hours / Weighted-Average Utilization.
ProcessorUnitCost - numeric
Annualized total cost per processor calculated as: Total Cost per Year / Weighted-Average Processor Quantity / Time-Series Duration (years).
ProcessorHourNominal - numeric
Processor unit cost per hour calculated as: Total Cost / Weighted-Average Processor Quantity / Time-Series Total Hours.
ProcessorHourReal - numeric
Processor unit cost per hour per utilization calculated as: Total Cost / Weighted-Average Processor Quantity / Time-Series Total Hours / Weighted-Average Utilization.
CoreUnitCost - numeric
Annualized total cost per core calculated as: Total Cost per Year / Weighted-Average Core Quantity / Time-Series Duration (years).
CoreHourNominal - numeric
Core unit cost per hour calculated as: Total Cost / Weighted-Average Core Quantity / Time-Series Total Hours.
CoreHourReal - numeric
Core unit cost per hour per utilization calculated as: Total Cost / Weighted-Average Core Quantity / Time-Series Total Hours / Weighted-Average Utilization.

 

Financial Summary Item

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

json
  {
    "IntervalNbr": 5,
    "TimeStart": 0.89,
    "TimeEnd": 1,
    "DateStart": YYYY-MM-DDThh:mm:ssZ,
    "DateEnd":, YYYY-MM-DDThh:mm:ssZ,
    "ServerIncCost": 21500,
    "AssignmentIncCost": 8700,
    "PerpetualLicenseIncCost": 114901,
    "SupportIncCost": 151406,
    "SubscriptionIncCost": 121335,
    "PowerIncCost": 5704,
    "FacilityIncCost": 9679,
    "TotalIncCost": 403025,
    "ServerCumCost": 38670,
    "AssignmentCumCost": 14850,
    "PerpetualLicenseCumCost": 202693,
    "SupportCumCost": 1359030,
    "SubscriptionCumCost": 1129197,
    "PowerCumCost": 57983,
    "FacilityCumCost": 94467,
    "TotalCumCost": 2843370,
    "PerfUnitCost": 20,
    "TotalPerYearCumCost": 2843370,
    "TotalPerCapacityCumCost": 247,
    "TotalPerYearPerCapacityCumCost": 247,
    "Kratio": null
  }

Attributes

IntervalNbr - integer
Interval number within time-series.
TimeStart - numeric
Interval start time in years.
TimeEnd - numeric
Interval end time in years.
DateStart - datetime
Interval start date.
DateEnd - datetime
Interval end date.
ServerIncCost - integer
Net incremental cost of server additions and removals, plus residual value, for interval.
AssignmentIncCost - integer
Incremental cost to perform, server or rack, add or remove events of a pool.
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
Cost per Rack Unit (RU) 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.
AssignmentCumCost - integer
Cumulative cost to perform, server or rack, add and remove events of a pool.
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 Rack Unit (RU) incremental cost for all prior intervals plus current interval.
TotalCumCost - integer
Sum of all cumulative costs for all prior intervals plus current interval.
PerfUnitCost - integer
TotalCumCost divided by PerfTotal property of HardwareSummary for current interval.
AnnualizedTotalCost - integer
Sum of all cumulative costs divided by current interval's absolute time end.
AnnualizedTotalCostPerPerf - integer
Annualized Total Cost divided by PerfTotal property of HardwareSummary object for current interval.
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 Statistics

This HardwareStats object contains hardware statistics.

json
  {
    "PerfCaptureRate": 0.85,
    "AvgUtilization": 62.4,
    "AnnualRemovalPercent": 28.6,
    "AnnualAddPercent": 22.9,
    "ServerAvgAge": 1.17,
    "ServerAvgRemovalAge": 5.1,
    "ServerAvgQty": 110.8,
    "ServerMaxQty": 174,
    "ServerMaxQtyTime": 0,
    "ServerAvgPerf": 1095,
    "ProcessorAvgQty": 221.5,
    "ProcessorMaxQty": 348,
    "ProcessorMaxQtyTime": 0,
    "ProcessorAvgPerf": 548,
    "CoreAvgQty": 9579.3,
    "CoreMaxQty": 14208,
    "CoreMaxQtyTime": 5.91,
    "CoreAvgPerf": 11.07
  }

Attributes

PerfCaptureRate - 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.
ServerAvgPerf - integer
Server weighted-average perf.
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.
ProcessorAvgPerf - numeric
Processor weighted-average perf.
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.
CoreAvgPerf - numeric
Core weighted-average perf.

 

Hardware Summary Item

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

json
  {
    "IntervalNbr": 11,
    "TimeStart": 1.88,
    "TimeEnd": 2,
    "DateStart": YYYY-MM-DDThh:mm:ssZ,
    "DateEnd":, YYYY-MM-DDThh:mm:ssZ,
    "DemandStart": 8775,
    "DemandDelta": 195,
    "DemandEnd": 8970,
    "UtilizationStart": 63.587,
    "UtilizationEnd": 65,
    "RackIncQty": null,
    "ServerIncQty": 3,
    "ProcessorIncQty": 6,
    "CoreIncQty": 60,
    "PerfInc": 300,
    "RackQty": null,
    "ServerQty": 138,
    "ProcessorQty": 276,
    "CoreQty": 2760,
    "PerfTotal": 13800,
    "ServerPerf": 100,
    "ProcessorPerf": 50,
    "CorePerf": 5,
    "ServerAvgAge": 1.25,
    "ServerAvgRemovalAge": 4.01,
    "TransactionPercentAdd": 21.0,
    "TransactionPercentRemove": 53.0,
    "PerfCaptureRate": .94
  }

Attributes

IntervalNbr - integer
Interval number within time-series.
TimeStart - numeric
Interval start time in years.
TimeEnd - numeric
Interval end time in years.
DateStart - date
Interval start date.
DateEnd - date
Interval end date.
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.
PerfInc - integer
Incremental change to pool's aggregate performance rating.
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.
PerfTotal - numeric
Total performance of pool.
ServerPerf - numeric
Total performance per server, calculated as: TotalPerf / ServerCumQty;
ProcessorPerf - numeric
Total performance per processor, calculated as: TotalPerf / ProcessorCumQty;
CorePerf - numeric
Total performance per core, calculated as: TotalPerf / 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.

PerfCaptureRate - numeric
Measures capture rate of performance within inventory turnover, and is calculated: weighted-average perf rating of server inventory divided by current perf rating in ServerPerf property in NewServerConfiguration object. The latter is treated as the current "market rate" for new servers.

Technology Currency

Perf Capture Rate 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",
    "Tag": "Your unique code",
    "TimeStart": 1.88,
    "TimeEnd": 2,
    "DateStart": YYYY-MM-DDThh:mm:ssZ,
    "DateEnd":, YYYY-MM-DDThh:mm:ssZ,
    "SourceIntervalNbr": 11,
    "ServerQty": 3,
    "RackQty": null,
    "ProcessorQty": 6,
    "CoreQty": 60,
    "PerfTotal": 300,
    "ServerPerf": 100.0,
    "ProcessorPerf": 50.0,
    "CorePerf": 5.00,
    "ProcessorSetSize": 2,
    "CoreSetSize": 10,
    "ServerSize": 1,
    "WattsRating": 1200,
    "TotalKilowattHrs": 14303,
  }

Attributes

IntervalNbr - integer
Current interval number within time-series.
UniqueIdentifier - string
Unique transaction code
Tag - string - conditional
User-defined code to cross-reference inventory item to a user-maintained master inventory type list (e.g., your performance ratings by model), or to describe an inventory unit (e.g., model nbr). If not defined by user (i.e., Code is empty or null), property will be omitted from this object.
TimeStart - numeric
Interval start time in years.
TimeEnd - numeric
Interval end time in years.
DateStart - date
Interval start date.
DateEnd - date
Interval end date.
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.
PerfTotal - integer
Total performance added or removed.
ServerPerf - numeric
Server unit performance.
ProcessorPerf - numeric
Processor unit performance.
CorePerf - numeric
Core unit performance.
ProcessorSetSize - integer
Quantity of processor sockets used. For example, a two-socket server with one cpu should be counted as 1 processor.
CoreSetSize - integer
Quantity of cores per processor.
ServerSize - integer
Size of server expressed as integer portion of rack unit (e.g., 1U, 2U, etc.).
WattsRating - integer
Nominal watts rating of server.
TotalKilowattHrs - integer
Total KilowattHrs added or removed corresponding to the duration of this interval.
ResidualValue - integer - conditional
Residual value of server that is removed from pool. Only included for removal transactions.
RemovalDate - date - conditional
Date, at start time of interval, when server is removed from pool. Only included for removal transactions.
ServiceAge - numeric - conditional
Is the calculated service age when server is removed from pool. Can only be calculated if server's initial age was included in Pool Resource Model. Only included for removal transactions.

 

Software Statistics

This SoftwareStats object contains software statistics.

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,
    "TimeStart": 3.9,
    "TimeEnd": 4.27,
    "DateStart": YYYY-MM-DDThh:mm:ssZ,
    "DateEnd":, YYYY-MM-DDThh:mm:ssZ,
    "ServerStackQty": 1,
    "ServerRequiredQty": 77,
    "ServerAvailableQty": 174,
    "ServerUtilization": 44.3,
    "ProcessorStackQty": 2,
    "ProcessorRequiredQty": 462,
    "ProcessorAvailableQty": 1096,
    "ProcessorUtilization": 42.2,
    "CoreStackQty": 3,
    "CoreRequiredQty": 18688,
    "CoreAvailableQty": 18944,
    "CoreUtilization": 98.6
  }

Attributes

IntervalNbr - integer
Interval number within time-series.
TimeStart - numeric
Interval start time in years.
TimeEnd - numeric
Interval end time in years.
DateStart - date
Interval start date.
DateEnd - date
Interval end date.
ServerStackQty - integer
Number of software items in software stack at interval whose license metric is server.
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.
ProcessorStackQty - integer
Number of software items in software stack at interval whose license metric is processor.
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.
CoreStackQty - integer
Number of software items in software stack at interval whose license metric is core.
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,
    "TimeStart": 2.5,
    "TimeEnd": 2.68,
    "DateStart": YYYY-MM-DDThh:mm:ssZ,
    "DateEnd":, YYYY-MM-DDThh:mm:ssZ,
    "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.
TimeStart - numeric
Interval start time in years.
TimeEnd - numeric
Interval end time in years.
DateStart - date
Interval start date.
DateEnd - date
Interval end date.
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 Statistics

This FacilityStats object contains facility statistics.

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,
    "TimeStart": 2.39,
    "TimeEnd": 2.5,
    "DateStart": YYYY-MM-DDThh:mm:ssZ,
    "DateEnd":, YYYY-MM-DDThh:mm:ssZ,
    "RackUnitSlotQtyInc": 3,
    "RackUnitSlotQtyCum": 151,
    "ComputeCapacityPerRackUnitSlot": 100,
    "KilowattHrsInc": 74498,
    "KilowattHrsAnnualized": 677255,
    "KilowattHrsAnnualizedPerCapacityUnit": 44.9,
    "KilowattHrsAnnualizedPerRackUnitSlot": 4485.1
  }

Attributes

IntervalNbr - integer
Interval number within time-series.
TimeStart - numeric
Interval start time in years.
TimeEnd - numeric
Interval end time in years.
DateStart - date
Interval start date.
DateEnd - date
Interval end date.
RackUnitSlotQtyInc - integer
Incremental 1U rack unit slot quantity.
RackUnitSlotQtyCum - 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,
    "TimeStart": 0.71,
    "TimeEnd": 0.89,
    "DateStart": YYYY-MM-DDThh:mm:ssZ,
    "DateEnd":, YYYY-MM-DDThh:mm:ssZ,
    "SourceIntervalNbr": 0,
    "RackUnitSlotQtyInc": -8,
    "RackUnitSlotQtyCum": 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.

Attributes

IntervalNbr - integer

Current interval number within time-series.
UniqueIdentifier - string
Unique transaction code
TimeStart - numeric
Interval start time in years.
TimeEnd - numeric
Interval end time in years.
DateStart - date
Interval start date.
DateEnd - date
Interval end date.
SourceIntervalNbr - integer
Source interval number from which the inventory originated.
TotalKilowattHrs - integer
Total kilowatt hours consumed.
RackUnitSlotQtyInc - integer
Incremental 1U rack unit slot quantity consumed.
RackUnitSlotQtyCum - integer
Cumulative 1U rack unit slot quantity consumed.
ProcessorSetSize - integer
Quantity of processors per server. A processor corresponds to a motherboard socket.
CoreSetSize - integer
Quantity of cores per processor.
TotalWatts - integer
Aggregate watts of power of transaction.
ServerSize - integer
Integer that represents the size of server in U rack unit. Valid sizes are 1U, 2U, 4U, and 8U.

Ravello Analytics, LLC