Competing in markets with homogeneous vs differentiated products: a data driven approach

TL;DR

Difficulty: Intermediate

  • Identical products compete on price, because nothing else is left to compare. Differentiated products give each seller a sloping demand curve and some room on price.
  • Four numbers tell you which market a product line is in: own price elasticity, cross price elasticity with the main rival, branded search share and repeat rate.
  • A log log regression on your own sales history estimates both elasticities in one line.
  • Homogeneous lines reward cost and availability. Differentiated lines reward brand, service and segment fit, and the lower your elasticity, the more margin you can sustain.
  • Most shops have lines in both markets. Diagnose and run each line by its own rules.

Some product lines compete only on price and some compete on being different, and the moves that win in one lose money in the other. In this article I compare the two markets from the textbook up, show the four numbers that tell you which one each of your lines is in, and work it all through for two invented Cork shops, one selling branded coffee machines and one roasting its own coffee.

Two shops in one city can be playing two different games

Most pricing advice assumes you know which market you are in. Most owners I meet do not, and the honest answer is usually "it depends on the product line". So this article is the comparison: how a market of identical products differs from a market of different ones, what data tells you which one you are in, and what each one rewards.

I use two invented Cork shops throughout, every number made up so that I can show every step.

The first is Harbour Brew Kit, run by Séamus. It sells bean to cup coffee machines from the big manufacturers, the same model numbers a national electrical chain and a marketplace sell.

The second is Shandon Roastery, run by Aisling. She roasts her own blends on the northside of the city and sells 250g bags online, mostly on subscription. Nobody else sells them.

Same city, same customers, different markets, and four numbers show it plainly. If elasticity is new to you, read price elasticity in plain English first. Every formula below also links to the matching section of Foundations, where the maths is built from scratch.

In a homogeneous market the customer compares only the price

A homogeneous product is one where the thing in the box is identical whoever sells it. The textbook version is perfect competition: many firms selling identical products, many buyers, full information, free entry and exit. Each firm is a price taker, because charging even slightly more than the market would lose it its sales.1

Real retail has a handful of big sellers who do set prices, but the same logic bites through a different model. Joseph Bertrand described two sellers of an identical product who compete by setting prices. Each can take the whole market by undercutting the other by a cent, so each does, until the price reaches marginal cost and neither makes a margin. Economists call this the Bertrand paradox: two sellers are enough to compete the margin away, as long as the products are identical and the costs are the same.2

How that price war plays out, and what a small seller can still do when a big one cuts, is its own article: beating price wars and big players in the homogeneous product market. Here I only need the core idea: when the product is the same, price is the only thing left to compare.

Worked example: the same machine in three tabs

A customer in Douglas wants a particular bean to cup machine. She opens three tabs: Séamus's shop at €400, the national chain at €400 and a marketplace seller at €389.

Step one, the model number: identical in all three. Step two, delivery: free within three days everywhere. Step three, the warranty: the manufacturer's two years, passed on by all three.

With nothing else to separate them, step four is the price, and €389 wins. Séamus did nothing wrong. He simply has nothing in the comparison except the number.

In a differentiated market each seller owns a little of the demand

A differentiated product is distinctive in some way that buyers care about. The textbook names the market monopolistic competition: many firms compete, but each sells something a little different. OpenStax lists four ways products differ: physical features, the location where they are sold, intangible features such as guarantees, reputation, services or financing, and the buyer's perceptions, often shaped by habit and advertising.3

The consequence is in the demand curve each seller faces. It slopes downward, so a seller can raise its price and keep some customers, but it is more elastic than a monopoly's, because close substitutes exist, and less elastic than a perfectly competitive firm's.3

Two warnings. First, differentiation is not a licence to print money: in the textbook long run, new entrants with their own versions compete profits back down to zero.3 Second, it softens price competition rather than ending it. In the differentiated version of Bertrand's model the equilibrium price stays above marginal cost, and the more differentiated the products, the higher the prices and profits.2 That second point is the whole business case for being different.

Worked example: the same bag of coffee, nowhere else

