/ EPCM Study Tour Hall 7 of 9
Academy Campus
1Foundations
2Dimensions
3Models
4Logic
5Workshop
6Control
7Observatory
8Pipeline
9Exam
Hall 7 · Observatory
Profit Curve Observatory

Rule Balancing &
Profit Curve Analysis

"Rule Balancing traces every dollar through your model. Profit Curves reveal which customers create value — and which destroy it. Together, they transform NovaPrism's $134M blind spot into actionable intelligence."

PCM_Balance Rule Balancing Reports Profit Curve Simulator 60 Engagements Exam: Analytics
💡
Conceptual

The PCM_Balance Dimension

How EPCM preserves your original data while tracking every allocation and adjustment.

Every EPCM application includes a system-generated dimension called PCM_Balance. This dimension is the audit trail for your entire model — it tracks where data came from (Input), where it moved (Allocation In/Out), and how it was modified (Adjustment In/Out).

🔑
Key Insight: The PCM_Balance dimension ensures your original loaded data (Input) is never overwritten by calculations. Allocations and adjustments are stored separately, and PCM_Net Balance aggregates all components to show the final result.
📥
PCM_Input
Original data loaded from source systems. Never modified by EPCM calculations. NovaPrism loads $134M Enterprise Support costs here.
➡️
PCM_Allocation In
Costs allocated TO this intersection from other sources. Divisions receive their share of allocated costs here.
⬅️
PCM_Allocation Out
Costs allocated FROM this intersection to destinations. Enterprise Support's $134M flows out through this member.
PCM_Adjustment In
Values added by Custom Calculation rules. Used for calculated drivers, markup adjustments, or derived values.
PCM_Adjustment Out
Values removed by Custom Calculation rules. Offsets for adjustments, reversing entries, or correction postings.
⚖️
PCM_Net Balance
The sum: Input + Allocation In + Allocation Out + Adjustment In + Adjustment Out. This is your "truth" for reporting.
💡
Conceptual

NovaPrism Balance Flow Example

Tracing $52M IT costs through the PCM_Balance dimension.

Let's follow NovaPrism's $52M IT cost pool through the PCM_Balance dimension. Initially loaded to Enterprise Support, it gets allocated to the four operating divisions based on IT ticket counts.

Entity PCM_Input Alloc In Alloc Out Adj In Adj Out Net Balance
Enterprise Support $52.0M ($52.0M) $0
Digital Services (DS) $18.7M $18.7M
Infrastructure Solutions (IS) $15.1M $15.1M
Consulting Labs (CL) $10.4M $10.4M
Engineering Services (ES) $7.8M $7.8M
TOTAL $52.0M $52.0M ($52.0M) $52.0M
Balance Check: Notice that Allocation In ($52M) exactly equals Allocation Out ($52M). This is the fundamental integrity check of EPCM — every dollar allocated out must be allocated in somewhere. If these don't balance, you have a model error.
⚙️
Technical

Generating Rule Balancing Reports

The Rule Balancing page lets you trace fund flow rule-by-rule through your entire model.

Rule Balancing is accessed via Home → Modeling → Rule Balancing. Unlike Calculation Analysis (which shows performance), Rule Balancing shows data flow — how much moved through each rule.

1️⃣
Select Cube & Form
Choose the cube and a pre-designed data form that displays Rule Balancing results. Forms must include PCM_Rule and PCM_Balance dimensions.
2️⃣
Set POV
Specify Years, Period, Scenario, and Version to analyze. Rule Balancing shows results for the exact POV combination selected.
3️⃣
Click Refresh
EPCM generates the rule balancing report showing Allocation In, Allocation Out, Adjustment In, Adjustment Out, and Net Balance by rule.
4️⃣
Analyze Results
Click any rule to view its definition, open an ad-hoc grid, or export to Smart View for deeper analysis.
📋
Data Form Requirement: Before you can run Rule Balancing, a Service Administrator or Power User must design a data form specifically for Rule Balancing. The form must include the PCM_Rule dimension (to show rule-by-rule breakdown) and PCM_Balance (to show the balance components).
⚙️
Technical

