Configuring Cost Models
Cost models control projected costs displayed throughout Commander, such as service catalog costs and deployed VM costs. Cost models are also used to help generate historical information in reports that can assist you in managing your virtual infrastructure resources. For more information, see Cost Models.
Access through: |
Configuration > Costs > Cost Models tab |
Available to: |
Commander Roles of Superuser and Enterprise Admin |
To create a cost model: Click New Cost Model, or, to use an existing cost model as a template, select a cost model in the list and click Copy Cost Model.
Public clouds:
- To create a new public cloud cost model, you must copy an existing cost model for that public cloud.
- Ensure that any costs you add to the cost model are in US dollars (USD).
To edit a cost model, select a cost model in the list and click Edit Cost Model. In the Cost Model wizard:

Commander multi-tenant model allows you to target a cost configuration to a part of your infrastructure.
This page doesn't appear if you're editing:
- the Default Private Cloud cost model. You can't change the name or target of the default cost model.
- a cost model for an unsupported public cloud. You can't rename these cost models, and they don't have a target.
Enter a name and select one or more targets in your infrastructure. Don't assign the same cost model to both on-premise and off-premise targets. For more information, see On-premise and off-premise cost models.
Depending on what part of your infrastructure you want to target, you can toggle between the Infrastructure view and the Applications view. A cost model applies to the Infrastructure view or the Applications view, not both.
Public cloud: Because the region can't be determined from the Applications view targets, we recommend that public cloud cost models always target the Infrastructure view.
Templates and images: If you use the Infrastructure view to assign a target, templates won't be covered by this cost model. Templates are covered by the Default Private Cloud cost model, unless another cost model has been applied to the Applications view. The more templates you have, therefore, the more significant the difference between the two views becomes.

If two cost models target the same VM, the following rules apply:
- The cost model nearer to the VM in the hierarchy is used.
- A cost model applied to the Infrastructure view always takes precedence over a cost model applied to the Applications view.
For more information, see Costs and the service catalog.

On-premise cost models: Enter yearly costs for Reserved and Allocated memory, and for Reserved and Allocated CPU.
Off-premise cost models: You can't set memory and CPU costs for a public cloud cost model. See On-premise and off-premise cost models and Calculating Projected Public Cloud Costs to learn more.
Note: Reserved CPU and memory are resources that can only be accessed by one VM. Therefore they warrant higher costs than allocated CPU and memory, which may be accessed by all VMs.

This page appears only for on-premise cost models.
Commander allows you to track up to seven levels of tiered storage costs based on the different types of storage media you use. The values you enter here are used to calculate and display the costs of VMs, datastores, and datastore devices for reporting purposes.
Note: You can configure more meaningful storage tier labels.
The cost you enter for each storage tier is per year per GB.
If required, change the storage tier defined as default by selecting Set As Default. The default storage tier can be changed when a VM is deployed.
Indicate how you want storage costs to be calculated by selecting one of the following:
- Provisioned Storage Sizes: Commander uses the provisioned storage size of the VM. This option reflects the full cost of allocated storage, regardless of whether or not the allocated storage is in use.
- Actual Storage Sizes: Commander uses the storage that the VM is using at the time of calculation. This option doesn't take into account any storage that has been allocated to the VM but isn't being used.
To learn how to assign datastores to an appropriate storage tier, see Setting Storage Tiers.

On-premise cost models: Enter the yearly operating system costs. Commander detects the operating systems in use and adds them to the available selections. You can configure a global cost, costs for OS families, or costs for specific operating systems. If no cost is defined for a specific OS, Commander uses the cost for the OS family; if no OS family cost is defined, Commander uses the Global Default cost.
Off-premise cost models: You can't set Operating System costs for a public cloud cost model. See On-premise and off-premise cost models and Calculating Projected Public Cloud Costs to learn more.

Enter the yearly support costs. Commander detects the operating systems in use and adds them to the available selections. You can configure a global support cost, support costs for OS families, or support costs for specific operating systems. If no support cost is defined for a specific OS, Commander uses the support cost for the OS family; if no OS family support cost is defined, Commander uses the Global Default support cost.

