Categorical

Banner Table

Places the answer options of one question down the rows and the categories of several breakdown variables across lettered column blocks, testing the pairs of columns inside each block row by row.

Method summary

The body of a market research report is built from wide tables that show a single question against several breakdowns on one page: answer options on the left, the categories of gender, age band, region and the like across the top. The columns carry letters, and a cell holds not only a percentage but also the letters of the columns it stands significantly above, so a reader can see at a glance which subgroup separates from which. Testing runs only between columns of the same breakdown variable, never between a gender column and an age column, because those two blocks cut the same people in different ways. Each pair is tested with a z test that compares the two proportions through a pooled estimate, and because the number of pairs grows with the number of columns in a block, the significance threshold is tightened by dividing it by that count. YouReply Analyze returns the percentages, the column bases, the letters in each cell, the low base flags and a note spelling out what the letters mean.

Which research questions does it answer?

  • Which age band favours a given shopping channel, and could that lead be put down to chance?
  • In which columns of a gender and region breakdown is advertising recall highest?
  • Where does the distribution of satisfaction ratings separate across customer tenure?
  • How does brand preference spread across income group and settlement type in one table?

When should you use it?

  • When one question has to be reported against several breakdowns in a single table, rather than through a separate run per breakdown.
  • When the reader should be able to see directly from the table which subgroup sits above which.
  • When the bases of the breakdown columns are reasonably close and each column holds enough observations to interpret.
  • When the differences are of interest row by row, so that a single measure of association for the whole table will not do.
  • When the breakdown variables are separate classifications of the same people; a breakdown that places one person in several categories does not belong in this table.

Required variable types

  • Question column: one nominal column that forms the rows, which are its categories.
  • Banner columns: at least one and in practice several nominal columns. Each forms its own letter block, and testing runs only inside a block.
  • A continuous variable cannot serve as a banner; fields such as income or age must be cut into groups with the derived column feature on the Variable tab.
  • One row per respondent, since the percentages and bases are built from row-level data.
  • A rating scale can occupy the rows, but the testing looks at differences in proportions, so the information carried by the ordering goes unused.

Key assumptions

Independence of observations
Every respondent contributes once to one column, and the columns are made up of different people. Putting two measurements of the same person into two columns breaks the independence the z test rests on.
Validity of the normal approximation
The two-proportion z test holds where the sampling distribution can be approximated by the normal. That approximation loosens as a base shrinks or a proportion approaches zero or one.
A sufficient column base
A column percentage is only interpretable when the column holds enough observations. On a thin base the percentage jumps with each individual added.
Breakdowns placing each person in one category
The columns inside a letter block are expected to be mutually exclusive. Where one person appears in two columns of the same block, the pairs stop being two independent samples.
The burden of multiple comparisons
The number of pairs in a table climbs quickly with the number of columns, and without a correction false positive letters accumulate.

How YouReply checks these assumptions

  • Independence of observations: The panel does not check this assumption automatically; the researcher evaluates it.
  • Validity of the normal approximation: No continuity correction is applied and the p value is read straight from the normal distribution, with no exact probability computed. Where a column is left with fewer than two cases, the pairs involving it are skipped silently, so a letter you expected simply never appears and no reason is given.
  • A sufficient column base: Columns whose base falls below the threshold are flagged as low base, with the threshold defaulting to 30 and adjustable in the parameter form. THE FLAG IS ADVISORY ONLY: such columns are not withdrawn from the comparisons and keep taking and giving letters. Deciding not to report the letters of a thin column is left to you.
  • Breakdowns placing each person in one category: Whether the banner categories are mutually exclusive is not checked. Using a question that allows several options to be ticked as a banner breaks this condition silently.
  • The burden of multiple comparisons: A Bonferroni correction divides the significance level by the number of column pairs inside each banner variable. The correction is per banner: pairs are not counted across the whole table, so the cost of widening a table with many banners needs separate thought.

How the analysis is run

  1. 1Drop the data onto the panel and confirm on the Data tab that the question column and the banner columns came through.
  2. 2Tidy the category spellings, since two spellings of one category open two columns, disturb the lettering and inflate the pair count for nothing.
  3. 3On the Variable tab set all of these columns to nominal, enter the value labels, and build derived columns that cut continuous fields such as age or income into groups.
  4. 4Pick this method from the categorical group on the Analysis tab.
  5. 5In the parameter form name the question column that supplies the rows and the banner columns that form the blocks.
  6. 6Review the significance level and the low base threshold, which default to 0.05 and 30 observations.
  7. 7Run the analysis. The table, the base row, the letter assignments, the low base flags and the explanatory note arrive as collapsible sections, and no chart is drawn for this method.
  8. 8Export the table to Excel and state in your report what the letters mean, which correction was used and which columns were flagged.