Designing Data Forms for Rule Balancing

Form layout determines what insights you can extract from Rule Balancing.

The data form you select controls what the Rule Balancing report displays. Here are common form designs for NovaPrism:

Form Name Row Dimension Column Dimension Use Case
Balancing - All Steps PCM_Rule (All Rules) PCM_Balance High-level view of all 18 allocation rules
Balancing - By Entity Entity (All Divisions) PCM_Balance See how costs land on each division
Balancing - IT Only PCM_Rule (IT Rules) PCM_Balance Drill into $52M IT allocation
Balancing - Customer Level Customer (Level 0) PCM_Balance See fully-loaded costs by engagement
⚠️
Performance Warning: Rule Balancing queries live data. A form with 60 customers × 5 balance members × 18 rules = 5,400 cells. Keep your forms focused — use filters and hierarchies to limit scope.
⚙️
Technical

Rule Balancing Actions

What you can do after generating a Rule Balancing report.

📤
Export to Excel
Download the Rule Balancing report as an Excel file for offline analysis, sharing with stakeholders, or archival.
📜
View Rule Definition
Select any rule and click the definition icon to see the complete rule configuration — source, destination, driver, and offset settings.
📊
View Rule Data (Ad-Hoc)
Open an ad-hoc grid pre-filtered to show the data slice for a specific rule. Drill down, pivot, and analyze interactively.
📈
View in Smart View
Open context-sensitive ad-hoc in Oracle Smart View for Office. Add dimensions, create pivot tables, and build custom reports.
📈
Interactive

Understanding Profit Curves

A profit curve reveals which segments of your population create value — and which destroy it.

A profit curve is a graphical representation showing how a population dimension (customers, products, channels) contributes to cumulative profitability. The x-axis shows population members sorted by profitability (most profitable on left, least on right). The y-axis shows cumulative net profit.

NovaPrism Engagement Profit Curve (60 Clients)
Profitable (36)
Marginal (12)
Unprofitable (12)
$48M $36M $24M $12M $0
1 15 30 45 60
Peak: $46.2M
$46.2M
Peak Profit (Client 36)
$38.4M
Final Net Profit
-$7.8M
Value Destroyed (24 clients)
60%
Clients Creating Value
🎯
NovaPrism Insight: The curve peaks at client #36 with $46.2M cumulative profit. After that, every additional client reduces total profitability. The final 24 clients collectively destroy $7.8M in value. This is the intelligence that was invisible before EPCM — NovaPrism now knows exactly which engagements to grow, renegotiate, or exit.
💡
Conceptual

Anatomy of a Profit Curve

Reading the three zones of customer profitability.

📈
Zone 1: Steep Rise (Profitable)
The first part of the curve rises steeply — these are your most profitable customers. Each one adds significant value. For NovaPrism, the top 15 engagements generate 78% of total profit. Action: Protect, expand, replicate.
➡️
Zone 2: Flattening (Marginal)
The middle section flattens — these customers contribute marginally. They're not losing money, but they're not moving the needle either. For NovaPrism, clients 16-36 are in this zone. Action: Optimize, automate, increase efficiency.
📉
Zone 3: Decline (Unprofitable)
The curve drops — these customers destroy value. Every dollar of revenue costs more than a dollar to serve. For NovaPrism, the bottom 24 engagements collectively destroy $7.8M. Action: Reprice, renegotiate, or exit.
🎯
Framework

The Profit Curve Decision Framework

Four quadrants for customer portfolio management.