To adjust the costs displayed for cloud services, you can add percentage-based markups or discounts to cost models. Adding markups and discounts is useful to add margins for resale, cover shared costs such as IT support, or pass on discounts to users. Users will see the markedup/discounted costs throughout the Service Portal and in any emails to them that contain cost information.
To limit the period that each markedup/discounted cost will occur, you can specify markups and discounts for a specific period. Alternatively you can use "Never Expires" to retain the markup/discount indefinitely. If you change your mind later and want to set an expiry date, you can deselect "Never Expires" and set an expiry date.
You can add markups and discounts for specific service SKUs (public cloud services only) or for service types (public and private cloud services). Each cost model has a Global Default, which can provide a default percentage markup/discount when more specific markups/discounts don't apply to a service.
Although you can add multiple markups and discounts to a cost model, only one cost markup/discount is applied to a service. Cost markups/discounts are applied in the following order depending on applicability:
- Service SKU
- Service Type
- Global Default
For example, when a public cloud service matches a Service SKU, only the markup/discount for that SKU is applied. Even if there is a match, service type markups/discounts are not applied, and neither is the Global Default.
If you add markups or discounts to your costs, then Service Portal Recommendations, Quota, and Intelligent Placement calculations include costs that are markedup/discounted. Variables for markedup/discounted costs can be used in emails and workflows, so you can choose either original costs or markedup/discounted costs for actions like sending approval emails. For more information, see Variable Syntax for Emails and Scripts.
As an administrator, if you want to see the markedup/discounted costs in Commander's Cost Analytics, you can edit cost filters to show markedup/discounted costs. See Filtering cost analytics information. If you want to see the SKUs that are used for public cloud services, they're displayed in the Daily Cost Details table.
The VM Billing, Cloud Billing, and Cloud Migration Planner reports allow you to show markedup/discounted costs, if you prefer. This option allows you to provide Service Portal users with only markedup/discounted prices, not the actual prices you pay. All other reports only use the original costs.
Notes:
- SKU markups/discounts aren't accounted for in estimated forward-looking costs
- SKUs will only be retrieved from Version 8.1 and forward, unless billing records are retrieved. Contact support@snowsoftware.com if you would like to perform this activity.
- The valid range for the percentage markup value is -100% to 100,000%.
- Global Default markups/discounts aren't applied to Additional Costs.
- You can configure the historical markup and trigger markup recalculation using REST v3. For more information, see Snow Commander REST API.
To set a Global Default markup/discount:
- Select Add Markup/Discount > Global Default.
- In the Add Markup/Discount dialog, enter a positive percentage to add a markup or a negative percentage to add a discount.
- Optionally, provide a description for the Global Default markup/discount value.
Descriptions are for display purposes when configuring markups/discounts and won't be visible to users.
- Set a Start Date for the markup/discount period to begin.
- Either enable Never Expires, or set an End Date for the markup/discount period to end.
- Click OK.
To add a Service Type markup/discount:
- Select Add Markup/Discount > By Service Type.
- In the Add Markup/Discount dialog, specify the Service Type.
- Enter a positive percentage to add a markup or a negative percentage to add a discount.
- Optionally provide a description for the Service Type markup/discount value.
Descriptions are for display purposes when configuring markups/discounts and won't be visible to users.
- Set a Start Date for the markup/discount period to begin.
- Either enable Never Expires, or set an End Date for the markup/discount period to end.
- Click OK.
To add a Service SKU markup/discount:
- Select Add Markup/Discount > By Service SKU.
- In the Add Markup/Discount dialog, enter a name for the SKUs.
- In the Percentage field, enter a positive percentage to add a markup or a negative percentage to add a discount.
- In the SKUs field, enter the vendor-provided SKUs. To add multiple SKUs, use commas to separate each SKU.
Note: For Azure, enter the Part Number instead of the SKU. These are valid for Azure enterprise subscriptions only, not for Azure standard account subscriptions.
- Set a Start Date for the markup/discount period to begin.
- Either enable Never Expires, or set an End Date for the markup/discount period to end.
- Click OK.

