1. Lighthouse

Level 7 · Boss: assemble the monthly report

The request

From Aaron Ramos, Analytics Engineer

“I'm wiring the November report to refresh from the warehouse. Before I point it at 1,600 lines, build the whole chain on Wednesday Nov 12: 49 lines, 20 orders, and one cancelled and one refunded order, so we can see that the status filter works.”

Your goal

Step 1 of 4. In E2:E50, compute each line's net total: quantity × unit_price × (1 − discount_pct ÷ 100). One formula, filled down.

  • Fill E2:E50 with the right valuesnot done yet
  • With formulas, not typed numbersnot done yet

Step 1 · your sheet

Excel
The sheet for this level
ABCDEFGHIJKLMNO
1order_idquantityunit_pricediscount_pctline_total order_idchannelstatusorder_totalchannelnet_revenueorders
211712128.99011712webcompletedapp
311712144.99011713appcompletedmarketplace
411713131.99011714marketplacecompletedweb
511713220.99011715appcompleted
611713454.99011716appcompletedStatus countedcompleted
711714244.99011717appcancelledReport day2025-11-12
811714117.99011718appcompleted
911714170.99011719webcompletedNet revenue
1011714111.99011720appcompletedOrders
11117152149.00011721appcompletedAverage order value
1211715411.99011722marketplacecompletedCommentary
131171541099.00011723marketplacecompleted
1411716170.99011724webcompleted
15117161104.99011725webcompleted
161171711609.00011726webcompleted
17117181109.00011727marketplacecompleted
1811718166.99011728apprefunded
19117191210.99011729appcompleted
2011719111.99011730webcompleted
21117201104.991011731appcompleted
22117203349.0010
23117201109.0010
2411720113.9910
25117211159.000
2611722272.990
2711722217.990
2811722420.990
2911723117.990
30117231219.000
3111724111.990
3211724120.990
33117251179.000
3411725228.990
35117261179.0010
3611727143.990
3711727152.990
38117284179.000
3911728118.990
4011729212.990
4111729152.990
4211729211.990
4311730128.990
44117302139.000
45117301999.000
46117301159.000
4711731110.990
4811731174.990
4911731117.990
50117311259.000
51
52