Statistics and tables produced

Lettered columns and the base row
The categories of each banner variable are lettered within their own block and every column's base is printed above the table. The percentages are computed on those bases.
Cell percentages
At the intersection of each answer row and each column, the percentage computed on that column's base.
Significance letters
A cell carries the letters of the columns it stands significantly above within its own banner. A cell with no letters is not significantly higher than any column in that row.
Pairwise test results
For every pair of columns inside a banner, a two-proportion z test using the pooled proportion is run on each row and the p value is read from the normal distribution.
Corrected significance threshold
For each banner variable, the threshold obtained by dividing the stated significance level by the number of column pairs in that banner. Letters are assigned against it.
Low base flags
Columns whose base falls under the threshold are flagged. The flag is informational and those columns continue to take part in the comparisons.
Note explaining the letters
The result carries a note stating that the letters mark the columns a cell stands significantly above, and that note belongs beneath the table in your report.

Effect size and confidence intervals

Significance letters
No numeric effect size is computed here; the letters are where the difference is read. The letters in a cell name the columns it stands significantly above within the same banner, so the direction lives on the side where the letter is printed: the lettered column is the higher one. An absence of letters does not mean the difference is zero, only that the corrected threshold was not cleared. Since letters say nothing about magnitude, the percentage gap beside them belongs in the report too.
The threshold tightened by Bonferroni
The threshold comes from dividing the stated level by the number of column pairs in that banner, so a two-column banner has one pair and the level is untouched, while a four-column banner produces six pairs and drops a 0.05 level to about 0.0083. In practice that makes letters markedly harder to earn in wide banners. Note also that the correction is per banner: adding a sixth banner does not tighten the thresholds of the other blocks, so as the table grows the overall false positive risk runs higher than the letters suggest.
How base size governs the letters
Whether a letter appears depends as much on the column bases as on the percentage gap. The same ten-point gap earns a letter between two broad columns and earns nothing between two thin ones, which is why an absent letter should not be read as an unimportant difference. And because a low base flag does not halt the testing, letters belonging to a flagged column call for particular caution.

This method returns no confidence interval. Cell percentages arrive as single values and no interval is computed for the differences in proportion between columns, leaving you with the letters and the p values behind them. Nor is an omnibus test run for the table as a whole: no chi-square test of independence precedes the row-by-row pairwise comparisons, so the letters do not rest on a confirmed overall association. Intervals or an omnibus result have to be obtained separately.

Example research question and example result

The numbers below are a representative example, not data from a real study or a real user.

Research question
In an illustrative retail study, the preferred shopping channel is reported against gender and age band.
Variables
Question column: preferred channel, with branch, website and mobile app as the answer options · Banner column: gender, two columns lettered A and B · Banner column: age band, four columns lettered C, D, E and F
Example result
The table was built from 800 respondents. In the gender block column A has a base of 410 and column B a base of 390; in the age block the bases are 250 for C, 300 for D, 226 for E and 24 for F, which is why F was flagged as low base. On the mobile app row A came out at 38.0 per cent against 29.5 per cent for B; with a single pair in the gender block the threshold stayed at 0.05, and z = 2.54 with p = 0.011 gave cell A the letter B. On the same row the age block read 46.0 for C, 33.3 for D, 20.8 for E and 37.5 for F, and because four columns produce six pairs the threshold fell to 0.0083. C against D gave p = 0.002, C against E gave p below 0.001 and D against E gave p = 0.002, so cell C took the letters D and E and cell D took the letter E. None of the three pairs involving F reached significance.
Interpretation
The letters show preference for the mobile app rising as age falls, and the rise is lettered in a cascade: the youngest column stands above the two columns beneath it and the middle column stands above the oldest. In the gender block the single pair left the threshold untouched and an 8.5-point gap earned a letter, whereas the same gap might have earned nothing in the four-column age block where the threshold is tighter. Column F looks high at 37.5 per cent, but on a base of 24 the percentage can swing with a handful of people; since the flag does not halt the testing, the column took part in the comparisons and still earned no letters. In a report, F's percentage is best given with its base attached or withheld altogether. The figures are illustrative.

Real output on a sample dataset

The results below were produced by the analysis engine from this data file. Changing the variable changes the research question as well; every run was computed in advance, so the page sends no request to the engine.

Variable examined

Market research survey (synthetic)

Two hundred and fifty respondents: the brand in use, three demographic breaks, six choose all that apply option columns and six purchase intent questions. The option columns overlap, so the extra reach an item brings can genuinely be measured.

