3️⃣ Organising quantitative data

Data Description | Part I — Organising data
Modified

October 18, 2026

Abstract

Learning objectives By the end of this module, you will be able to: - Explain why a continuous variable must be grouped into classes before it can be summarised in a frequency table. - Choose a sensible number of classes and a class width, and write the classes with the half-open convention \([L_i, L_i + h[\). - Build a class table with counts, relative frequencies and cumulative frequencies, by hand and in Excel. - Draw and read a histogram, a frequency polygon and a cumulative frequency curve, including a histogram with unequal class widths. - Read a percentile or a share of observations off the cumulative curve. - Read the symbols \(n_i\), \(f_i\), \(N_i^{+}\) and \(F_i^{+}\) aloud as sentences, and write them from a description in words.

The business question. The owner of the Harbour truck is planning how much food to prepare. Each day brings a different revenue, to the cent, so a list of 30 or 120 numbers tells her nothing at a glance. How is daily revenue distributed? Are most days clustered around €600, or spread all over the place? And on how many days do we earn less than €500? This module turns a long column of continuous numbers into a short table and three pictures that answer these questions. We start with five days, small enough to sort by hand, and only then write the formulas.

1 Theory

1.1 Five days, five different numbers

Here is the daily revenue of a Harbour-style truck over five days. The numbers are a simplified extract chosen so that you can do everything by hand.

Day Revenue (€)
1 600
2 470
3 730
4 550
5 430

All five revenues are different, so a frequency table like the ones of Module 2 would have five rows, each with a count of 1. With 120 days recorded to the cent it would be 120 rows: as long as the data. How would you summarise these five days in three or four lines, so that the owner sees at a glance where most days sit?

1.2 Classes: grouping a continuous variable

Try it. Cut the revenue axis into classes of width 100 starting at 400, and put each day into its class. Be careful with Day 1, which earned exactly €600.

Class (€) Days in the class Count
[400, 500[ ? ?
[500, 600[ ? ?
[600, 700[ ? ?
[700, 800[ ? ?
Total ?
Check your answer
Class (€) Days in the class Count
[400, 500[ Day 2 (470), Day 5 (430) 2
[500, 600[ Day 4 (550) 1
[600, 700[ Day 1 (600) 1
[700, 800[ Day 3 (730) 1
Total 5

Day 1 (exactly 600) goes into [600, 700[: the lower bound belongs to the class. The counts add up to 5, so no day was lost or counted twice.

See it. Each cross is one day on the revenue axis; the bars of the axis mark the class bounds. Day 1 sits exactly on the bound 600.

400       500       600       700       800
|---------|---------|---------|---------|
   x   x       x    x            x

In plain words: a class table trades precision for readability. You lose the exact values, but you can finally see where the data sit.

NoteDefinition — class (grouped) frequency table

When almost every value of a continuous variable is different, a plain frequency table lists each value once and says nothing useful. The fix is to cut the range of values into \(k\) consecutive classes (intervals) of width \(h\) and count how many observations fall into each one. Classes are written half-open, \([L_i, L_i + h[\): the lower bound belongs to the class, the upper bound belongs to the next class. So every value lands in exactly one class.

1.3 How many classes, how wide?

Try it. For our five days (\(n = 5\), minimum 430, maximum 730), find the number of classes and the width that Sturges’ rule suggests. Use \(\log_{10}(5) \approx 0.699\).

Step Value
\(k \approx 1 + 3.3 \times 0.699\) ?
Range \(= \text{max} - \text{min}\) ?
\(h \approx \text{range} / k\) ?
\(h\) rounded to a convenient number ?
Check your answer
Step Value
\(k \approx 1 + 3.3 \times 0.699\) 3.3
Range \(= \text{max} - \text{min}\) 300
\(h \approx \text{range} / k\) about 91
\(h\) rounded to a convenient number 100

Starting at a round number at or below 430, that is 400, classes of width 100 give the four classes you used above.

See it. The same range of 300 euros cut in three ways:

Width \(h\) Classes What the table shows
300 1 everything in one class: the shape is hidden
100 4 counts 2, 1, 1, 1: a readable summary
25 12 five classes hold one day each, the rest are empty: noise

In plain words: more data can support more classes, but slowly. Thirty days give about 6 classes; 120 days give about 8. Too few classes hide the shape; too many make a ragged picture where each bar holds only one or two days.

TipRule of thumb — Sturges’ rule

For \(n\) observations, a good number of classes is about \[ k \approx 1 + 3.3 \log_{10}(n), \qquad h \approx \frac{\text{max} - \text{min}}{k}, \] then round \(h\) to a convenient number (10, 50, 100 …) and start the first class at a round number at or below the minimum.

Notation decoder: Sturges’ rule

Symbol Read aloud In our example (five days)
\(n\) “n” 5 days
\(k\) “k” the number of classes, about 3.3
\(\log_{10}(n)\) “log base ten of n” \(\log_{10}(5) \approx 0.699\)
\(\text{max}\), \(\text{min}\) “the maximum, the minimum” 730 and 430
\(h\) “h” the class width, about 91, rounded to 100
\(\approx\) “is about” the rule gives a guide, not an exact answer

Whole formula as a sentence: “the number of classes is about one plus 3.3 times the base-ten logarithm of the number of observations; the class width is about the range divided by that number of classes.”

For the first 30 Harbour days, revenue runs from €407.59 to €886.56, a range of €478.97. Sturges gives \(k \approx 5.9\) and \(h \approx 82\), which we round to \(h = 100\) with the first class starting at 400. That gives five classes.

1.4 Frequencies in a class table

Try it. Complete the class table of the five days (\(n = 5\)). Fill each column from left to right.

Class (€) \(n_i\) \(N_i^{+}\) \(f_i\) (%) \(F_i^{+}\) (%)
[400, 500[ 2 ? ? ?
[500, 600[ 1 ? ? ?
[600, 700[ 1 ? ? ?
[700, 800[ 1 ? ? ?
  1. \(N_i^{+}\): the running total of the counts.
  2. \(f_i\): each count divided by \(n = 5\), as a percentage.
  3. \(F_i^{+}\): the running total divided by \(n = 5\).

How many days earned less than €700?

Check your answer
Class (€) \(n_i\) \(N_i^{+}\) \(f_i\) (%) \(F_i^{+}\) (%)
[400, 500[ 2 2 40 40
[500, 600[ 1 3 20 60
[600, 700[ 1 4 20 80
[700, 800[ 1 5 20 100

Less than €700 means the first three classes: \(N_3^{+} = 4\) days, that is \(F_3^{+} = 80\%\). The last row always ends at \(n = 5\) and 100%.

See it. The running totals grow like a staircase that stops at \(n\):

less than 500   ##        2 days   40%
less than 600   ###       3 days   60%
less than 700   ####      4 days   80%
less than 800   #####     5 days  100%

In plain words: \(n_i\) is a count; \(f_i\) is its share of the total (often written as a percentage); \(N_i^{+}\) and \(F_i^{+}\) are the running totals of counts and shares up to and including class \(i\). The last one answers “how many days earned less than the upper bound of this class?”.

TipFormulas — counts, shares and running totals

For class \(i\), with \(n_i\) the number of observations in it and \(n\) the total number of observations: \[ f_i = \frac{n_i}{n}, \qquad N_i^{+} = \sum_{j=1}^{i} n_j, \qquad F_i^{+} = \frac{N_i^{+}}{n}. \]

Notation decoder: counts, shares and running totals

Symbol Read aloud In our example (five days)
\(i\) “i” the class number, 1 to 4
\(n_i\) “n sub i” the count of class \(i\), e.g. \(n_1 = 2\)
\(n\) “n” the total, 5 days
\(f_i\) “f sub i” the share of class \(i\), e.g. \(f_1 = 2/5 = 40\%\)
\(\sum_{j=1}^{i}\) “add up, for j from 1 to i” for \(i = 3\): \(2 + 1 + 1\)
\(n_j\) “n sub j” the count of class \(j\)
\(N_i^{+}\) “capital N sub i plus” the days below the upper bound of class \(i\), e.g. \(N_3^{+} = 4\)
\(F_i^{+}\) “capital F sub i plus” the share of days below that bound, e.g. \(F_3^{+} = 4/5 = 80\%\)

Whole formula as a sentence: “the share of a class is its count divided by the total; the cumulative count of a class is the sum of the counts of all classes up to and including it; the cumulative share is that cumulative count divided by the total.”

1.5 The histogram

Try it. The last two classes of the five-day table are merged into one class [600, 800[. Complete the table, then decide which bar is the tallest if you draw heights and which if you want areas proportional to the counts.

Class (€) Width \(h_i\) \(n_i\) Raw count \(n_i / h_i\) (days per €)
[400, 500[ 100 2 2 ?
[500, 600[ 100 1 1 ?
[600, 800[ 200 ? ? ?
Check your answer
Class (€) Width \(h_i\) \(n_i\) Raw count \(n_i / h_i\) (days per €)
[400, 500[ 100 2 2 0.02
[500, 600[ 100 1 1 0.01
[600, 800[ 200 2 2 0.01

With raw counts, [600, 800[ would look as tall as [400, 500[ although it is twice as wide, so its area would be doubled. With the density it is drawn at 0.01, half the height of the first bar: the areas \(100 \times 0.02 = 2\) and \(200 \times 0.01 = 2\) are equal, as the counts are.

See it. In the figure below, choose 1 · Histogram: the bars touch, and the height of each bar is the count of the class. The next section uses the other two views of the same figure.

In plain words: your eye reads area, not height. A wide class holds more days than a narrow one of the same height, so for unequal widths we divide the count by the width to keep the picture honest.

NoteDefinition — histogram

A histogram draws one rectangle per class, with the rectangles touching each other (the variable is continuous, so there are no gaps). The area of a rectangle is proportional to the number of observations in the class. When all classes have the same width \(h\), area is proportional to height, so the height is simply \(n_i\). When the widths differ, the height must be the density \[ \text{height}_i = \frac{n_i}{h_i}. \]

1.6 Frequency polygon and cumulative curve

Try it. From the five-day table, write the point that the frequency polygon plots for the class [500, 600[, and the point that the cumulative curve plots at the end of that class. Then read the curve at \(p = 50\%\): it crosses 50% between 500 (40%) and 600 (60%), so by how much has it climbed from 500 when it reaches 50%?

Check your answer
  • Polygon: the midpoint is \((500 + 600)/2 = 550\) and \(n_2 = 1\), so the point is (550, 1).
  • Cumulative curve: the upper bound against the running share, (600, 60%).
  • Between (500, 40%) and (600, 60%), 50% is halfway up the segment (\(10\) out of \(20\) points), so the reading is \(500 + 100 \times \frac{10}{20} = 550\). Half of the five days earned less than about €550.

See it. In the figure above, choose 2 · Polygon to see the midpoints joined by lines, then 3 · Cumulative curve to see the upper bounds against the running share, with the 50% reading dashed.

  • The frequency polygon joins the points (class midpoint, \(n_i\)) with straight lines. It carries the same information as the histogram but is easier to superimpose for two distributions.
  • The cumulative frequency curve (also called the ogive) joins the points (class upper bound, \(F_i^{+}\)) and starts at \(0\%\) on the lower bound of the first class. It never goes down and ends at \(100\%\).

In plain words: inside a class we assume the observations are spread evenly, so the curve is a straight line there. Find the class where the curve crosses \(p\), then move along that straight segment.

TipFormula — reading a percentile on the cumulative curve

If the share \(p\) you are looking for lies between \(F_{i-1}^{+}\) and \(F_i^{+}\) in class \([L_i, L_i + h[\), linear interpolation gives \[ x_p \approx L_i + h \times \frac{p - F_{i-1}^{+}}{F_i^{+} - F_{i-1}^{+}}. \]

Notation decoder: reading a percentile on the cumulative curve

Symbol Read aloud In our example (five days, \(p = 50\%\))
\(p\) “p” the share we look for, 50%
\(i\) “i” the class where the curve crosses \(p\): class 2, [500, 600[
\(L_i\) “L sub i” the lower bound of that class, 500
\(h\) “h” the class width, 100
\(F_{i-1}^{+}\) “capital F sub i minus one, plus” the share before the class, 40%
\(F_i^{+}\) “capital F sub i plus” the share at its upper bound, 60%
\(x_p\) “x sub p” the revenue below which a share \(p\) of days lie, about 550

Whole formula as a sentence: “start at the lower bound of the class where the curve crosses \(p\), and add the class width multiplied by the fraction of the way that \(p\) lies between the shares at the two ends of the class.”

2 Worked example

We use the first 30 trading days of Harbour (sheet harbour_30d). The class table for daily_revenue_eur with \(h = 100\) and \(n = 30\) is:

Class (€) \(n_i\) \(N_i^{+}\) \(f_i\) (%) \(F_i^{+}\) (%)
[400, 500[ 6 6 20.0 20.0
[500, 600[ 6 12 20.0 40.0
[600, 700[ 8 20 26.7 66.7
[700, 800[ 7 27 23.3 90.0
[800, 900[ 3 30 10.0 100.0

Step 1 — the histogram. All five classes have width 100, so the bar heights are the counts 6, 6, 8, 7, 3. The tallest bar is [600, 700[: that is where the largest group of trading days sits.

Step 2 — the frequency polygon. The class midpoints are 450, 550, 650, 750 and 850. Plot (450, 6), (550, 6), (650, 8), (750, 7), (850, 3) and join them with straight lines.

Step 3 — the cumulative curve. Plot the upper bounds against \(F_i^{+}\): (500, 20%), (600, 40%), (700, 66.7%), (800, 90%), (900, 100%), starting from (400, 0%). Reading at 600 tells us that 40% of the days earned less than €600.

Step 4 — reading the curve. Where does the curve cross 50%? Between 600 (40%) and 700 (66.7%), so \[ x_{50} \approx 600 + 100 \times \frac{50 - 40}{66.7 - 40} \approx 637.5. \] The exact median of the 30 values is €643.63, so the curve reading is within €6. For the third quartile, \(p = 75\%\) lies between 700 (66.7%) and 800 (90%): \(x_{75} \approx 700 + 100 \times \frac{75 - 66.7}{90 - 66.7} \approx 735.7\) (the exact value, computed in Module 5, is €729.99).

Exam tip. A cumulative curve is read at upper bounds. A polygon is read at midpoints. Mixing them up is the most common error on this topic.

3 Proof / derivation

By definition \(N_k^{+} = \sum_{j=1}^{k} n_j\), summed over all \(k\) classes. The classes are consecutive and half-open, so every observation falls in exactly one class and the class counts add up to the total: \[ N_k^{+} = \sum_{j=1}^{k} n_j = n \quad\Longrightarrow\quad F_k^{+} = \frac{N_k^{+}}{n} = \frac{n}{n} = 100\%. \] For the first 30 Harbour days, \(N_5^{+} = 6+6+8+7+3 = 30 = n\), so \(F_5^{+} = 100\%\). Whatever class bounds you choose, the cumulative curve always finishes in the top-right corner. If it does not, a class is missing or an observation fell outside your classes — a quick way to check your own table.

4 Visual intuition

Think of the histogram as a pile of sand poured on the revenue axis. The area of each bar is the amount of sand in that class, and the total area is the whole sample (the 30 days). If every class has the same width, a taller bar means more sand. If a class is twice as wide and you keep the same height, you have silently doubled its sand: the picture lies. Dividing the count by the width (\(n_i/h_i\)) keeps the amount of sand honest.

The cumulative curve is the same pile seen from another angle: at any revenue \(x\), its height is the share of sand lying to the left of \(x\). Where the histogram has a tall bar, the curve climbs steeply; where the histogram is nearly empty, the curve is nearly flat.

5 Interactive demo — build your own histogram

Drag the bin-width slider and watch the same days regroup into wider or narrower classes. Switch between the 30-day Harbour subset, all 120 Harbour days, and all 120 Campus days to see how the shape changes. Notice that Campus has a long tail to the right: a few very high-revenue days stretch the picture.

6 Exercises

All exercises below are done by hand; the Excel ones are in the homework.

Exercise 1 (Reading the cumulative curve) Use the worked-example table (Harbour, first 30 days). What percentage of trading days earned at least €700?

Solution

The curve gives \(F^{+}(700) = 66.7\%\) of days below €700, so at least €700 means \(100\% - 66.7\% = 33.3\%\). Check with the counts directly: \((7 + 3)/30 = 33.3\%\).

Exercise 2 (Unequal class widths) Suppose the last two classes are merged into one class [700, 900[ of width 200, which holds \(7 + 3 = 10\) days. The first class [400, 500[ has width 100 and holds 6 days. What heights should the two bars have so that their areas are comparable? Which bar looks taller?

Solution

Use the density \(n_i/h_i\).

  • [400, 500[: \(6/100 = 0.06\) days per euro.
  • [700, 900[: \(10/200 = 0.05\) days per euro.

The merged bar is drawn at height \(0.05\) — about 83% of the height of the first bar, even though it holds more days (10 versus 6), because it is twice as wide. Had we plotted the raw count 10, the merged class would look almost twice as tall as it should.

Exercise 3 (Polygon points) What is the midpoint of the class [600, 700[, and which point does the frequency polygon plot for it? What is the point for the cumulative curve at the end of that class?

Solution

The midpoint is \((600 + 700)/2 = 650\) and \(n_{[600,700[} = 8\), so the polygon plots (650, 8). The cumulative curve plots the upper bound against the running share: (700, 66.7%).

Exercise 4 (Formula to words)  

  1. Read \(F_i^{+} = \dfrac{N_i^{+}}{n}\) aloud as one sentence. Which indicator is it?

  2. Read \(N_i^{+} = \sum_{j=1}^{i} n_j\) aloud as one sentence. For the five-day table of the Theory section, what is \(N_3^{+}\)?

Solution
  1. “The cumulative share of class \(i\) is the cumulative count of class \(i\) divided by the total number of observations.” It is the share of days below the upper bound of class \(i\).

  2. “The cumulative count of class \(i\) is the sum, for \(j\) from 1 to \(i\), of the counts of the classes.” For the five days, \(N_3^{+} = 2 + 1 + 1 = 4\).

Exercise 5 (Words to formula) Write in symbols: (a) “the share of the observations that fall in class \(i\)”; (b) “the height of the bar of class \(i\) when the class widths differ”; (c) “the revenue below which a share \(p\) of the days lie, read on the cumulative curve inside the class \([L_i, L_i + h[\)”.

Solution
  1. \(f_i = \dfrac{n_i}{n}\).

  2. \(\text{height}_i = \dfrac{n_i}{h_i}\).

  3. \(x_p \approx L_i + h \times \dfrac{p - F_{i-1}^{+}}{F_i^{+} - F_{i-1}^{+}}\).

7 Common mistakes

WarningWatch out
  • Plotting the raw count for unequal widths. Use the density \(n_i/h_i\), otherwise wide classes look too large.
  • Mixing up the plotting positions. Polygon points use the class midpoint; the cumulative curve uses the class upper bound.
  • Overlapping or gappy classes. Write them half-open, \([L, L+h[\), so each value belongs to exactly one class.
  • Too few or too many classes. Two classes hide the shape; 40 classes on 30 observations draw noise. Start from Sturges’ rule and adjust.
  • Leaving gaps between histogram bars. The variable is continuous: bars touch. Gaps belong to bar charts of categories (Module 2).

8 Exit check

Five minutes, no calculator needed except for question 4.

  1. In one sentence, why must a continuous variable be grouped into classes before building a frequency table?
  2. Why are the bounds of a class written \([L_i, L_i + h[\), with the upper bound left out?
  3. Read \(F_i^{+} = N_i^{+}/n\) aloud as a sentence.
  4. A class table of \(n = 10\) days has counts 3, 5 and 2 in the classes [0, 200[, [200, 400[ and [400, 600[. What are \(f_2\) and the cumulative share \(F_2^{+}\)?
  5. Which points does a frequency polygon use, and which does a cumulative curve use? Why are they different?
Answers
  1. Almost every value is different, so a table by value would be as long as the data; classes trade a little precision for a readable summary.
  2. So that every value lands in exactly one class: the lower bound belongs to the class, the upper bound belongs to the next one.
  3. “The cumulative share of class \(i\) is the cumulative count of class \(i\) divided by the total number of observations.”
  4. \(f_2 = 5/10 = 50\%\) and \(F_2^{+} = (3 + 5)/10 = 80\%\).
  5. The polygon uses (class midpoint, count): it describes the class as a whole. The cumulative curve uses (class upper bound, cumulative share): the share of days below a bound is only known once the whole class has been counted.

9 Homework — Excel lab

Reproduce, in Excel, every table you built by hand in class, with COUNTIFS and a running sum, then apply them to the full dataset.

Estimated time: about 50–60 minutes. Any spreadsheet application works, at home or in a campus computer room.

Follow-up: a 10-minute debrief at the start of Module 4. Bring your Step 0 results and any question on Homework 1–2.

9.1 Using Excel

The sheet harbour_30d of wandering-fork.xlsx has the same 16 columns as the main table; daily_revenue_eur is column N, rows 2 to 31. The complete list of function names, with their French equivalents, is on the Excel functions page.

Concept Excel function or steps
Class bounds Type the lower bounds 400, 500, … in column R and the upper bounds in column S (each upper bound is the next lower bound)
Count \(n_i\) (column T) =COUNTIFS($N$2:$N$31,">="&R2,$N$2:$N$31,"<"&S2), then copy down
Relative frequency \(f_i\) (column U) =T2/COUNT($N$2:$N$31), formatted as a percentage
Cumulative count \(N_i^{+}\) (column V) In the first row =T2; below, =V2+T3 (running sum), then copy down
Cumulative share \(F_i^{+}\) (column W) =V2/COUNT($N$2:$N$31), formatted as a percentage
Same count in one step =COUNTIFS($N$2:$N$31,"<"&S2) gives \(N_i^{+}\) directly
Histogram Select the revenue column → Insert → Chart → Histogram, then Format Axis → Bin width = 100
PivotTable grouping Insert a PivotTable, put daily_revenue_eur in Rows and day in Values (Count), then right-click a row → Group with Starting at 400, Ending at 900, By 100
Frequency polygon Insert → Chart → Line (or Scatter with straight lines) using the midpoints and counts
Cumulative curve Insert → Chart → Scatter with Straight Lines using the upper bounds and \(F_i^{+}\)

For the full table (120 days per franchise) use the Excel Table tblFork and add the franchise as one more condition, for example:

=COUNTIFS(tblFork[franchise],"Harbour",
          tblFork[daily_revenue_eur],">="&R2,
          tblFork[daily_revenue_eur],"<"&S2)

(Type it on one line in Excel; it is split here only for reading.)

WarningExcel’s Histogram chart draws its bins the other way round

In many Excel versions the built-in Histogram chart labels its bins as \((400, 500]\): the upper bound belongs to the class. Our convention is \([400, 500[\). With revenue to the cent a value of exactly 500.00 is rare, but a number such as 500 or 600 can occur in other data. When in doubt, trust your COUNTIFS table, not the chart labels. The PivotTable grouping follows our convention (a value of exactly 500 goes into the class starting at 500).

9.2 Step 0 — check your class results

  1. Type the five revenues 600, 470, 730, 550 and 430 in A2:A6, and the class bounds in C2:C5 (lower: 400, 500, 600, 700) and D2:D5 (upper: 500, 600, 700, 800).
  2. In E2, type =COUNTIFS($A$2:$A$6,">="&C2,$A$2:$A$6,"<"&D2) and copy it down to E5.
  3. In F2, type =E2 and in F3 type =F2+E3, then copy down; in G2, type =F2/COUNT($A$2:$A$6), formatted as a percentage, and copy down.
  4. Compare every result with your hand computation.
Expected results
Class (€) \(n_i\) \(N_i^{+}\) \(F_i^{+}\) (%)
[400, 500[ 2 2 40
[500, 600[ 1 3 60
[600, 700[ 1 4 80
[700, 800[ 1 5 100

Day 1 (exactly 600) is counted in [600, 700[, as expected from the >= and < conditions.

9.3 Homework 1 (Excel) — A skewed distribution

In wandering-fork.xlsx, build a class table for the Campus daily_revenue_eur over all 120 days with classes of width 200 starting at 0. Use COUNTIFS on tblFork. Add relative and cumulative frequencies. What share of days earned less than €600, and how does the shape differ from Harbour’s?

How to. Copy the COUNTIFS formula from Using Excel and add the condition tblFork[franchise],"Campus".

Solution

The formula for the class in row 2 is:

=COUNTIFS(tblFork[franchise],"Campus",
          tblFork[daily_revenue_eur],">="&R2,
          tblFork[daily_revenue_eur],"<"&S2)

You should obtain:

Class (€) \(n_i\) \(N_i^{+}\) \(f_i\) (%) \(F_i^{+}\) (%)
[0, 200[ 25 25 20.8 20.8
[200, 400[ 37 62 30.8 51.7
[400, 600[ 30 92 25.0 76.7
[600, 800[ 11 103 9.2 85.8
[800, 1000[ 9 112 7.5 93.3
[1000, 1200[ 5 117 4.2 97.5
[1200, 1400[ 2 119 1.7 99.2
[1400, 1600[ 1 120 0.8 100.0

76.7% of Campus days earned less than €600. The tallest class is [200, 400[ (37 days), and more than three days in four sit below €600, but eight days (6.7%) earned €1,000 or more, up to €1,407.59. The histogram has a tall peak on the left and a long tail to the right. Harbour’s revenue is more compact, with only a mild tail. We will give this shape a name in Module 7.

9.4 Homework 2 (Excel) — Group with a PivotTable

Using all 120 Harbour days, build the class table with a PivotTable that groups daily_revenue_eur from 0 to 1,100 by steps of 100. What share of days earned between €500 and €700?

How to. Filter franchise = Harbour, then right-click a row → Group.

Solution

Filter franchise = Harbour, put daily_revenue_eur in Rows and day in Values (set to Count), then right-click → Group (Starting at 0, Ending at 1100, By 100). The counts are:

Class (€) 0–99 100–199 200–299 300–399 400–499 500–599
Days 9 11 17 24 21 10
Class (€) 600–699 700–799 800–899 900–999 1000–1099
Days 16 7 3 0 2

They add up to 120 (the PivotTable does not show the empty 900–999 group). Days between €500 and €700 are the classes 500–599 and 600–699: \((10 + 16)/120 = 21.7\%\).

10 Further reading

Source Where What it adds Time Verified
OpenStax IBS 2e §2.1 Display Data, the parts on histograms, frequency polygons and time series graphs (book pages 46–65) A second explanation of class tables and histograms with more examples about 20 pages checked against the PDF contents (T046)
Khan Academy Unit Displaying and comparing quantitative data in the Statistics and probability course; look for the lessons on histograms and cumulative graphs Short videos and practice questions on reading and building histograms about 30–45 min (estimate) link check pending (T048)

OpenStax IBS 2e: Alexander Holmes, Barbara Illowsky and Susan Dean, Introductory Business Statistics 2e, OpenStax, Rice University, https://openstax.org/details/books/introductory-business-statistics-2e, licensed under CC BY-NC-SA 4.0. Sections are cited, not reproduced.