A customer in Blackrock has been drinking Aisling's house espresso blend for a good year now. She opens the same three kinds of tab.

Step one, she searches for the blend by name. Only Shandon Roastery sells it.

Step two, she compares a supermarket's premium espresso beans at €6 for 250g with Aisling's €9. Both are coffee. Only one was roasted this week by someone who answers her emails.

Step three, she decides whether the €3 gap is worth it. Some customers leave, many stay. Aisling's demand curve slopes, but it does not fall off a cliff. That slope is what she owns, and fair play to her for building it.

Own price elasticity is the first test

You cannot run a shop on definitions. The first number that tells you which market you are in is the price elasticity of demand: how strongly your own sales respond to your own price.

ε=%ΔQ%ΔP\varepsilon = \frac{\%\Delta Q}{\%\Delta P}

Here ε\varepsilon is the own price elasticity of demand, %ΔQ\%\Delta Q is the percentage change in the quantity you sell, and %ΔP\%\Delta P is the percentage change in your price. It is negative for almost every product, because quantity moves against price. When ∣ε∣|\varepsilon| is above 1, demand is elastic: the quantity moves by a larger percentage than the price. Below 1 it is inelastic.4 The definition, the midpoint version and the traps are in Foundations: elasticity.

In a homogeneous market your own elasticity is large, because a small move in your price sends customers to an identical offer one tab away. In a differentiated market it is smaller, because some customers stay for what only you have. Smaller, not tiny: with substitutes nearby, demand can still be elastic.3

Worked example: one price test in each shop

Séamus ran a four week test on his bestselling machine. He cut the price from €400 to €380.

Step one, the price change: 380−400400=−5%\frac{380 - 400}{400} = -5\%.

Step two, the quantity change: units rose from 60 a month to 72, so 72−6060=+20%\frac{72 - 60}{60} = +20\%.

Step three, the elasticity: ε=20%−5%=−4.0\varepsilon = \frac{20\%}{-5\%} = -4.0. A 1% price change moves his volume by about 4%.

Revenue rose from €24,000 to €27,360, but at a cost of €320 a machine his contribution (price minus the unit's variable cost, times units) fell from 60×€80=€4,80060 \times €80 = €4,800 to 72×€60=€4,32072 \times €60 = €4,320. More revenue, less money, a trap the price wars article covers properly.

Aisling tested the other direction. She raised her 250g bag from €9 to €10.

Step one, the price change: 10−99=+11.1%\frac{10 - 9}{9} = +11.1\%.

Step two, the quantity change: monthly bags fell from 2,000 to 1,712, so 1,712−2,0002,000=−14.4%\frac{1,712 - 2,000}{2,000} = -14.4\%.

Step three, the elasticity: ε=−14.4%11.1%=−1.3\varepsilon = \frac{-14.4\%}{11.1\%} = -1.3.

Revenue fell from €18,000 to €17,120. But a bag costs her €3.50 to roast, pack and post, so her contribution rose from 2,000×€5.50=€11,0002,000 \times €5.50 = €11,000 to 1,712×€6.50=€11,1281,712 \times €6.50 = €11,128. Fewer bags, more money.

Cross price elasticity measures how much your rival's price is your price

Own elasticity tells you how sensitive your customers are, not to whom they go. For that you need the cross price elasticity: how your sales respond when a rival changes its price.

εAB=%ΔQA%ΔPB\varepsilon_{AB} = \frac{\%\Delta Q_A}{\%\Delta P_B}

Here εAB\varepsilon_{AB} is the cross price elasticity of your product AA with respect to the rival product BB, %ΔQA\%\Delta Q_A is the percentage change in the quantity of your product sold, and %ΔPB\%\Delta P_B is the percentage change in the rival's price. If the two are substitutes, εAB\varepsilon_{AB} is positive: when the rival gets dearer, you sell more. If they are complements, used together like coffee and sugar, it is negative.5 The arithmetic is the same as own elasticity, see Foundations: elasticity.

This is the cleanest single test of homogeneity I know. Identical products are near perfect substitutes, so the cross price elasticity is large and the rival's price effectively is yours. For differentiated products it is small and positive.

Worked example: the national chain cuts, the supermarket cuts

In October the national chain cut Séamus's bestselling machine from €400 to €360. Séamus held his price.

Step one, the rival's price change: 360−400400=−10%\frac{360 - 400}{400} = -10\%.

Step two, Séamus's quantity change: his units fell from 60 to 42 that month, 42−6060=−30%\frac{42 - 60}{60} = -30\%.

Step three, the cross price elasticity: εAB=−30%−10%=+3.0\varepsilon_{AB} = \frac{-30\%}{-10\%} = +3.0. Every 1% the chain cuts takes about 3% of Séamus's volume.

In the same month a supermarket cut its premium espresso beans from €6 to €5.40, also 10%. Aisling's bags fell from 2,000 to 1,940, which is −3%-3\%. Her cross price elasticity is −3%−10%=+0.3\frac{-3\%}{-10\%} = +0.3. The supermarket is a substitute for her, just not much of one.

Correlation is the quick screen before a regression

Single tests are noisy and not everyone has years of tidy data. A faster first look is the correlation between the rival's price and your own sales, week by week.

r=∑(xi−xˉ)(yi−yˉ)∑(xi−xˉ)2∑(yi−yˉ)2r = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum (x_i - \bar{x})^2 \sum (y_i - \bar{y})^2}}

