Data AnalyticsMetrics, visualization and decision communication

Separate observations, explanations and recommendations

PK
Pankit Kumar
Sr. Data Scientist at Parexel (a Goldman Sachs–backed company) · 20 September 2026 · 3 min read
Technically reviewed by Ishaan Sharma
In this article (6 sections)

Separate what the data shows, how a calculation accounts for the change and what action you propose. An observation is not automatically a causal explanation, and an explanation does not uniquely determine the best business decision.

This distinction makes analytical writing easier to challenge and improve. A reader can agree with the numbers while asking for more evidence about the mechanism or preferring a different action.

Start with an observed change

In an original synthetic example, Period A sells 100 basic units at 1,000 paise and 50 premium units at 3,000 paise. Period B sells 120 basic units at 1,100 paise and 30 premium units at 3,300 paise.

Both periods contain 150 units. The total amount falls from 250,000 to 231,000 paise, a decrease of 19,000 or 7.6%. Those are observations under the supplied quantity and price definitions.

The example is a compact restatement of the domain-operations retail case. It is invented teaching data, not evidence about a real market.

Use a defined decomposition

At base-period prices, the changed quantities contribute a -40,000-paise mix effect. Applying the new prices to current quantities contributes +21,000 paise. With total volume unchanged, the volume effect is zero under this chosen bridge.

python
base_q = {'basic':100,'premium':50}
new_q = {'basic':120,'premium':30}
base_p = {'basic':1000,'premium':3000}
new_p = {'basic':1100,'premium':3300}
before = sum(base_q[k]*base_p[k] for k in base_q)
after = sum(new_q[k]*new_p[k] for k in new_q)
assert sum(base_q.values())==sum(new_q.values())==150
mix = sum((new_q[k]-base_q[k])*base_p[k] for k in base_q)
price = sum(new_q[k]*(new_p[k]-base_p[k]) for k in base_q)
assert (before,after,mix,price)==(250000,231000,-40000,21000)
assert after-before==mix+price==-19000
print({'observed_change_paise':after-before,'base_price_mix_effect':mix,
       'current_quantity_price_effect':price,'causal_mechanism':'not_identified'})

The bridge explains how the measured difference is allocated under an explicit formula. Alternative decomposition conventions may allocate interaction terms differently, so state the convention rather than presenting the components as definition-free facts.

Do not turn the bridge into a causal story

“The sales mix shifted toward basic units” describes the supplied counts. “The campaign attracted customers who prefer basic products” introduces an unmeasured campaign effect and customer preference mechanism.

The decomposition does not reveal whether availability, pricing, promotion, customer mix or another factor produced the quantity change. Those are hypotheses requiring additional evidence.

Use wording such as “The amount decrease is accounted for by the mix and price components under this bridge” rather than claiming that the bridge proves a behavioral cause.

Connect recommendations to an explicit objective

If the objective is to understand the lower amount per unit, a reasonable next step is to inspect product availability, discounts and customer segments. If the objective is contribution or profit, obtain the relevant costs before recommending a product strategy.

“Sell more premium units” does not follow automatically from the revenue decomposition. Premium units may have different margins, capacity requirements or demand constraints. The dataset does not resolve those trade-offs.

State whether your recommendation is to investigate, test or implement. Those actions require different levels of evidence and commitment.

Label the layers in the narrative

LayerSupported wording in this example
ObservationAmount fell 19,000 paise while total units stayed at 150
Arithmetic explanationMix contributes -40,000 and price +21,000 under the stated bridge
HypothesisProduct availability may have influenced the mix shift
RecommendationInspect availability and margin evidence before choosing an intervention

This structure prevents a plausible hypothesis from being repeated as an established finding. It also helps an AI-assisted draft preserve the distinction between evidence and suggestion.

Exercise: write a paragraph that includes all four layers without using an unsupported causal verb. Then identify the additional dataset that would most directly test your chosen hypothesis.

NeuraPath's Data Analytics with Generative AI course connects business decomposition, interpretation and communication. The analyst's contribution is clearer when every sentence has an identifiable evidential role.

Continue learning

This article is part of the Metrics, visualization and decision communication sequence. Use the neighbouring tasks when you need the prerequisite or the next application.

PK
Pankit Kumar
Lead Instructor, NeuraPath Academy

Pankit Kumar has 10 years in Data Science & AI, building and shipping production systems in regulated pharma and clinical environments. He is a freelance trainer at Boston Institute of Analytics, AnalytixLabs and Scaler, and has taught this material to thousands of working professionals.

This article is part of our Data Analytics with Generative AI programme — 3–4 months. The full analyst stack — Excel, SQL, Power BI and Python pipelines — then a generative-AI layer you can prove is right.

Explore Data Analytics with Generative AI
Counselling is free · no obligation

Not sure which programme fits?

Tell us your background and we will map it to the right entry point — including saying so when a cheaper programme is the better fit. A counsellor replies within one working day.