Use this page to define and implement fixed monthly or calculated daily costs such as setup, operating costs, maintenance, or support fees. The calculated daily Line Item feature lets you define functions containing multiple parameters to generate formula-based cost items.
These custom charges will be included in the charts and tables in the Commander Cost Analytics and Service Portal Cost Dashboard pages. These charges will also show up in the Cloud Billing Report unless you choose to filter them out. They are generated as charges, starting on the start date that you specify.
For public cloud accounts, there's a two-day delay to view the reported charges.
To create Additional Line Items, you have to select top level cloud accounts in the Name and Targets page of the Cost Model wizard.
Note: Additional Line Items won't be considered in Anomaly Detection or Cost Markup calculations.
Adding a fixed monthly charge
To add a fixed monthly charge to the Additional Line Items page:
- On the Additional Line Items page of the Cost Model wizard, click Add Line Item and select Add Fixed Monthly Charge.
- In the Add Fixed Monthly Charge dialog, configure the following:
- Name — This is the name you'll use to identify this charge in the Cost Model wizard.
- Cloud Accounts — The charge you specify will appear in each selected account.
- Amount — This is the cost of the monthly charge. The amount should not include any currency symbols (for example, a dollar sign). This amount can be any positive or negative decimal number.
- Start Date — This is the first day the charge will occur. The date must be the current day or a future day. For public cloud accounts, there's a two-day delay to view the reported charges.
- Never Expires — Enable this checkbox if you don't want the charge to stop.
- Number of Months — The last charge will be this many months after the start date and includes the month of the start date. For example, if your start date is January 15 and you enter 5 months, the last charge will occur on May 15. If you enter a charge for the 31st day of a month, the charges will occur on the last day of any months with fewer than 31 days.
- Service Name — This is the display name for the service in costing pages and reports. For example, VM032, pvrepo, QA SQL 2017, and Automation RT1. If this field is left blank it will be filled in automatically with the Name you entered at the top of this dialog.
- Service Type — You can use this field to define the cloud type and service that this charge represents. For example, Amazon CloudWatch, SQL Database, and VMware Virtual Machines. If this field is left blank it will be filled in automatically with the Name you entered at the top of this dialog.
- Cost Category — This is the more general cost group for the charge. For example, CPU, Compute Instance, Data Transfer, Memory, Storage, System Operation, and Write Operations. If this field is left blank it will be filled in automatically with the Name you entered at the top of this dialog.
- Click OK.
- Click Next or Finish to leave the Additional Line Items page.
Adding a calculated daily charge
To add a calculated daily charge to the Additional Line Items page:
- On the Additional Line Items page of the Cost Model wizard, click Add Line Item and select Add Calculated Daily Charge.
- In the Add Calculated Daily Charge dialog, configure the following:
- Name — This is the name you'll use to identify this charge in the Cost Model wizard.
- Cloud Accounts — The charge you specify will appear in each selected account.
- Start Date — This is the first day the charge will occur. The date must be the current day or a future day. For public cloud accounts, there's a two-day delay to view the reported charges.
- Never Expires — Enable this checkbox if you don't want the charge to stop.
- End Date — The last day the Line Item is valid. A charge will be calculated for this last day. Expired Line Items can't be changed.
- Amount Formula — Define functions based on multiple parameters to compute specific cost items. Formulas can include Billing Tags. Examples:
- Service Name — This is the display name for the service in costing pages and reports. For example, VM032, pvrepo, QA SQL 2017, and Automation RT1. If this field is left blank it will be filled in automatically with the Name you entered at the top of this dialog.
- Service Type — You can use this field to define the cloud type and service that this charge represents. For example, Amazon CloudWatch, SQL Database, and VMware Virtual Machines. If this field is left blank it will be filled in automatically with the Name you entered at the top of this dialog.
- Cost Category — This is the more general cost group for the charge. For example, CPU, Compute Instance, Data Transfer, Memory, Storage, System Operation, and Write Operations. If this field is left blank it will be filled in automatically with the Name you entered at the top of this dialog.
Tip: To make it easier to create complex formulas, click to open the Expression Assistant. Test your formula with Run Calculation.
If you use markup costs, the formula will be run for both base costs and markup costs and the appropriate results will be displayed. If recorded costs change after formulas are processed, formulas will be re-evaluated to regenerate new custom costs. If no record exists for the charge specified in the formula, no Line Item will be created or displayed, but if the charge specified in the formula occurs at some point in the future, the Line Item will be calculated and displayed.
- Click OK.
- Click Next or Finish to leave the Additional Line Items page.
Both fixed monthly charges and calculated daily charges are displayed in the Additional Lines Items page.
Configuring Additional Line Items
You can Edit, Copy, and Remove Line Items using the Actions at the right side of the Additional Line Items page.
Edit — The only Edit permitted on a Line Item that's already running is to change the End Date.
Copy — Copying an existing calculated daily Line Item resets the Start Date in the copy to the current date.
Remove — If you remove a Line Item, the information it contains is retained in the system so it can be used if old billing data is retrieved.
Expired Line Items — Expired Line Items still appear on the Additional Line Items page with a note indicating that they've expired. They can be removed by clicking Remove in the Action menu beside the item or you can delete all expired Line Items by clicking Remove Expired Line Items.