Here rr is Pearson's correlation coefficient, xix_i is the rival's price in week ii, yiy_i is your units in the same week, xˉ\bar{x} and yˉ\bar{y} are their means, and ∑\sum adds up over all the weeks. rr runs from minus 1 to 1. Close to 1 means your sales rise and fall with the rival's price, close to 0 means they ignore it. See Foundations: correlation.

Worked example: five weeks of Séamus's data

Five weeks is far too few to decide anything, but it shows every step. The chain's price xx was €400, €380, €360, €380, €400. Séamus's units yy were 15, 13, 9, 11, 14.

Step one, the means: xˉ=384\bar{x} = 384 and yˉ=12.4\bar{y} = 12.4.

Step two, the deviations. For xx: 16, minus 4, minus 24, minus 4, 16. For yy: 2.6, 0.6, minus 3.4, minus 1.4, 1.6.

Step three, multiply the pairs and add: 41.6−2.4+81.6+5.6+25.6=152.041.6 - 2.4 + 81.6 + 5.6 + 25.6 = 152.0.

Step four, the squares: for xx, 256+16+576+16+256=1,120256 + 16 + 576 + 16 + 256 = 1,120. For yy, 6.76+0.36+11.56+1.96+2.56=23.26.76 + 0.36 + 11.56 + 1.96 + 2.56 = 23.2.

Step five, divide: r=152.01,120×23.2=152.0161.2=0.94r = \frac{152.0}{\sqrt{1,120 \times 23.2}} = \frac{152.0}{161.2} = 0.94.

Séamus's sales follow the chain's price almost step for step. Aisling runs the same screen over 52 weeks against the supermarket's price and gets r=0.1r = 0.1. The usual warning applies: correlation is not causation, and if both of you discount for Black Friday, rr will be high for a reason that has nothing to do with competition. That is why a regression comes next.

A log log regression estimates both from your own sales history

To estimate both elasticities properly, and to separate your price from the rival's, you fit a regression on many months of your own data, with the natural logarithm of everything.

ln⁡Qt=α+βln⁡Pt+γln⁡Ptr+εt\ln Q_t = \alpha + \beta \ln P_t + \gamma \ln P^{r}_t + \varepsilon_t

Here QtQ_t is the quantity you sold in period tt, PtP_t is your price in that period, PtrP^{r}_t is the main rival's price, ln⁡\ln is the natural logarithm, α\alpha is a constant that soaks up the general level of demand, β\beta is your own price elasticity, γ\gamma is the cross price elasticity with the rival, and εt\varepsilon_t is everything else that moved sales that period (a different ε\varepsilon from the elasticity above, sadly the letters ran out). The reason for the logs: when both sides are logged, a coefficient reads as a percentage change for a percentage change, so a 1% rise in the price changes the predicted quantity by about β%\beta\%.6 Regression itself is explained in Foundations: regression and logs in Foundations: logarithms.

