Worked example · EX:multi-period-statement-analysis-and-operating-efficiency/build-aster-horizontal-common-size

Build Aster's horizontal and common-size views

Compute changes, a fixed base index, and statement specific common size percentages without losing the original amounts.

Updated Aug 7, 2026 Review due Nov 7, 2026
On this page
  1. Preserve scale and rate
  2. Add statement composition
  3. Form the bounded observation
  4. Zero-base control
Worked-example setupScope and assumptions
  • The Aster packet passes the comparison contract and continuity checks.
  • Net sales and total assets are positive declared common-size bases.
Period
Three consecutive 365-day years ended December 31
Units
Whole USD; decimal common-size shares and percentage changes; base-100 index
Rounding
Full precision internally; displayed percentages and indexes to two decimals

Preserve scale and rate

Net sales comparison Dollar change Percentage change
Year 2 versus Year 1 $45,000 15.00%
Year 3 versus Year 2 $35,000 10.14%

Sales continue to rise, but the added amount and growth rate both slow in Year 3. Relative to Year 1, the Year 3 base-100 index is $380,000 ÷ $300,000 × 100 = 126.67. That means sales are 26.67% above Year 1, not that they grew 126.67%.

Add statement composition

For Year 3, cost of goods sold is $235,000 ÷ $380,000 = 61.84% of net sales. Net income is 6.58% of net sales. On the ending balance sheet, receivables are $55,000 ÷ $285,000 = 19.30% of total assets and Inventory is 28.07%.

The original amounts stay beside the percentages. A $55,000 receivable balance has different scale and materiality from a $5.5 million balance even if both are 19.30% of assets.

The three-year packet stipulates consistent policies and presentation within Aster. That supports period-to-period reading but does not make Aster automatically comparable with Birchline or another entity. A justified policy, estimate, error, or presentation change must be identified and handled under its applicable requirements rather than suppressed to preserve a smooth series.

Form the bounded observation

Aster grows sales, but its net-income share falls and its receivable and Inventory shares rise by Year 3. Those are compositional and directional facts. They do not establish pricing pressure, cost inflation, collection weakness, overstock, or demand. The next analysis adds exact operating numerators, averages, turnover, and days; operational cause still requires separate evidence.

Zero-base control

If a prior line were zero, the engine would retain the dollar change and omit ordinary percentage change and a fixed-base index for that zero base. It would not coerce the result to 100%.

Verified calculation · multi period statement analysis

The curriculum loader recomputed this example before it entered the site build. Expand any structured input to inspect the stated facts.

common size balance base
total assets
common size income base
net sales
days basis
actual-period-days
entities
1 field
Inspect data
{
  "aster": {
    "period_order": [
      "year_1",
      "year_2",
      "year_3"
    ],
    "periods": {
      "year_1": {
        "days_in_period": 365,
        "ending": {
          "accounts_payable": 28000,
          "accounts_receivable": 33000,
          "cash": 22000,
          "inventory": 54000,
          "noncurrent_assets": 100000,
          "noncurrent_liabilities": 65000,
          "other_current_assets": 11000,
          "other_current_liabilities": 16000,
          "total_equity": 111000
        },
        "flow": {
          "cost_of_goods_sold": 180000,
          "credit_purchases": 150000,
          "merchandise_purchases": 184000,
          "net_credit_sales": 240000,
          "net_income": 28000,
          "net_sales": 300000,
          "operating_expenses": 80000
        },
        "opening": {
          "accounts_payable": 25000,
          "accounts_receivable": 30000,
          "cash": 20000,
          "inventory": 50000,
          "noncurrent_assets": 90000,
          "noncurrent_liabilities": 60000,
          "other_current_assets": 10000,
          "other_current_liabilities": 15000,
          "total_equity": 100000
        }
      },
      "year_2": {
        "days_in_period": 365,
        "ending": {
          "accounts_payable": 35000,
          "accounts_receivable": 42000,
          "cash": 24000,
          "inventory": 66000,
          "noncurrent_assets": 106000,
          "noncurrent_liabilities": 70000,
          "other_current_assets": 12000,
          "other_current_liabilities": 18000,
          "total_equity": 127000
        },
        "flow": {
          "cost_of_goods_sold": 210000,
          "credit_purchases": 185000,
          "merchandise_purchases": 222000,
          "net_credit_sales": 285000,
          "net_income": 27000,
          "net_sales": 345000,
          "operating_expenses": 95000
        },
        "opening": {
          "accounts_payable": 28000,
          "accounts_receivable": 33000,
          "cash": 22000,
          "inventory": 54000,
          "noncurrent_assets": 100000,
          "noncurrent_liabilities": 65000,
          "other_current_assets": 11000,
          "other_current_liabilities": 16000,
          "total_equity": 111000
        }
      },
      "year_3": {
        "days_in_period": 365,
        "ending": {
          "accounts_payable": 44000,
          "accounts_receivable": 55000,
          "cash": 25000,
          "inventory": 80000,
          "noncurrent_assets": 111000,
          "noncurrent_liabilities": 75000,
          "other_current_assets": 14000,
          "other_current_liabilities": 20000,
          "total_equity": 146000
        },
        "flow": {
          "cost_of_goods_sold": 235000,
          "credit_purchases": 210000,
          "merchandise_purchases": 249000,
          "net_credit_sales": 325000,
          "net_income": 25000,
          "net_sales": 380000,
          "operating_expenses": 110000
        },
        "opening": {
          "accounts_payable": 35000,
          "accounts_receivable": 42000,
          "cash": 24000,
          "inventory": 66000,
          "noncurrent_assets": 106000,
          "noncurrent_liabilities": 70000,
          "other_current_assets": 12000,
          "other_current_liabilities": 18000,
          "total_equity": 127000
        }
      }
    }
  }
}
horizontal comparison
immediately-preceding-period
trend base
first-period
zero base percentage policy
omit

Recomputed result

Values recomputed by the curriculum loader
MeasureValue
2 horizontal net sales dollar change45,000
2 horizontal net sales percent change0.15
3 balance common size accounts receivable0.193
3 balance common size inventory0.2807
3 horizontal net sales dollar change35,000
3 horizontal net sales percent change0.1014
3 income common size cost of goods sold0.6184
3 income common size net income0.0658
3 trend net sales index126.6667