\r\n \r\nThat got me thinking about RIS' Top 10 Specialty Retailer list and how it would measure up to Warren’s guidance. The short answer: Excellent. I took the top 10 retailers (actually 12) and stacked them against the bottom 10 (12 retailers). Investing $1,000 in each for the one-year period nets a return of 24.2% for the top 10. For the bottom 10, the yield is almost the same at 23.1%. Strange? Not really. \r\n \r\nLet’s stop looking at the scoreboard and focus on the playing field. The average W-Scores — provided by wRatings, a market research firm — a measure of the retailer’s competitive strength, is 78.2 in the top 10 and 53.2 in the bottom 10. To put this in perspective, that’s a jump of 1,179 companies in our universe of coverage between the top and bottom 10. \r\n \r\nDigging deeper into the W-Scores, I can see three reasons why the top 10 outperforms the rest. First, they are far superior at product availability. Products in-demand are also in-stock. Next is the competency of their service staff. This is not only in-store but also on the web and social media. The retailers are more consistent throughout the customer’s journey. And lastly, the quality/price equation is fully aligned. Customers see the value of doing business with them, even if that may mean paying more. \r\n \r\nThe end result is that the top 10 grew revenue by 11.0% and profits by 13.1% over one year, whereas the bottom 10 shrunk their revenue by -2.0% and profits by -0.6%. Rather than focusing on the playing field where Specialty Retailers really win or lose, most investors remain glued to their scoreboards of stock prices. \r\n \r\nFor related content: \r\nTop 10 Specialty Retailers \r\nTop 5 and Bottom 5 Retailers of Q4 2013 \r\nTop 10 Department Stores: Who Made the Cut? \r\n"}]}};
const country = "US";
const language = "en-US,en;q=0.5";
const SITE_LANGUAGE = "en";
const siteName = "RIS News";
const userRoles = ["anonymous"];
const userUid = 0;
const indexName = "risnews";
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);
}
})();
Warren Buffett’s annual letter came out recently and, as always, he put in a whole lot of gems. Due to my love of sports, my favorite this year was on Page 18: “Games are won by players who focus on the playing field – not by those whose eyes are glued to the scoreboard.” In other words, focus on the future productivity of the company rather than its daily fluctuating stock price.
That got me thinking about RIS' Top 10 Specialty Retailer list and how it would measure up to Warren’s guidance. The short answer: Excellent. I took the top 10 retailers (actually 12) and stacked them against the bottom 10 (12 retailers). Investing $1,000 in each for the one-year period nets a return of 24.2% for the top 10. For the bottom 10, the yield is almost the same at 23.1%. Strange? Not really.
Let’s stop looking at the scoreboard and focus on the playing field. The average W-Scores — provided by wRatings, a market research firm — a measure of the retailer’s competitive strength, is 78.2 in the top 10 and 53.2 in the bottom 10. To put this in perspective, that’s a jump of 1,179 companies in our universe of coverage between the top and bottom 10.
Digging deeper into the W-Scores, I can see three reasons why the top 10 outperforms the rest. First, they are far superior at product availability. Products in-demand are also in-stock. Next is the competency of their service staff. This is not only in-store but also on the web and social media. The retailers are more consistent throughout the customer’s journey. And lastly, the quality/price equation is fully aligned. Customers see the value of doing business with them, even if that may mean paying more.
The end result is that the top 10 grew revenue by 11.0% and profits by 13.1% over one year, whereas the bottom 10 shrunk their revenue by -2.0% and profits by -0.6%. Rather than focusing on the playing field where Specialty Retailers really win or lose, most investors remain glued to their scoreboards of stock prices.