Three cautions from my own work. The price has to have moved, or there is nothing to learn. The elasticity is assumed constant, which holds near the prices you have charged and not far beyond. And if you only cut when demand was already weak, the coefficient mixes your decision with the season. The fuller treatment, with seasonality and promotions in the model, is in modelling demand and price elasticity with regression.

Worked example: 18 months for Séamus, 24 for Aisling

Séamus exports 18 months for his bestselling machine: units, his price and the chain's price, which he noted from public listings. How to collect a rival's prices within the rules is in competitor price monitoring in the EU, what is actually legal.

Step one, take the natural log of the three columns.

Step two, fit the regression. The estimates come back as β^=−4.2\hat{\beta} = -4.2 and γ^=+2.9\hat{\gamma} = +2.9, close to his single tests (minus 4.0 and plus 3.0), which is reassuring.

Step three, read them. If Séamus raises his price by 2%, the predicted change in units is 1.02−4.2−1=0.920−1=−8.0%1.02^{-4.2} - 1 = 0.920 - 1 = -8.0\%.

Aisling does the same with 24 months of her bags and the supermarket's shelf price: β^=−1.3\hat{\beta} = -1.3 and γ^=+0.3\hat{\gamma} = +0.3. A 2% rise in her price predicts 1.02−1.3−1=0.975−1=−2.5%1.02^{-1.3} - 1 = 0.975 - 1 = -2.5\% fewer bags.

Same formula, same size of shop, wildly different answers.

Branded search share shows whether people look for you or for the product

Elasticities need prices to move. Two other numbers need only data you already have. The first is how many people search for you by name. Les Binet's work for the IPA in 2020 defined share of search as a brand's organic searches divided by the searches for all brands in its category, and found it correlated with market share in all three categories tested (cars, energy and mobile handsets), and led it, by up to a year for cars.7 For a single shop there is a simpler version from your own Search Console.

Sb=CbrandCsearchS_b = \frac{C_{\text{brand}}}{C_{\text{search}}}

Here SbS_b is your branded search share, CbrandC_{\text{brand}} is the organic search clicks whose query contains your shop's name, and CsearchC_{\text{search}} is all organic search clicks to your site in the same period. It is a plain ratio, see Foundations: ratios and rates. One correction: Search Console leaves out anonymised queries, those issued by very few people, to protect privacy, so the query level total is smaller than the site total.8 Use the clicks from the query table for both the top and the bottom of the fraction, so they come from the same pot.

A shop selling identical products gets found through the product. A differentiated shop gets found through its name.

Worked example: one quarter of Search Console

Step one, Séamus filters the queries table for one quarter: 13,000 clicks in total, 1,040 of them on queries containing "harbour brew".

Step two, Sb=1,04013,000=8%S_b = \frac{1,040}{13,000} = 8\%. That means 92 in every 100 search visitors arrived looking for a machine, not for Séamus.

Step three, Aisling does the same: 4,000 clicks, 2,200 containing "shandon roastery". Sb=2,2004,000=55%S_b = \frac{2,200}{4,000} = 55\%. More than half her search visitors were already looking for her.

Repeat rate shows whether they come back for you

The second number is whether a customer comes back.

R=N2+N1+R = \frac{N_{2+}}{N_{1+}}

Here RR is the repeat rate, N2+N_{2+} is the number of customers who ordered at least twice within 12 months, and N1+N_{1+} is the number who ordered at least once. It is another ratio, see Foundations: ratios and rates.

Read it with care. Nobody buys a coffee machine every month, so compare within your category, never across. And size matters: Ehrenberg, Goodhardt and Barwise documented double jeopardy, where smaller brands have far fewer buyers who also buy them somewhat less often.9 So a small shop's repeat rate runs a little low for that reason alone, and a small shop well above its category norm is showing real differentiation.