🧭
NovaPrism Customer Portfolio Matrix
Based on fully-loaded profitability from EPCM
Stars (High Profit, High Revenue)
Top-tier engagements with excellent margins. NovaPrism's top 10 clients generate $28M profit on $180M revenue (15.6% margin).
Protect & Expand
🔄 Cash Cows (Marginal Profit, High Revenue)
Large but thin-margin engagements. Volume is there but allocated costs eat the profit. 12 NovaPrism clients in this zone.
Optimize Delivery
🚀 Rising Stars (High Profit %, Low Revenue)
Small but highly profitable. Often newer engagements with efficient delivery. Growth opportunity if scalable.
Scale if Possible
⚠️ Dogs (Negative Profit)
Value destroyers. Every engagement hour loses money. 12 NovaPrism clients destroy $7.8M annually. Legacy contracts, underpriced deals.
Reprice or Exit
⚙️
Technical

Creating Profit Curves in EPCM

Setting up profit curve analytics for NovaPrism.

Profit Curves are created in Home → Intelligence → Profit Curves. Only Service Administrators and Power Users can define profit curves, but all users can view them once created.

Setting Description NovaPrism Example
Data Form Select a form that contains the data to analyze Engagement Profitability Form
Cube The cube containing your profitability data NovaPrism_Profit
Measure Dimension The dimension containing your profit measure Account
Measure Member The specific member to plot (usually Net Profit) Net_Profit
Row Dimension The population to analyze (customers, products, etc.) Customer (Level 0 members)
💡
Category Analysis: After generating a profit curve, you can select any portion of the curve and run a Category Analysis. This breaks down the selected segment by an attribute (like Region or Industry) to understand why those customers are profitable or unprofitable.
🖨️
Conceptual

Three ways to report EPCM results

Profit Curves show you which engagements to act on. These three tools show you the numbers behind those decisions — each serving a different consumer and a different purpose.

ToolNavigationConsumerOutputNovaPrism use case
Smart View Excel → EPM Cloud add-in → Connect Finance analysts, FP&A Ad-hoc Excel grids; live refresh; Profit Curves in Excel; driver data submission CFO's team pulls IS margin drill-down to engagement level in Excel; Finance team submits Q2 headcount drivers directly from spreadsheet
Financial Reporting Studio (FRS) Home → Reports → Financial Reporting Board, auditors, scheduled recipients Formatted print-ready reports with headers, footers, page breaks; book bursting; PDF export Monthly board pack: Division P&L with fully-loaded margins formatted to CFO spec; scheduled to burst to each division head on close Day 5
Scatter Analysis Home → Intelligence → Scatter Analysis Finance Controllers, strategy team Two-axis plot of any two measures across a population — Revenue vs Net Profit, Allocated Cost vs Margin% Plot all 60 engagements on Revenue (x) vs Net Profit (y) — four quadrants immediately visible: Stars, Cash Cows, Rising Stars, Dogs
Analytics

Scatter Analysis — the quadrant view

Profit Curves show cumulative rank. Scatter Analysis shows position — two measures simultaneously across the whole population, making quadrant segmentation immediate.

NovaPrism's profit curve tells you that client #42 is in the bottom 24. Scatter Analysis tells you why — high revenue but catastrophic allocated cost ratio, placing it firmly in the bottom-right quadrant. The two views are complementary. Profit Curves for ranking; Scatter for diagnosis.

AxisConfigured asNovaPrism setting
X-axisAny numeric measure from the model (Revenue, Allocated Cost, Margin%)Revenue ($M) — shows engagement scale
Y-axisAny numeric measure from the modelNet Profit ($M) — shows fully-loaded result
PopulationAny dimension (Customer, Entity, Product)Customer — 60 engagement codes
Quadrant linesConfigurable thresholds (absolute or percentile)X: $5M revenue. Y: $0 profit (break-even)
📌
The Profit Attribute dimension is required. Scatter Analysis (and Profit Curves) need a Profit Attribute dimension in the application. This is the dimension that tags members with segment labels — enabling the quadrant overlay and Category Analysis. If a candidate is asked "what dimension is required for Profit Curve and Scatter Analysis?" the answer is Profit Attribute dimension — not PCM_Balance, not Customer. This is a tested exam fact.
⚠️
Scatter Analysis requires PCM_REP, not PCM_CLC. Like all analytics views under Home → Intelligence, Scatter Analysis reads from the published reporting cube. If Copy POV has not been run after the latest M01 calculation, the scatter plot reflects stale data. This is the same timing gap as Smart View reporting — both depend on Copy POV having run.
📄
Technical

