Use case: How indicator scores appear on the bubble chart
Summarize
Summary of How indicator scores appear on the bubble chart
This guide explains how application indicator scores are calculated and visually represented as bubbles on the Application Rationalization bubble chart in ServiceNow’s Enterprise Architecture (EA) Workspace, using the Australia release. The example uses Acme Corp’s application portfolio rationalization based on the Gartner TIME framework, which classifies applications into four categories: Tolerate, Invest, Migrate, and Eliminate. These categories appear as Sustain, Migrate, and Retire quadrants on the bubble chart.
Show less
The bubble chart plots two key indicators—Business Value and Technical Risk—on the X and Y axes respectively, enabling architects to visually prioritize applications for rationalization decisions.
Key Features
- Scoring Profile: This central configuration object links indicators to business applications, determining how scores are calculated. Only one scoring profile can be active for the bubble chart via the
snapmws.appindicatorscoringprofilesystem property. - Indicators: Two default indicators are used:
- Business Value (Maximize direction): Higher scores mean higher business value.
- Technical Risk (Minimize direction): Scores are inverted so that higher risk appears lower on the chart, making riskier applications visually intuitive.
- Normalization and Scoring: Raw assessment scores (0-100 scale) from stakeholder surveys are normalized to a 1-10 scale for chart plotting. Minimize-direction indicators are inverted after normalization. Indicator scores are weighted equally by default and summed into an overall application score, which can be used as bubble size.
- Data Sources: Primarily uses Assessments (survey data), but also supports Performance Analytics, Custom Scripts, Query Conditions, and Aggregates, allowing flexible integration of various data types.
- Application Visibility: Applications must have valid scores for both X and Y indicators in the same fiscal period to appear on the chart. A default filter excludes retired or decommissioned applications, which can be customized but must be checked to avoid missing bubbles.
- Bubble Chart Configuration: Indicators must be registered in the Application Bubble Chart table to be available as axis options. Bubble color reflects planned disposition and is fixed.
- Grouping and Limits: Bubbles close in score (within ±0.25 normalized points on both axes) are grouped for clarity, with grouped bubbles expandable to show individual applications. The chart displays up to 500 bubbles by default, configurable via a system property.
- Actions from Bubble Chart: Architects can set planned dispositions and create demands directly from bubble or grouped bubbles on the chart, streamlining rationalization workflow.
How Scores Translate to Bubble Positions
- Stakeholder assessments produce raw scores per application.
- The scoring job normalizes these scores to a 1–10 range relative to all applications.
- Minimize-direction indicators are inverted so that better conditions appear higher on the chart.
- Weighted indicator scores are summed into an overall application score, stored separately and used optionally for bubble size.
- The bubble’s X and Y positions reflect normalized indicator values, not raw or weighted scores.
Important Considerations for ServiceNow Customers
- Profile and Indicator Setup: Ensure the correct scoring profile is assigned and indicators are mapped with appropriate weights.
- Fiscal Period Alignment: Indicator frequency (e.g., quarterly) must match the fiscal period filter on the chart to display data correctly.
- Default Filter Configuration: Validate the default business application filter property to confirm that scored applications are not inadvertently excluded.
- Data Completeness: Applications missing scores on either axis for the selected period will not appear, so maintain survey completeness and regenerate assessments when adding new applications.
- Visual Interpretation: Higher Business Value appears higher on the Y-axis; lower Technical Risk appears further right on the X-axis due to inversion, making the chart intuitive for rationalization decisions.
- Bubble Color and Size: Color reflects planned disposition and cannot be modified; bubble size can represent overall application score or another indicator for additional context.
Practical Outcomes
Using this bubble chart, EA architects can quickly identify which applications to sustain, invest in, migrate, or retire by examining their relative business value and technical risk. The visual grouping and interactive features enable streamlined decision-making, including setting planned dispositions and creating demands directly from the chart, enhancing portfolio rationalization efforts.
Understand how application indicator scores are calculated and displayed as bubbles on the Application Rationalization bubble chart.
Scenario
- Tolerate — keep the application running for now, but do not invest further.
- Invest — actively develop and grow the application.
- Migrate — move the workload to a better alternative platform or application.
- Eliminate — retire or decommission the application.
Acme Corp evaluates five business applications on two dimensions:
- Business Value — how much value the application delivers to the business, gathered from stakeholder surveys.
- Technical Risk — how much technical risk the application carries, gathered from stakeholder surveys.
The bubble chart in EA Workspace plots these two dimensions on the X and Y axes, letting architects visually identify rationalization decisions.
What is a scoring profile?
Step 1: Set up indicators
As an EA admin user, navigate to and confirm that two default indicators are active:
| Indicator | Data source | Direction | Frequency |
|---|---|---|---|
| Business Value | Assessment | Maximize | Quarter |
| Technical Risk | Assessment | Minimize | Quarter |
Business Value uses Maximize because a higher score is better. Technical Risk uses Minimize because a higher risk score is worse — the system inverts the normalized value so that riskier applications appear lower on the chart axis.
How Minimize Direction Affects Chart Position
| Maximize direction (Business Value) | Minimize direction (Technical Risk) |
|---|---|
|
Higher raw score → higher normalized value → higher position on axis. A Business Value raw score of 85 normalizes to 10.0 — the top of the axis. |
Higher raw score = worse condition. The system inverts the normalized value. A Technical Risk raw score of 90 (most risky) normalizes to 10.0 first, then inverts to 1.0 — the bottom of the axis |
| Formula: Normalized Value = (((raw - min) / (max - min)) × 9) + 1 | Formula: Adjusted = (10 - Normalized Value) + 1 ← inversion step |
| Raw = 0 → Normalized = 1.0 (lowest on chart) Raw = max → Normalized = 10.0 (highest on chart) | Raw = 0 → Normalized = 1.0 → Inverted = 10.0 (highest on chart — zero risk is best!) Raw = max → Normalized = 10.0 → Inverted = 1.0 (lowest on chart — maximum risk is worst) |
Indicator data sources
| Data source | How it works | Example indicators | Best used for |
|---|---|---|---|
| Assessments | Survey-based ratings collected from stakeholders via the Service Portal. Assessors rate each application on a defined scale. | Business Value, Technical Risk, and Functional Fit | This use case |
| Performance Analytics (PA) | Scorecard data from an existing PA indicator (For example: incident count, change volume). Automatically sourced — no manual surveys are needed. | Number of Incidents via Service and Number of Changes via Service | Operational health indicators |
| Custom Script | A script that returns a per-application weight. Useful for complex calculations or external data lookups. | Portfolio TCO and Overall Score | Financial and composite indicators |
| Query Condition | A configurable table query (For example: count open vulnerabilities per app). No code required. | Usage (active users) | Simple count-based indicators |
| Indicators | Aggregates scores from child indicators into a parent indicator score. | Application Operational Metrics, and Business impact | Roll-up and composite scoring |
Applications Not Assessed — Visibility on the chart
If a business application has not been assessed for one or both axis indicators for the selected fiscal period, it will not appear on the bubble chart. A bubble requires indicator scores for both the X-axis and Y-axis indicator for the same fiscal period.
Applications with scores for only one axis are silently excluded. This applies regardless of data source type — an application that was not included in a PA breakdown, not assessed in a survey, or not returned by a custom script will have no score record and therefore no bubble is displayed.
- Navigate to apm_app_indicator_score.list
- Filter by fiscal period = the period shown on the chart Filter by indicator = your X-axis indicator
- Compare the configuration item list to the same filter for your Y-axis indicator
Step 2: Set up the scoring profile
As an admin, navigate to and confirm that both indicators are listed in the Profile Indicators related list with the following weights:
| Indicator | Weight |
|---|---|
| Business Value | 50 |
| Technical Risk | 50 |
Equal weights mean each indicator contributes equally to the overall application score. Verify that all five business applications have their Application scoring profile field set to Default
Application Profile. For information on how to attach profile indicators to a scoring profile, see Attach a profile indicator with an application scoring profile.
Step 3: Add indicators to the bubble chart table
Navigate to the Application Bubble Chart [apm_bubble_chart] table and confirm that both Business Value and Technical Risk are registered. The available X and Y axis options on the bubble chart are derived from this table. The indicator scores are gathered from the Indicator Scores [apm_app_indicator_score] table.
Step 4: Stakeholders complete assessments
The EA team sends out assessment surveys. Stakeholders rate each application on Business Value and Technical Risk. After all responses are collected, the platform aggregates them per application into the following raw scores (application weights):
| Application | Business Value (raw) | Technical Risk (raw) |
|---|---|---|
| App A — CRM Platform | 85 | 20 |
| App B — Legacy ERP | 30 | 90 |
| App C — Analytics Suite | 70 | 40 |
| App D — HR Portal | 55 | 60 |
| App E — Internal Wiki | 20 | 75 |
Step 5: The scoring job runs and calculates normalized values
The admin runs the Load Application Indicators and compute Application Scores scheduled job. The system calculates a Normalized Value for each application per indicator, scaling all values to a 1–10 range relative to each other.
Verifying that the job ran successfully
- System log: Navigate to syslog.list, filter Message contains Load Application Indicators, Created = Last 30 minutes. A successful run shows two entries: #### Starting... and #### Completed execution of... <elapsed>ms. A missing completion entry means the job failed mid-run — add Level = Error to the filter to find the cause.
- Indicator scores: Navigate to apm_app_indicator_score.list, filter by Fiscal period = <FY26: Q2> and Configuration Item = any business application (from this use case). Both Business Value and Technical Risk rows must appear with a non-zero Normalized value. If rows are missing, check that all assessment instances were Complete or Canceled before regeneration ran.
- Progress Worker path: If you used sn_apm_regenerate_application_scores.do instead of the scheduled job, search syslog for APM: Regenerate application scores on <date> — this is the log marker for the background worker path.
Normalization formula:
This scales raw scores, so all applications are comparable on a 1–10 range regardless of absolute values. The lowest-scoring application always maps to 1.0 and the highest to 10.0, with all others distributed proportionally between.
Normalized Value = (((appWeight - minWeight) / (maxWeight - minWeight)) x 9) + 1For indicators with Minimize direction, the normalized value is then inverted so that a lower raw value (better condition) results in a higher chart position:
Adjusted Normalized Value = (10 - Normalized Value) + 1Business Value — normalized values (direction: Maximize)
Min = 20 (App E) · Max = 85 (App A) · Range = 65.
| Application | Raw score | Calculation | Normalized Value |
|---|---|---|---|
| App A — CRM Platform | 85 | (((85-20)/65)x9)+1 | 10.00 |
| App B — Legacy ERP | 30 | (((30-20)/65)x9)+1 | 2.38 |
| App C — Analytics Suite | 70 | (((70-20)/65)x9)+1 | 7.92 |
| App D — HR Portal | 55 | (((55-20)/65)x9)+1 | 5.85 |
| App E — Internal Wiki | 20 | (((20-20)/65)x9)+1 | 1.00 |
Technical Risk — normalized values (direction: Minimize, inverted)
Min = 20 (App A) · Max = 90 (App B) · Range = 70.
| Application | Raw score | Step 1: Normalize | Step 2: Invert | Final Normalized Value |
|---|---|---|---|---|
| App A — CRM Platform | 20 | 1.00 | (10-1.00)+1 | 10.00 |
| App B — Legacy ERP | 90 | 10.00 | (10-10.00)+1 | 1.00 |
| App C — Analytics Suite | 40 | 3.57 | (10-3.57)+1 | 7.43 |
| App D — HR Portal | 60 | 6.43 | (10-6.43)+1 | 4.57 |
| App E — Internal Wiki | 75 | 8.57 | (10-8.57)+1 | 2.43 |
Step 6: Indicator scores and overall application scores are calculated
The system calculates each application's indicator score — the normalized value weighted by the indicator's share of the scoring profile — and sums them into an overall application score.
Indicator Score formula:
Indicator Score = Normalized Value x (Indicator Weight / Total Weights)
In this example, the weight share for each indicator is 50 / (50 + 50) = 0.5.
| Application | BV normalized | BV indicator score | TR normalized | TR indicator score | Overall score |
|---|---|---|---|---|---|
| App A — CRM Platform | 10.00 | 5.00 | 10.00 | 5.00 | 10.00 |
| App C — Analytics Suite | 7.92 | 3.96 | 7.43 | 3.72 | 7.68 |
| App D — HR Portal | 5.85 | 2.93 | 4.57 | 2.29 | 5.22 |
| App E — Internal Wiki | 1.00 | 0.50 | 2.43 | 1.22 | 1.72 |
| App B — Legacy ERP | 2.38 | 1.19 | 1.00 | 0.50 | 1.69 |
These values are stored across two separate tables:
- Indicator Score [apm_app_indicator_score] — holds the per-indicator, per-application, per-fiscal-period score records. The Normalized Value in this table is what the X and Y axes on the bubble chart read directly.
- Overall Application Score [apm_app_score] — holds the aggregate score per application per fiscal period, calculated by summing all Indicator Scores. This is visible in the List view of Application Rationalization and is used as the Bubble Size when the Overall Score option is selected in the chart settings.
Verify the business application default filter
Before a scored business application can appear on the bubble chart, verify the business application default filter. This filter is an encoded query stored in the sn_apm_ws.business_application_default_filter system property.
The default value is:
install_status!=2@install_status!=2000@life_cycle_stage!=End of Life@life_cycle_stage!=EMPTY
This means the chart excludes any business application that is in Retired or Decommissioned install status, or whose lifecycle stage is End of Life or empty. In this scenario, all five Acme Corp applications have an active install status and a current lifecycle stage, so all five pass the filter and are eligible to appear as bubbles.
The data pipeline
The bubble chart rendering depends on the following data chain. Verify that the following components are aligned for the chart to render data.
| Link | Component | What it does | Where to check |
|---|---|---|---|
| 1 | Scoring profile property | Determines which scoring profile the bubble chart queries against. | System Property: sn_apm_ws.app_indicator_scoring_profile |
| 2 | Profile indicator configuration | Maps indicators to the scoring profile with weights and configuration. | Table: Profile indicator [apm_application_profile_indicator] |
| 3 | Bubble chart configuration | Maps specific indicators to the X, Y, and Z (bubble size) axes of the chart. | Table: Application Bubble Chart [apm_bubble_chart] |
| 4 | Indicator score data | Actual score records for business applications, per indicator, per fiscal period. | Table: Indicator Score [apm_app_indicator_score] |
| 5 | Business application default filter | Controls which business applications are visible in application rationalization. | System Property: sn_apm_ws.business_application_default_filter |
Step 7: Reading the bubble chart
Before interpreting the chart, check the following details.
| # | What to check | What good looks like |
|---|---|---|
| 1 | Correct scoring profile configured? [sn_apm_ws.app_indicator_scoring_profile] | Contains the sys_id of the profile under which indicator scores were created. If blank, the system uses the Default Application Profile. Only one sys_id is accepted — comma-separated values are not supported. |
| 2 | Indicators mapped to that profile? [apm_application_profile_indicator] | At least two indicators (for the X and Y axes) are listed in the Profile Indicators related list with non-zero weights. |
| 3 | Bubble chart configuration set up? [apm_bubble_chart] | An active record exists whose X and Y Indicator fields reference indicators that are also listed in the scoring profile from check 2. |
| 4 | Indicator scores exist for the selected fiscal period? [apm_app_indicator_score] | Records exist for business applications, for the fiscal period selected in the chart UI, under the same scoring profile. Both X and Y axis indicators must have scores — a bubble only renders if both axes have data for the same fiscal period. |
| 5 | Scored apps pass the default filter? (sn_apm_ws.business_application_default_filter) | The business applications with indicator scores are not excluded by the encoded query. Verify by applying the filter on cmdb_ci_business_app.list and confirming the scored apps
appear. |
Role required: sn_apm.apm_analyst.
The EA architect navigates to , opens the Application Rationalization page by selecting the application rationalization icon (), and then selects Bubble chart.
The architect selects the settings icon () to configure the chart and selects Apply:
- X-axis: Technical Risk
- Y-axis: Business Value
- Bubble size: Overall Application Score
- Bubble labels: Toggle enabled, to display business application names on the chart.
After selecting Apply, business application bubbles are displayed on the chart. Each application appears at the intersection of its normalized values for the two chosen indicators:
| Application | X (TR norm) | Y (BV norm) | Quadrant | Implication |
|---|---|---|---|---|
| App A — CRM Platform | 1.00 | 10.00 | Sustain | High value, low risk — maintain and monitor |
| App C — Analytics Suite | 3.57 | 7.92 | Sustain | Strong value, manageable risk — keep steady |
| App D — HR Portal | 6.14 | 5.85 | Invest | Moderate value, elevated risk — invest to reduce risk |
| App E — Internal Wiki | 8.17 | 1.00 | Migrate | Low value, high risk — migrate or replace |
| App B — Legacy ERP | 10.00 | 2.38 | Migrate | Low value, very high risk — urgent action needed |
You can also generate insights into business applications using Now Assist. For information, see Generate insights into business applications.
Step 8: Taking action from the bubble chart
The architect identifies App B (Legacy ERP) in the Migrate quadrant. Its Business Value normalized score (2.38) and Technical Risk normalized score (1.00) indicate low value and very high risk, making it a priority for retirement. The architect takes the following actions directly from the bubble chart.
Set planned disposition
The architect selects the bubble for App B and performs the following, depending on the bubble type:
| Bubble type | Action |
|---|---|
| Single bubble |
|
| Grouped bubble |
|
Create a demand
The architect also creates a demand for the retirement initiative directly from the bubble chart:
| Bubble type | Action |
|---|---|
| Single bubble |
|
| Grouped bubble |
|
The architect also notes that App E (Internal Wiki) sits in the Migrate quadrant but has a slightly higher Technical Risk normalized value (2.43) compared to App B. Before setting a disposition, the architect selects the App E bubble to open the side panel, then selects Full details to review the full business application record without leaving the bubble chart. For more details, see Edit business application details in bubble chart view.
Summary: the full flow at a glance
The following sequence summarizes how a raw assessment score is set to a bubble position on the chart:
- Stakeholder assessments produce a raw score per application (the application weight).
- The scoring job normalizes raw scores to a 1–10 scale relative to all other applications in the set (Normalized Value). For Minimize-direction indicators, the value is inverted so that a lower raw score results in a higher chart position.
- Weights are applied to each normalized value (Normalized Value x weight share = Indicator Score).
- Indicator Scores are summed to produce the Overall Application Score.
- Scores are stored in two tables: Indicator Scores [apm_app_indicator_score] table (per-indicator scores — drives axis positions) and Overall Application Score [apm_app_score] table (overall aggregate score — drives bubble size when Overall Score is selected).
- The default application filter (sn_apm_ws.business_application_default_filter) is applied. Only applications that pass this encoded query filter are eligible to appear as bubbles.
- The bubble chart plots the Normalized Value on the X and Y axes. The axis scale is fixed at 0–10. Bubble color reflects the planned disposition value set for each application.
Key behaviors this example illustrates
Position is relative, not absolute. An application's bubble position depends on how it compares to all other applications in the evaluated set — not on its raw score alone. If you add or remove applications from the portfolio, the normalized values recalculate and bubbles shift.
The chart plots normalized values. Even though the scoring profile uses weighted indicator scores to calculate the overall application score, the X and Y axes show the normalized value (1–10). Changing indicator weights does not move bubbles left or right — it only changes the overall score, which controls bubble size when configured that way.
Minimize-direction indicators are inverted on the chart. Technical Risk is set to Minimize. Because Technical Risk is on the X-axis, a riskier application appears further right. The Invest quadrant (top-right) represents applications with high business value but elevated technical risk — applications worth investing in to reduce that risk.
Fiscal period alignment is critical. If the indicators are set to Quarter frequency and the fiscal period filter on the chart is set to a month, no data appears. The period filter must match the indicator frequency.
Bubble size adds a third dimension. Configuring an indicator or the overall score as the Bubble Size lets you compare a third metric visually without adding another axis — for example, using Portfolio TCO as the bubble size shows cost alongside value and risk.
Closely scored applications are grouped. Bubbles whose X and Y axis values are within +/-0.25 of each other are combined into a single grouped bubble showing a count. Select a grouped bubble to open the info pane and see the individual applications inside.