Worked example: 12 months of customers

Step one, Séamus counts 4,200 customers in the last 12 months. 380 of them ordered again, almost all for descaler, water filters and milk jugs. R=3804,200=9%R = \frac{380}{4,200} = 9\%.

Step two, Aisling counts 3,000 customers, of whom 1,860 ordered again. R=1,8603,000=62%R = \frac{1,860}{3,000} = 62\%.

Step three, compare within the category. Séamus's 9% is grand for a machine shop, and it comes from accessories. Aisling's 62% would be strong for any coffee seller, mostly subscriptions, the most explicit form of "I came back for you".

The four numbers side by side

Put the elasticities in one chart, as sizes (the absolute values, so all bars point the same way).

Own and cross price elasticity for the two Cork shopsFour bars showing the size of each elasticity, all invented. Harbour Brew Kit, the coffee machine shop: own price elasticity 4.2, cross price elasticity with the national chain 2.9. Shandon Roastery: own price elasticity 1.3, cross price elasticity with the supermarket 0.3. The machine shop's bars are three to ten times taller.Size of elasticity, from the log log regressions01.32.53.854.2Machines, ownprice2.9Machines,rival's price1.3Roastery, ownprice0.3Roastery,rival's priceSize of elasticity

The horizontal axis lists the four estimates. The vertical axis is the size of the elasticity, the percentage change in units for a 1% change in the price, ignoring the sign. The takeaway: Séamus's sales respond about three times as strongly to his own price as Aisling's, and about ten times as strongly to a rival's.

Branded search share and repeat rate for the two Cork shopsFour bars, all invented. Branded search share: machine shop 8%, roastery 55%. Repeat rate over 12 months: machine shop 9%, roastery 62%.How often customers look for you, and come back0%25%50%75%100%8%Machines,brandedsearch55%Roastery,brandedsearch9%Machines,repeat rate62%Roastery,repeat rateShare of customers

The horizontal axis lists the two signals for each shop. The vertical axis is a percentage, of search clicks for the first pair and of customers for the second. The takeaway: Aisling's customers look for her by name and come back. Séamus's look for a machine. All four numbers agree, which is what you want before you change strategy on them.

Which market am I in, step by step

Here is the whole diagnosis as one flow. The thresholds are my own rules of thumb from the shops I have worked on, not laws of economics, so adjust them for your category.

Which market am I inA top to bottom decision flow. Start with one product line and at least 12 months of prices and sales. First question: can the customer buy the identical item elsewhere, by name or model number? If no, it is differentiated by construction, and the repeat rate shows how far that holds. If yes, estimate own and cross price elasticity with the log log regression. Second question: is the cross price elasticity above 1 and the own price elasticity beyond minus 3? If yes, it is homogeneous in practice: compete on cost and availability. If no, third question: is branded search share above about 30% and the repeat rate above the category norm? If yes, it is differentiated in practice: invest in brand, service and segment fit. If no, the line is in the middle: build the difference before touching the price. Finally, measure again in six months.Take one product line and at least 12months of prices and salesCan the customer buy the identicalitem elsewhere, by name or modelnumber?noDifferentiated by construction. Checkthe repeat rate to see how far it holdsyesEstimate own and cross price elasticitywith the log log regressionCross price elasticity above 1 andown elasticity beyond minus 3?yesHomogeneous in practice. Compete oncost and availabilitynoBranded search share above about30% and repeat rate above thecategory norm?yesDifferentiated in practice. Invest inbrand, service and segment fitnoIn the middle. Build the differencebefore you touch the priceMeasure again in six months, becausemarkets move

The first question is free and often settles it. The elasticities are the hardest evidence. Search and repeat decide the cases in between, where in my experience most product lines live.

Worked example: Séamus's machines and Aisling's bags through the flow

Séamus's machine: identical item elsewhere, yes. Cross price elasticity 2.9, above 1, and own elasticity minus 4.2, beyond minus 3. Homogeneous in practice.

Aisling's house blend: identical item elsewhere, no. Differentiated by construction, and a repeat rate of 62% says it holds.