Financial Reporting Studio — formatted reports

When ad-hoc grids and profit curves aren't enough — when the CFO needs a board-ready formatted P&L — Financial Reporting Studio is the tool.

Financial Reporting Studio (FRS) is a report design tool available to EPCM. It produces formatted financial reports: fixed headers and footers, page breaks at hierarchy levels, conditional suppression of zero rows, calculated columns, and scheduled PDF bursting to a distribution list. The output looks like a printed financial statement, not a spreadsheet. It connects to PCM_REP for its data — again, Copy POV must have run.

FeatureWhat it doesWhen NovaPrism uses it
Report booksBundle multiple reports into a single book — one PDF per recipient per periodMonthly close pack: Division P&L + Engagement Summary + Cost Pool Summary in one document
BurstingRun one report template, distribute personalised slices to different recipients based on POVEach division head receives their own P&L with only their entities visible
Conditional suppressionHide rows where all values are zero or below a thresholdSuppress zero-revenue rows in the engagement summary — only active engagements shown
Calculated columnsAdd formulas (variance, %, prior period) that don't exist in the cubeAdd "Direct vs Fully Loaded margin delta" column: IS shows −8.2pp, revealing the allocation impact
📋
FRS vs Smart View — when to use which. FRS is for fixed-format reports that must look the same every period — board packs, audit schedules, regulatory filings. Smart View is for flexible analysis — drill-down, pivoting, scenario comparison, ad-hoc investigation. In NovaPrism's close process, FRS produces the formal output; Smart View is the analyst's workbench. The exam tests that you know both exist and serve different purposes — not their detailed configuration.
📊
Technical

Smart View — retrieval, analysis, and the ASO extraction problem

Hall 8 covers Smart View as a data submission tool. This section covers the other direction: retrieving allocation results from PCM_REP into Excel for analysis — and why ASO creates anomalies you have to know how to diagnose.

Smart View connects to EPCM via the EPM Cloud URL. Once connected, analysts can open ad-hoc grids against PCM_REP, retrieve any intersection of members, refresh to latest published data, and work in Excel with full pivot and formula capability. Profit Curves and Scatter Analysis can be displayed directly in Smart View. Driver data (headcount, ticket counts) can be submitted back — that flow is in Hall 8. This section is about reading out.

Smart View actionDirectionSource/TargetNovaPrism example
Ad-hoc retrievalPCM_REP → ExcelRead from PCM_REPPull IS fully-loaded margin by engagement code into Excel pivot
Profit Curve in ExcelPCM_REP → ExcelRead from PCM_REPEmbed NovaPrism profit curve directly in the CFO's deck
Driver submissionExcel → PCM_CLCWrite to PCM_CLCFinance team updates Q2 headcount for 60 engagements from spreadsheet (Hall 8)
⚠️
Technical — Practitioner

ASO extraction anomalies — why your Smart View numbers don't match

EPCM runs on ASO. ASO's aggregation behaviour is fundamentally different from BSO. When you retrieve data into Smart View or FRS, certain conditions produce numbers that look wrong — and diagnosing them requires understanding how ASO computes parent values.

In BSO, every cell value is either stored or calculated on demand from a formula you can inspect. In ASO, parent members are aggregated from their stored children using the consolidation operator. This is fast and elegant — until you try to retrieve data in a way that crosses hierarchy boundaries, asks for a member that aggregates differently than you expect, or retrieves a slice that doesn't correspond to a stored block. Four anomalies appear repeatedly in EPCM reporting.