Loading the editor…

    ResultPress Check to compare E2:E50

    Mote checks your result

    Press Check. Each right cell becomes a firefly in your lantern.

    Step 2 · your sheet

    Excel
    The sheet for this level
    ABCDEFGHIJKLMNO
    1order_idquantityunit_pricediscount_pctline_total order_idchannelstatusorder_totalchannelnet_revenueorders
    211712128.99028.9911712webcompletedapp
    311712144.99044.9911713appcompletedmarketplace
    411713131.99031.9911714marketplacecompletedweb
    511713220.99041.9811715appcompleted
    611713454.990219.9611716appcompletedStatus countedcompleted
    711714244.99089.9811717appcancelledReport day2025-11-12
    811714117.99017.9911718appcompleted
    911714170.99070.9911719webcompletedNet revenue
    1011714111.99011.9911720appcompletedOrders
    11117152149.000298.0011721appcompletedAverage order value
    1211715411.99047.9611722marketplacecompletedCommentary
    131171541099.0004396.0011723marketplacecompleted
    1411716170.99070.9911724webcompleted
    15117161104.990104.9911725webcompleted
    161171711609.0001609.0011726webcompleted
    17117181109.000109.0011727marketplacecompleted
    1811718166.99066.9911728apprefunded
    19117191210.990131.8811729appcompleted
    2011719111.99011.9911730webcompleted
    21117201104.991094.4911731appcompleted
    22117203349.0010942.30
    23117201109.001098.10
    2411720113.991012.59
    25117211159.000159.00
    2611722272.990145.98
    2711722217.99035.98
    2811722420.99083.96
    2911723117.99017.99
    30117231219.000219.00
    3111724111.99011.99
    3211724120.99020.99
    33117251179.000179.00
    3411725228.99057.98
    35117261179.0010161.10
    3611727143.99043.99
    3711727152.99052.99
    38117284179.000716.00
    3911728118.99018.99
    4011729212.99025.98
    4111729152.99052.99
    4211729211.99023.98
    4311730128.99028.99
    44117302139.000278.00
    45117301999.000999.00
    46117301159.000159.00
    4711731110.99010.99
    4811731174.99074.99
    4911731117.99017.99
    50117311259.000259.00
    51
    52

    Loading the editor…

      ResultPress Check to compare J2:J21

      Mote checks your result

      Press Check. Each right cell becomes a firefly in your lantern.

      Step 3 · your sheet

      Excel
      The sheet for this level
      ABCDEFGHIJKLMNO
      1order_idquantityunit_pricediscount_pctline_total order_idchannelstatusorder_totalchannelnet_revenueorders
      211712128.99028.9911712webcompleted73.98app
      311712144.99044.9911713appcompleted293.93marketplace
      411713131.99031.9911714marketplacecompleted190.95web
      511713220.99041.9811715appcompleted4741.96
      611713454.990219.9611716appcompleted175.98Status countedcompleted
      711714244.99089.9811717appcancelled1609.00Report day2025-11-12
      811714117.99017.9911718appcompleted175.99
      911714170.99070.9911719webcompleted143.87Net revenue
      1011714111.99011.9911720appcompleted1147.48Orders
      11117152149.000298.0011721appcompleted159.00Average order value
      1211715411.99047.9611722marketplacecompleted265.92Commentary
      131171541099.0004396.0011723marketplacecompleted236.99
      1411716170.99070.9911724webcompleted32.98
      15117161104.990104.9911725webcompleted236.98
      161171711609.0001609.0011726webcompleted161.10
      17117181109.000109.0011727marketplacecompleted96.98
      1811718166.99066.9911728apprefunded734.99
      19117191210.990131.8811729appcompleted102.95
      2011719111.99011.9911730webcompleted1464.99
      21117201104.991094.4911731appcompleted362.97
      22117203349.0010942.30
      23117201109.001098.10
      2411720113.991012.59
      25117211159.000159.00
      2611722272.990145.98
      2711722217.99035.98
      2811722420.99083.96
      2911723117.99017.99
      30117231219.000219.00
      3111724111.99011.99
      3211724120.99020.99
      33117251179.000179.00
      3411725228.99057.98
      35117261179.0010161.10
      3611727143.99043.99
      3711727152.99052.99
      38117284179.000716.00
      3911728118.99018.99
      4011729212.99025.98
      4111729152.99052.99
      4211729211.99023.98
      4311730128.99028.99
      44117302139.000278.00
      45117301999.000999.00
      46117301159.000159.00
      4711731110.99010.99
      4811731174.99074.99
      4911731117.99017.99
      50117311259.000259.00
      51
      52

      Loading the editor…

        ResultPress Check to compare M2:N4

        Mote checks your result

        Press Check. Each right cell becomes a firefly in your lantern.

        Step 4 · your sheet

        Excel
        The sheet for this level
        ABCDEFGHIJKLMNO
        1order_idquantityunit_pricediscount_pctline_total order_idchannelstatusorder_totalchannelnet_revenueorders
        211712128.99028.9911712webcompleted73.98app7,160.268
        311712144.99044.9911713appcompleted293.93marketplace790.844
        411713131.99031.9911714marketplacecompleted190.95web2,113.906
        511713220.99041.9811715appcompleted4741.96
        611713454.990219.9611716appcompleted175.98Status countedcompleted
        711714244.99089.9811717appcancelled1609.00Report day2025-11-12
        811714117.99017.9911718appcompleted175.99
        911714170.99070.9911719webcompleted143.87Net revenue
        1011714111.99011.9911720appcompleted1147.48Orders
        11117152149.000298.0011721appcompleted159.00Average order value
        1211715411.99047.9611722marketplacecompleted265.92Commentary
        131171541099.0004396.0011723marketplacecompleted236.99
        1411716170.99070.9911724webcompleted32.98
        15117161104.990104.9911725webcompleted236.98
        161171711609.0001609.0011726webcompleted161.10
        17117181109.000109.0011727marketplacecompleted96.98
        1811718166.99066.9911728apprefunded734.99
        19117191210.990131.8811729appcompleted102.95
        2011719111.99011.9911730webcompleted1464.99
        21117201104.991094.4911731appcompleted362.97
        22117203349.0010942.30
        23117201109.001098.10
        2411720113.991012.59
        25117211159.000159.00
        2611722272.990145.98
        2711722217.99035.98
        2811722420.99083.96
        2911723117.99017.99
        30117231219.000219.00
        3111724111.99011.99
        3211724120.99020.99
        33117251179.000179.00
        3411725228.99057.98
        35117261179.0010161.10
        3611727143.99043.99
        3711727152.99052.99
        38117284179.000716.00
        3911728118.99018.99
        4011729212.99025.98
        4111729152.99052.99
        4211729211.99023.98
        4311730128.99028.99
        44117302139.000278.00
        45117301999.000999.00
        46117301159.000159.00
        4711731110.99010.99
        4811731174.99074.99
        4911731117.99017.99
        50117311259.000259.00
        51
        52

        Loading the editor…

          ResultPress Check to compare M9:M11, L13

          Mote checks your result

          Press Check. Each right cell becomes a firefly in your lantern.

          The lesson

          One sheet, the whole chain

          This boss level puts the chapter together on one sheet, the way a real monthly report is built: raw lines on the left, then blocks that each read only the block before them. Aaron will point the finished sheet at the full month; you build and test it on one day.

          The day is Wednesday, November 12, 2025, chosen on purpose. It has 49 lines in A2:D50 and 20 orders in the order block G2:I21, with each order’s channel and status. Two of those orders must not count as sales: 11717 was cancelled and 11728 was refunded. If the report gets them right on this day, the status rule works.

          Each block feeds one part of the written report from level 1:

          report section where it comes from on this sheet
          Objective Aaron’s ticket: the November numbers, refreshable, by channel
          Data and method The line and order blocks, the revenue formula in E, the status rule in M6
          Findings The channel summary in L1:N4
          Executive summary The KPI block in M9:M11 and the sentence in L13
          Limits One sample day; returns not included; shipping fees out of revenue

          Keeping the method in cells (the status rule, the revenue formula) is what makes the data and method section honest: anyone can click a number and see how it was made.

          Step 1: line totals

          E2   =B2*C2*(1-D2/100)

          Filled down to E50. The same definition as everywhere in this chapter and in the SQL case: quantity × price × (1 − discount ÷ 100), with no shipping.

          Step 2: order totals

          J2   =SUMIF($A$2:$A$50,G2,$E$2:$E$50)

          Filled down to J21. Check: SUM(J2:J21) and SUM(E2:E50) both give 12,408.99.

          Step 3: the channel summary, completed orders only

          Two criteria per cell: the channel in column L and the status rule in M6.

          M2   =SUMIFS($J$2:$J$21,$H$2:$H$21,L2,$I$2:$I$21,$M$6)
          N2   =COUNTIFS($H$2:$H$21,L2,$I$2:$I$21,$M$6)

          Both filled down to row 4. COUNTIFS counts orders because it runs on the order block, where each row is one order. Counted on the line block, the day would have 49 of them instead of 20.

          Step 4: KPIs and the sentence

          M9   =SUM(M2:M4)
          M10  =SUM(N2:N4)
          M11  =M9/M10
          L13  =TEXT(M7,"mmm d")&" sample: "&TEXT(M9,"$#,##0")&" net revenue from "&M10&" orders, AOV "&TEXT(M11,"$#,##0.00")&"."

          L13 reads: Nov 12 sample: $10,065 net revenue from 18 orders, AOV $559.17.

          Thinking like an analyst

          Reconcile the day before you trust it. All 20 orders add up to 12,408.99, and the report shows 10,065.00. The difference, 2,343.99, must be exactly the orders the status rule leaves out: 1,609.00 for cancelled order 11717 plus 734.99 for refunded order 11728. It is, to the cent, so the filter does what it should and nothing else.

          Then compare with a source you already trust. In level 6’s daily table, November 12 shows 18 completed orders and 10,065.00 of net revenue, the same as this sheet. That daily table is built on the definition the SQL holiday case uses, so the template is ready for Aaron to point at the full month, where it will return 651 orders and $292,364.40.

          Finally, read the result. The day’s AOV, $559.17, is far above the month’s $449.10, and one order, 11715 at 4,741.96, is 47% of the day’s revenue. A one-day number is fine for testing a template; it is not a trend.

          Common mistakes

          • Summing the line block by channel: the lines don’t carry a channel or a status, so there is nothing to filter on. Roll up to orders first.
          • Counting lines as orders: 49 lines, 20 orders.
          • Typing "completed" into each formula instead of pointing at M6.
          • Using AVERAGE(J2:J21) for AOV: 620.45, because it includes the cancelled and refunded orders.

          Pick what may run on this site. You can change this any time from "Cookie settings" at the bottom of every page.