What a homogeneous market rewards: cost and availability

Cost first. If prices drift towards marginal cost, the seller with the lowest cost survives at a price that hurts everyone else.2 For a small shop that rarely means the lowest purchase price. It means the lowest cost to serve: less advertising per order, fewer returns, lower fulfilment cost, and no brand campaigns for a product whose brand belongs to the manufacturer.

Availability second. When the price is level, the seller with it in stock wins the tie. In the shops I have worked on, the most expensive thing in a homogeneous line is being out of stock in the week the customer was ready.

Whether to match a rival's cut, and what bundles can do instead, is in the price wars article.

Worked example: where Séamus's next €1,000 goes

Séamus has €1,000 a month for growth: a brand campaign on social media, or deeper stock of his three best sellers.

Step one, the brand campaign. With 8% branded search share, his customers are looking for the machine, not for him.

Step two, the stock. Last year his bestseller was out of stock for five weeks, at 15 units a week and €80 contribution each: 5×15×€80=€6,0005 \times 15 \times €80 = €6,000 he did not earn.

Step three, the decision is not close. Availability wins.

What a differentiated market rewards: brand, service and segment fit

If the product is different, the customer pays for the difference. Brand, so they find you and remember why. Service, because it is part of the product. Segment fit, exactly right for one group rather than vaguely right for everyone. If segments are new to you, segmentation is not demographics is the place to start.

A neat result links this back to elasticity. For a seller who sets its own price, the profit maximising margin, as a share of the price, is the inverse of the elasticity.

P−MCP=−1ε\frac{P - MC}{P} = -\frac{1}{\varepsilon}

Here PP is the price, MCMC is the marginal cost of one more unit, the left hand side is the Lerner index, the share of the price that is markup, and ε\varepsilon is the own price elasticity of demand. The less elastic the demand, the larger the markup a seller can sustain.10 Elasticity is defined in Foundations: elasticity and marginal cost in Foundations: marginal versus average.

That is the arithmetic behind "differentiation pays": every euro that makes ∣ε∣|\varepsilon| smaller raises the margin you can sustain.

Worked example: the rule applied to both shops

Step one, Séamus. His elasticity is minus 4.2, so the margin at the best price is 14.2=23.8%\frac{1}{4.2} = 23.8\% of the price. With a machine costing him €320, the price that hits that margin is €3201−0.238=€420\frac{€320}{1 - 0.238} = €420. He charges €400, close to the textbook point, with little room either way.

Step two, Aisling. Her elasticity is minus 1.3, so the margin at the best price is 11.3=76.9%\frac{1}{1.3} = 76.9\%. With a bag costing €3.50, that points at €3.501−0.769=€15.17\frac{€3.50}{1 - 0.769} = €15.17.

Step three, the caution. Her regression only saw prices between €9 and €10, and beyond them a constant elasticity is a guess. The rule says she has room to go up, not that she should jump to €15. She moves to €11, measures for two months and runs the regression again.

Step four, the investment. Her next €1,000 goes on things that keep ∣ε∣|\varepsilon| small: a tasting card in every bag, a fortnightly email from the roaster, a brewing guide. Each makes her coffee harder to compare with a supermarket shelf.

Most shops sit in both markets at once

The question is not "which market is my business in" but "which market is this product line in". Séamus's machines are homogeneous. A service where he collects a machine, services it and returns it in two days would not be, because nobody else in Cork offers exactly that. A shop can run each line by the rules of its own market, and use the identical lines to bring in customers who then meet the distinctive ones.

Worked example: Séamus builds a differentiated line on top of a homogeneous one

Step one, Séamus sells 720 machines a year at about €80 contribution each, €57,600 in all, in a market where that contribution is under constant pressure.

Step two, he offers every buyer an annual service at €60, with a contribution of €40 after his time and parts. 20% of buyers take it in the first year: 720×0.20=144720 \times 0.20 = 144 services, worth 144×€40=€5,760144 \times €40 = €5,760.