🔴
Anomaly 1 — Parent total ≠ sum of children in Smart View.
Symptom: You retrieve All_Customers total = $38.4M net profit. You then retrieve each of the 60 engagement codes individually and sum them — you get a different number.
Root cause: ASO aggregates parent values from stored children using consolidation operators. If any child has a ~ (ignore) operator, or if the hierarchy has shared members that aggregate differently, the parent is not a simple sum. The stored child values and the dynamic parent aggregation can diverge when the member selection in your Smart View grid doesn't match the aggregation path ASO uses internally.
Diagnosis: Check consolidation operators on all children under All_Customers. Verify no shared members are double-counted. In Smart View: use Member Selection to explicitly retrieve All_Customers.Children rather than individual member names — this forces ASO to aggregate consistently with the hierarchy path.
🔴
Anomaly 2 — Asymmetric retrieval produces #MISSING where data exists.
Symptom: You retrieve IS × ENG_042 × Net_Profit — the cell shows #MISSING. You know ENG_042 is an IS engagement with costs allocated. The Profit Curve shows it as a loss-maker.
Root cause: ASO only stores data at the intersections where rules actually wrote values. If your Smart View grid is retrieving at a member intersection that doesn't correspond to a stored block — for example, a combination of PCM_Input + a Customer code that only has data at the PCM_Allocated_In member — the cell is genuinely empty at that intersection.
Diagnosis: Check which PCM_Balance members hold data for that engagement. Use an ad-hoc grid with all 6 PCM_Balance members on columns and the engagement on rows. Typically: PCM_Input = 0 (no direct input), PCM_Allocated_In > 0 (received allocation), PCM_Net_Balance < 0 (loss-making). The number is not missing — you were looking at the wrong PCM_Balance slice.
🔴
Anomaly 3 — MDX filter returns unexpected members or wrong counts.
Symptom: You write an MDX expression to filter the 17 loss-making engagements: FILTER([Customer].Members, [PCM_Net_Balance] < 0). The result returns 23 members, not 17. Or it returns correct members but with #MISSING values when you try to retrieve associated measures.
Root cause: MDX against ASO evaluates conditions against the current aggregated context. If the MDX is running against PCM_CLC instead of PCM_REP, or if the POV context is not set to the correct Scenario/Period, the filter evaluates against stale or wrong data. Additionally, ASO MDX Members returns all members in the hierarchy including parents — use Leaves or Descendants(..., LEAVES) to restrict to level-0 members only.
Fix:
/* Wrong — includes parent rollups in filter */
FILTER([Customer].Members, [Measures].[PCM_Net_Balance] < 0)

/* Correct — level-0 engagements only */
FILTER(
  Descendants([Customer].[All_Customers], [Customer].[ENG_001].Level, LEAVES),
  ([Measures].[PCM_Net_Balance],
   [Scenario].[Actual],
   [Year].[FY2025],
   [Period].[Q1]) < 0
)
🔴
Anomaly 4 — Conditional suppression in FRS hides rows with non-zero data.
Symptom: You configure FRS to suppress rows where Net Profit = 0. Several engagement rows disappear that you know should have values. When you remove the suppression, they appear with correct non-zero values.
Root cause: FRS suppression evaluates each cell in the row independently. In ASO, a row can have data in one column (e.g. PCM_Allocated_In) but return zero or #MISSING in another column (e.g. PCM_Input). If the suppression condition is evaluated against a column that happens to be zero at that intersection, the entire row is suppressed even though adjacent columns have meaningful data.
Fix: Set the suppression condition explicitly to the measure you care about — Suppress if PCM_Net_Balance = 0 — rather than using the default row suppression which evaluates the first column. In FRS: Row Properties → Suppress → specify the exact member, don't rely on the default.
📝
Exam — Reporting

What the exam tests on reporting