You can configure a cost for any custom attribute in Commander. Once applied to a VM, that cost is added to the VM's nightly billing records (and is included in the VM Billing report and the Cloud Migration Planner report). The cost is also added to the annual cost, which can be displayed in the Details section of the VM's Summary tab.
Note: If you include a custom attribute on a service request form and if you configure the custom attribute with a cost, that cost is included in the Estimated Cost chart on the Request New Service form.
To set costs for custom attributes, select a custom attribute from the drop-down menu and click Configure. What you can do depends on the custom attribute type:
- Text-type attributes: Enable Add this attribute's value to VM's annual cost and click OK.
- List-type attributes: You can specify costs for list-type attributes in two ways. To specify fixed costs, select Custom Cost and specify the costs for each value in the list. To calculate a custom cost for each value, select Custom Calculation. See Calculating Custom Costs for an example.
Note: To avoid format conflicts, we recommend that Text Type custom attributes used in cost models don't contain regular expressions. All custom attributes used in cost models are validated as positive numbers. Commander automatically validates costs (up to two decimal places) as whole numbers. To use regular expressions to validate the input for cost-based custom attributes, you must match this pattern to avoid validation failure. You must use a period as the decimal separator, not a comma.
For more information, see Working with Custom Attributes.
Note: Apply custom attribute values to VMs with the Set Custom Attributes command. See also Applying custom attribute values.

To ensure accurate costs, Commander allows you to specify whether costs are calculated continuously or only when the VM is running. A VM's uptime is stored as a percentage in the nightly billing records.
Notes:
- Public cloud VMs: If a VM is powered on or off in Commander or the Service Portal, then the uptime percentage is exact. If the VM's power state changes outside Commander, then the state change is retrieved during the regular polling cycle, but Commander is unable to obtain the time stamp, so the uptime percentage may not be exact.
- Upgrade note: Billing records created before the introduction of the VM Uptime feature are considered to have an uptime percentage of 100% for reporting purposes.
This setting affects costs shown for deployed VMs, as well as costs in the VM Billing report and the Cloud Migration Planner report.
Unlike when Commander calculates costs based on power state history, when cost predictions are made, the VM is assumed to always be running. This means that costs shown in service catalog entries, request details, service requests emails and landing pages always show costs for running VMs. Likewise, costs shown in rightsizing recommendations also show the cost for running VMs.
In the Default Private Cloud cost model, all costs are calculated continuously by default.
In AWS and Azure cost models, by default, VM instance costs (memory and CPU) are calculated only for running VMs, while storage, operating system and support costs are set to be calculated continuously.
In GCP cost models, by default, VM instance costs (memory and CPU) and OS costs are calculated only for running VMs, while storage and support costs are set to be calculated continuously.
If you configured custom attributes on the previous page of the wizard, you can also specify whether these custom attribute costs are calculated continuously or only while the VM is running.
Deleting cost models
Access through: |
Configuration > Costs |
Available to: |
Commander Roles of Superuser and Enterprise Admin |
To delete a cost model:
- Click the Cost Models tab.
- Select a listed cost model and click Delete.
It's not possible to delete any of the default cost models (Default Private Cloud, Amazon Web Services, Microsoft Azure or Google Cloud Platform).
For VMs that had been assigned to the deleted cost model, the next cost model higher up the tree is applied. If no cost model is found, the Default Private Cloud cost model is applied.
If you delete a cost model target from your infrastructure, associated cost models aren't deleted.