Rows
250
Columns
respondent_id, gender, region, age_band, main_brand, opt_price, opt_quality, opt_service, opt_brand, opt_speed, opt_design, buy_a, buy_b, buy_c, buy_d, buy_e, buy_f
Download the dataset as CSV

The data is synthetic: it comes from a fixed random seed, not from a real study. The values below were produced by the analysis engine from this file, so uploading the same file to the panel gives the same results.

Research question: Does the brand in use differ significantly across the gender and settlement breaks?

Tabulated question
main_brand
Banner (breakdown) columns
gender,region
Significance level (alpha)
0.05
Low base warning threshold
30
question_column
main_brand
Significance level (alpha)
0.050
Low base threshold
30

Banner tables

Banner tables
RowBanner columns (letters)Answer rowsValid observations
gender--250
region--250

Computation credits: scipy 1.18.0 · statsmodels 0.14.6 · scikit-learn 1.9.0 · numpy 2.5.1 · pandas 3.0.5 · semopy 2.3.11 · 89fc29a · Data seed: 20260916

How to report the result

Preference for the mobile app reached 46.0 per cent in the youngest age band, significantly above both the 30-44 band (33.3 per cent) and the 45-64 band (20.8 per cent), using two-proportion z tests with a Bonferroni correction across the six within-banner column pairs.

An example sentence close to APA style; the numbers are representative.

When you should not use it

  • Because no omnibus test is run for the table, the letters come from pairwise comparisons directly rather than from detail inside a previously confirmed association.
  • The correction operates inside each banner variable and not across the whole table, so the overall false positive risk grows as banners and rows are added.
  • A low base flag does not halt the testing, so a thin column turning on a handful of cases can take and give letters; which columns to withhold is your call.
  • Where a column is left with fewer than two cases, those pairs are skipped silently and the result does not say why an expected letter is missing.
  • With no continuity correction and the probability read from the normal distribution, p values can run optimistic on small bases.
  • Ordering among the rows is unused when they come from a rating scale, so a rank-based measure is more sensitive when the trend itself is the question.
  • Columns from different banner blocks are never compared, so whether a gender column exceeds an age column is a question this table leaves unanswered.

What to use when the assumptions are not met

  • Cross-TabulationWhy: When a single breakdown is in play and seeing the row and column percentages in detail matters more than significance letters.
  • Chi-Square Test of IndependenceWhy: When the question is whether an overall association exists between two variables and how strong it is, since it supplies one statistic and an effect size.
  • Multiple Response AnalysisWhy: When the question forming the rows allows several options to be ticked, since the options do not fit in one column and this table cannot be built.
  • Proportion TestWhy: When interest narrows to a single comparison of proportions, which it reports directly instead of building a whole table.

Frequently asked questions

What does a letter in a cell mean?
It means the cell stands significantly above the column whose letter is printed, within its own banner block. The direction lives where the letter sits, so nothing is written in the lower column. The result also carries a note setting out this convention, and that note belongs under the table in your report, because a reader unfamiliar with lettering reads the marks backwards easily. For a cell with no letters the only thing that can be said is that the corrected threshold was not cleared.
Why did letters disappear when I added a column to a banner?
Because the threshold tightened. The significance level is divided by the number of column pairs in that banner, and pairs multiply quickly: two columns give one pair, three give three and four give six, turning a 0.05 level into 0.05, 0.0167 and 0.0083 respectively. The same percentage gap may earn nothing in a wider block. Building the banner from coarser categories lowers the pair count and usually yields a more readable table.
Should I keep a column that was flagged as low base?
The flag does not remove the column, it only draws your attention: that column keeps entering the comparisons and keeps taking and giving letters. Publishing practice is generally either to withhold the percentage of a column based on fewer than thirty cases or to print it with the base attached and a note that it should not be interpreted. Raising the threshold flags more columns but still halts no test, so the decision stays with you at the reporting stage.
Do I need to run a chi-square test first?
This method runs no omnibus test and goes straight to the column pairs. The classical approach is to test the table as a whole for independence first and to look at detail only where that is significant. Running the same table through the chi-square test of independence gives you the overall association and a strength measure such as Cramer's V, two things the banner table does not supply, and reporting both together gives the letters more weight.

References

  • Agresti, A. (2018). An Introduction to Categorical Data Analysis
  • Burns, A. C., & Bush, R. F. (2014). Marketing Research
  • Fleiss, J. L., Levin, B., & Paik, M. C. (2003). Statistical Methods for Rates and Proportions
  • scipy.stats.norm documentation

Try it with your own data

The free plan includes 50 analysis runs a month and needs no card.