\r\n
RELATED: Convenience Report: Driving Growth
\r\n\r\nR.J. Hottovy, head of Analytical Research at Placer.ai, spoke with Store Brands to discuss the factors driving growth across the convenience store channel, and how retailers in this channel can keep the momentum going.
\r\n\r\nSTORE BRANDS: Why is this channel seeing such tremendous growth?
\r\n\r\nR.J. HOTTOVY: It comes down to innovation in the food category more than anything else. Almost every one of the players in the segment has really embraced food as something that drives visits. Not only are they improving the quality of the food as well as their menus, but at the same time they're making it more accessible. Services such as mobile ordering and pickup windows, and even in some cases, delivery, are popular today.
\r\n\r\nSB: Is the focus on food the biggest commonality among those c-store retailers that are seeing strong growth?
\r\n\r\nRH: I think it is more than anything else, and it's a perfect timing for it, too. One of the key themes over the past two years has been the idea that consumers are being crunched because of inflation, and food inflation is a big part of that. And so alternatively, we're seeing consumers look for more value-oriented substitutes for restaurants and grocery stores.
\r\n\r\nI think one issue that probably hasn't received as much publicity is that c-stores are becoming a more competitive threat to all food retailers, both restaurants and grocery stores (with made-to-order food), because they generally come in at a pricepoint lower than grocery and restaurants. At the same time, they've improved the quality.
\r\n\r\nSB: With made-to-order food bringing more people into their stores, is this an opportunity for c-stores to use this as an opportunity to expand their assortments and further boost sales?
\r\n\r\nRH: There is a pretty significant private label opportunity and we’re already seeing some retailers embrace this. Beverage is another category where there is opportunity to grow. But it’s important not to go overboard. Once you start to add inventory, you do change the dynamic of the c-store. But there are certainly opportunities with fast-moving goods.
\r\n\r\nSB: Given the growth seen in the c-store channel, are retailers outside the channel paying attention to see what they can learn?
\r\n\r\nRH: I think they are. I was at a grocery conference recently and the topic of convenience stores came up. What is interesting is that when we look at most of the visits to c-stores, it’s early evening. That implies they are doing some pretty good dinner business, which again points back to food. We’re also seeing grocery chains expand their prepared meals and look at this segment as a growth opportunity. If they’re not capturing as much share in the early evening, the (competition from c-stores) is something to be concerned about.
\r\n\r\nSB: Who are the shoppers boosting traffic at c-stores?
\r\n\r\nRH: Generally, I think it is younger, as well as lower income consumers, those who are less affluent. Those are consumers that would be looking for some sort of discount on food or at least a value price option for food.
\r\n","imageSrcset":{"src":"https://assets1.storebrands.com/sb/styles/max_width_320/s3/2023-09/r.j._hottovy.jpg?itok=Al9ECpV9 320w, https://assets1.storebrands.com/sb/styles/max_width_800/s3/2023-09/r.j._hottovy.jpg?itok=WCF_M9ZZ 401w","sizes":"(min-width: 1300px) 245px, (min-width: 920px) 19vw, (min-width: 720px) 32vw, 100vw"},"imageCaption":"R.J. Hottovy, Placer.ai.","imagePosition":"right","imageAdvertisement":false,"imageSize":"medium","imageLink":"","imageExpandable":false,"fullSizeImage":{"id":34108,"alt":"R.J. Hottovy","width":401,"url":"https://assets1.storebrands.com/sb/styles/max_width_800/s3/2023-09/r.j._hottovy.jpg?itok=WCF_M9ZZ","height":600}}]}}; const country = "HK"; const language = "en, *"; const SITE_LANGUAGE = "en"; const siteName = "Store Brands"; const userRoles = ["anonymous"]; const userUid = 0; const indexName = "storebrands"; window.dataLayer = window.dataLayer || []; const data = {}; data.entityTaxonomy = {}; const contentTypes = [ "article", "blog", "bulletin", "embed_page", "landing_page", "event", "image", "page", "product", "whitepaper", "video", "tags", ]; if ( routeInfo && "bundle" in routeInfo && contentTypes.includes(routeInfo["bundle"]) ) { data.entityBundle = routeInfo.bundle; data.entityTitle = `${routeInfo.title} | ${siteName}`; data.entityId = routeInfo.id; data.entityName = routeInfo.author?.uname; data.entityCreated = routeInfo.created; data.sponsored = routeInfo.sponsored; data.sponsor = routeInfo.sponsoringCompany; data.entityType = "node"; data.entityLangcode = SITE_LANGUAGE; data.siteName = siteName; data.drupalLanguage = language; data.drupalCountry = country; data.userRoles = userRoles; data.userUid = userUid; data.entityTaxonomyKeys = {}; data.entityTaxonomyHierarchies = {}; data.parentNaicsCode = {}; data.isPro = false; data.algoliaIndexName = indexName; // Add toxonomy data const taxonomies = { businessTopic: "business_topic", contentType: "content_type", company: "company", marketSegment: "market_segment", }; const getHierarchy = (term, terms = []) => { terms.push({ id: term.id, name: term.name }); if (term.parentTerm != null) { getHierarchy(term.parentTerm, terms); } return terms; }; const getTerms = (term, useApiId = false) => { return { id: useApiId ? term.apiId : term.id, name: term.name }; }; const getKeys = (term) => { return { id: term.id, name: term.apiId }; }; Object.entries(taxonomies).forEach(([key, item]) => { terms = routeInfo[key]; if (terms && terms.length > 0) { data["entityTaxonomy"][item] = terms.map((term) => getTerms(term, key === "company") ); if (key !== "company") { data["entityTaxonomyKeys"][item] = terms.map(getKeys); termGroups = []; terms.forEach((term, termInd) => { termGroups[termInd] = getHierarchy(term); }); data["entityTaxonomyHierarchies"][item] = termGroups; } } }); data["entityTaxonomy"]["tags"] = routeInfo["topics"] || []; // Primary Topic is either the business topic or the top tag. if (routeInfo["businessTopic"]?.length > 0) { data["entityPrimaryTopic"] = routeInfo["businessTopic"][0]["name"]; } else { if (routeInfo["topics"]?.length > 0) { data["entityPrimaryTopic"] = routeInfo["topics"][0]["name"]; } } // Primary and secondary entityNaicsCodes come from the MarketSegment if (routeInfo.marketSegment?.length > 0) { data.entityNaicsCode = {}; data["entityNaicsCode"]["id"] = routeInfo["marketSegment"][0]["id"]; data["entityNaicsCode"]["name"] = routeInfo["marketSegment"][0]["naicsCode"]; if (routeInfo["marketSegment"][0]["parentTerm"] != null) { data["parentNaicsCode"]["id"] = routeInfo["marketSegment"][0]["parentTerm"]["id"]; data["parentNaicsCode"]["name"] = routeInfo["marketSegment"][0]["parentTerm"]["naicsCode"]; } } else { data.entityNaicsCode = []; } if (routeInfo.taggedPro) { data.isPro = routeInfo.taggedPro; } window.dataLayer.push(data); } else if (routeInfo && "vid" in routeInfo) { data.entityBundle = "tags"; data.entityTitle = routeInfo.name; data.entityId = routeInfo.id; data.entityName = routeInfo.author?.uname; data.entityCreated = routeInfo.created; data.entityType = "taxonomy_term"; data.entityLangcode = SITE_LANGUAGE; data.siteName = siteName; data.sponsored = routeInfo.sponsored; data.sponsor = routeInfo.sponsoringCompany; data.drupalLanguage = language; data.drupalCountry = country; data.userRoles = userRoles; data.userUid = userUid; data.algoliaIndexName = indexName; data["entityTaxonomy"]["tags"] = { id: routeInfo["id"], name: routeInfo["name"], }; window.dataLayer.push(data); } })();