Step three, the service has no identical offer one tab away. If the 144 renew, three years add 3×€5,760=€17,2803 \times €5,760 = €17,280 from customers he has already paid to acquire. He competes on cost for the machine and on service for the relationship.

My view on the real time pricing engine

The old version of this article pitched a pricing engine I built that watches competitor prices and adjusts a shop's own automatically. In a truly homogeneous line it earns its keep, because customers compare tabs in seconds and a human cannot keep up.

But an engine makes you faster at the game you are in. It does not change the game. On a differentiated line it teaches customers to compare you on price, the one comparison you were winning by avoiding. So I only build one after the diagnosis says homogeneous, and always with a floor: a minimum contribution per unit it never goes below.

What I would measure this month

Pick your three biggest product lines and answer the first question honestly for each. Then work out branded search share and repeat rate, which need no price change and take an afternoon, no bother.

If a line looks homogeneous, record the main rival's price weekly, legally, and run the correlation screen after a quarter and the regression after a year. If it looks differentiated, run one careful price test upwards and measure the contribution, not the revenue. Then spend accordingly: cost and availability where the product is the same, brand, service and segment fit where it is not.

Footnotes

  1. OpenStax, Principles of Microeconomics 3e, section 8.1 Perfect Competition and Why It Matters, Rice University, 2022, https://openstax.org/books/principles-microeconomics-3e/pages/8-1-perfect-competition-and-why-it-matters

  2. Chrysovalantou Milliou, Static Oligopoly, section 3.3 Price Competition (the standard Bertrand model, the Bertrand paradox and the Bertrand model with differentiated products), lecture slides based on Paul Belleflamme and Martin Peitz, Industrial Organization: Markets and Strategies, Athens University of Economics and Business, https://eclass.aueb.gr/modules/document/file.php/ERASMUS151/LECTURES/3bStaticOligopolyBNEW.pdf

  3. OpenStax, Principles of Microeconomics 3e, section 10.1 Monopolistic Competition, Rice University, 2022, https://openstax.org/books/principles-microeconomics-3e/pages/10-1-monopolistic-competition

  4. OpenStax, Principles of Microeconomics 3e, section 5.1 Price Elasticity of Demand and Price Elasticity of Supply, Rice University, 2022, https://openstax.org/books/principles-microeconomics-3e/pages/5-1-price-elasticity-of-demand-and-price-elasticity-of-supply

  5. OpenStax, Principles of Microeconomics 3e, section 5.4 Elasticity in Areas Other Than Price, Rice University, 2022, https://openstax.org/books/principles-microeconomics-3e/pages/5-4-elasticity-in-areas-other-than-price

  6. UCLA Statistical Methods and Data Analytics, FAQ: How do I interpret a regression model when some variables are log transformed, University of California, Los Angeles, https://stats.oarc.ucla.edu/other/mult-pkg/faq/general/faqhow-do-i-interpret-a-regression-model-when-some-variables-are-log-transformed/

  7. IPA, news release on Les Binet and the Share of Search metric, presented at EffWorks Global 2020, Institute of Practitioners in Advertising, 14 October 2020, https://ipa.co.uk/news/binet-presents-fast-cheap-predictive-share-of-search-metric/

  8. Google Search Central Blog, A deep dive into Search Console performance data filtering and limits, Google, 19 October 2022, https://developers.google.com/search/blog/2022/10/performance-data-deep-dive

  9. Andrew S. C. Ehrenberg, Gerald J. Goodhardt and T. Patrick Barwise, Double Jeopardy Revisited, Journal of Marketing, volume 54, issue 3, pages 82 to 91, July 1990, https://doi.org/10.1177/002224299005400307

  10. Andrew Monaco, Behavior and Choice: EC 102, Measures of market power and elasticity of demand, University of Puget Sound, https://econ102txt.pugetsound.edu/sec_measures-market-power-elasticity.html

If you would like to know which of your product lines compete on price and which on difference, I run a free workshop and the first two weeks of work are on me. Bring 12 months of sales and your Search Console, and we will put each line through the flow together, no bother.