\r\n \r\n\"Because of our business model which relies strongly on sales consultants’ activity and is very much driven by end-of-month sales, managing inventory and SKUs is absolutely critical to us, particularly as we transition seasons,\" explained Mike Mausteller, director of planning and merchandise control at Thirty-One Gifts. \"We need to better align our inventory strategies with demand to avoid backorders and additional air freight charges. The TXT Integrated Retail Planning solution is helping us achieve ideal inventory management and optimized product availability.\" \r\n \r\nPrior to the TXT implementation, the retailer relied on spreadsheets with planning executed at month and style level. Now, with the support of the software, users plan at a finer style, color or size level and with a weekly outlook. The solution also provides performance management and dashboards, which ensure greater transparency across the business, and ultimately support more accurate data-based decisions. \r\n \r\n\"The full planning team is using TXT and they really like the system. The solution has helped standardize the process, with everyone working and thinking in a coordinated fashion,\" noted Mausteller. \"We chose TXT for their ability to support retail planning from end-to-end, as well as for the flexibility of the solution which is able to adapt to our growing business. Adoption among users has proven extremely smooth.\""}]}};
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);
}
})();
Thirty-One Gifts Optimizes Product Availability with TXT Maple Lake
Thirty-One Gifts Optimizes Product Availability with TXT Maple Lake To better manage its in-season planning professes such as inventory management and open-to-buy, Thirty-One Gifts, a direct-selling company, has rolled out an
Integrated Retail Planning solution from
TXT Maple Lake .
"Because of our business model which relies strongly on sales consultants’ activity and is very much driven by end-of-month sales, managing inventory and SKUs is absolutely critical to us, particularly as we transition seasons," explained Mike Mausteller, director of planning and merchandise control at Thirty-One Gifts. "We need to better align our inventory strategies with demand to avoid backorders and additional air freight charges. The TXT Integrated Retail Planning solution is helping us achieve ideal inventory management and optimized product availability."
Prior to the TXT implementation, the retailer relied on spreadsheets with planning executed at month and style level. Now, with the support of the software, users plan at a finer style, color or size level and with a weekly outlook. The solution also provides performance management and dashboards, which ensure greater transparency across the business, and ultimately support more accurate data-based decisions.
"The full planning team is using TXT and they really like the system. The solution has helped standardize the process, with everyone working and thinking in a coordinated fashion," noted Mausteller. "We chose TXT for their ability to support retail planning from end-to-end, as well as for the flexibility of the solution which is able to adapt to our growing business. Adoption among users has proven extremely smooth."
X
This ad will auto-close in 10 seconds