ConceptExam answerImplementation reality
Profit Attribute dimensionRequired for Profit Curves and Scatter AnalysisWithout it, neither analytics view is available — it's the prerequisite dimension the exam will test by asking what's required to create a profit curve
Scatter Analysis navigationHome → Intelligence → Scatter AnalysisSame location as Profit Curves — both under Intelligence, not Modeling
FRS vs Smart ViewFRS for fixed-format formatted reports; Smart View for ad-hoc analysis and driver submissionIn production you use both: FRS for the monthly board pack, Smart View for everything else
Smart View — two directionsRetrieve allocation results from PCM_REP (output); Submit driver data to PCM_CLC (input)Most candidates only know the submission side — the retrieval side is equally tested
ASO #MISSING in Smart ViewMay mean you are retrieving the wrong PCM_Balance member, not that the data is absentAlways pull all 6 PCM_Balance members when diagnosing a missing value — the data is likely in a different balance member than expected
MDX filter on ASO — Members vs LeavesUse Descendants(..., LEAVES) to filter level-0 members only; .Members includes parent rollupsThis is the most common MDX error in EPCM reporting — filter returns 23 instead of 17 because parent members match the condition too
All reporting views depend on Copy POVSmart View, FRS, Scatter Analysis all read from PCM_REP — stale if Copy POV hasn't runThe timing gap is the same as any PCM_REP consumer: calculate → Copy POV → then report
🔬
Lab Exercise

Lab 7.1: Generate NovaPrism Rule Balancing Report

Trace the $134M Enterprise Support allocation through every rule.

Lab 7.1 — Rule Balancing Analysis
0%
Scenario: The CFO wants to understand exactly how the $134M Enterprise Support costs flow through the model. Generate a Rule Balancing report that shows allocations by rule, and verify that Allocation In equals Allocation Out at each step.
Navigate to Home → Modeling → Rule Balancing
Select NovaPrism_Profit cube from the dropdown
Click the data form link and select "Balancing - All Steps" form
Set POV: FY24 → Jan → Actual → Working
Click Refresh to generate the report
Verify: IT Allocation rule shows $52M Allocation Out from ES
Verify: Division rows show matching $52M total Allocation In
Export to Excel for CFO review
🔬
Lab Exercise

Lab 7.2: Analyze NovaPrism Profit Curve

Generate the engagement profit curve and identify the value-destroying clients.

Lab 7.2 — Profit Curve Analysis
0%
Scenario: The VP of Sales wants to see which client engagements are destroying value. Generate the profit curve for all 60 engagements and identify the clients in the "decline zone" that collectively destroy $7.8M.
Navigate to Home → Intelligence → Profit Curves
Select "Engagement Profitability" profit curve definition
Set POV: FY24 → Q4 → Actual → Final
Click Generate to render the profit curve
Identify the peak point (client #36, $46.2M cumulative)
Select the decline zone (clients 37-60) on the curve
Run Category Analysis by "Industry" attribute
Download data snippet showing unprofitable client list
🎮
Interactive

Engagement Profitability Simulator

Explore how different engagement characteristics affect fully-loaded profitability.

🎯
Exam Prep

Rule Balancing & Profit Curve Quiz

Test your knowledge on PCM_Balance, Rule Balancing reports, profit curve analysis, and reporting tools.

0/8
Loading...
📝
Key Takeaways

Exam Focus: Analytics & Reporting

What to remember for the 1Z0-1082-25 exam.

⚖️
PCM_Balance Purpose
Preserves original Input data while tracking all allocations and adjustments. PCM_Net Balance = Input + Alloc In + Alloc Out + Adj In + Adj Out.
📊
Rule Balancing Access
Home → Modeling → Rule Balancing. Requires a pre-designed data form with PCM_Rule and PCM_Balance dimensions.
📈
Profit Curve X-Axis
Population dimension (customers, products) sorted by profitability — most profitable on LEFT, least on RIGHT. This is a common exam trap.
📉
Profit Curve Y-Axis
Cumulative measure (usually Net Profit). The curve rises steeply for profitable segments, flattens for marginal, and declines for unprofitable.
🔍
Category Analysis
After generating a profit curve, select a portion and run Category Analysis to break down by attribute (Region, Industry, etc.).
🔐
Security Model
Only Service Administrators and Power Users can define profit curves. All users can view and generate them once defined.