Sales, accounting, and third-party customer data in service-based franchises, such as restaurants and car washes, exist in disparate systems. Site managers and decision makers manually unify this data to gain actionable insights. The process becomes lengthy, highly inaccurate, and demands high labor costs. We launched a platform that reconciles data from point of sale (POS) systems and accounting systems for financial and operational oversight and insights.
Franchisees are often operated as small businesses, sometimes with multiple units. In fact, 54% of all franchises are multi-unit operations, with 43,212 multi-unit operators controlling more than 223,213 franchise units in the U.S. More specifically, 90% of car washes are small businesses. It isn’t feasible for operators to build such solutions in-house. Therefore, chains (restaurants, car washes, supermarkets) have an opportunity to empower their operators and teams with better insights using a data unification and business intelligence solution like this one.
According to Gartner, data silos cost companies up to $15M every year
For franchisee operators, a disconnect between POS and accounting systems increases manual interventions and delays insight realizations. This leads to increased operational costs and sometimes financial losses. With artificial intelligence (AI) and large language models (LLMs) leading the way for organizations worldwide, chains cannot afford these kinds of silos and delays.
Zemoso collaborates with Chief Technology Offices (CTO) and Chief Product Offices (CPO) to build and launch the data unification and business intelligence platform, -1 to 1. In this early-stage initiative, our customer aligned on what the solution should do, developed the product/feature roadmap, and gained early customer commitment. Most fundamentally, we helped them gain alignment across the business problem, user problem, and solution, quickly and iteratively.
Our clients love what we do:
The customer started this journey with “Connect the Dots”, a unique program designed for CPOs and innovation leaders to visualize the product's end success state in two weeks with a design prototype. After that, the product and engineering team delivered a product roadmap for minimum viable product (MVP), architecture decision records (ADRs), and a technology proof of concept (POC) in about six weeks. Our customer started early testing with prospects and partners using the design and tech POCs. As a result, they quickly garnered business confidence and traction, moving into MVP deployment and expansion.
The product operates as a platform that integrates and pulls data from multiple POS systems, such as Merchant One, Sonny’s and DRB, and accounting software, such as Quickbooks and Netsuite. The connections expose data from these systems to complete analysis and surface insights. The core workflow is enabled by Apache Airflow and https://aws.amazon.com/step-functions/AWS Step Functions.
One of the core requirements for our customer was to build a solution that anyone could use, even someone with no technical knowledge or even partial business knowledge. The intuitive frontend was developed using React. Zustand handles state management, and Material UI Library and Tailwind CSS handle styling. The detailed dashboards surface near real-time insights for 30+ key performance indicators (KPIs), giving site managers and operational managers of different units visibility over transactions, labor costs, labor costs per hour, and more. This data can easily be sliced, diced, and analyzed by locations, different times, and other factors. Plotly generates the graphs, while Amazon Redshift and Python run the analytics workflow.
Whether you are exposing POS or accounting team data via an Application Programming Interface (API), or batch transfers from a database, an automated rules engine analyzes, maps, and organizes the data to ensure cohesiveness within the platform. Apache Airflow handles the entire extract, transform, load (ETL) workflow with scheduled jobs running at regular intervals (e.g., every half hour or every three hours) to sync data between client and server systems. The backfill process pulls historical data using an inbuilt feature in Airflow. A Python-based rules engine classifies transactions (e.g., identifying new membership sales).
Amazon Redshift stores and manages the sales and accounting data. It provides a powerful tool to run aggregation queries and scales easily. We used their multi-tenant storage pattern, specifically the bridge model, to store each customer’s data in individual schemas within a single database. This centralized the ETL workflow and ensured data privacy without duplicating resources. PostgreSQL manages users and their operational data.
Amazon SQS and Apache Kafka enable real-time synchronization. SQS provides flexibility for timely updates to POS data, while Kafka handles event-driven synchronization for continuous data flow. Synchronization schedules were tailored to customer needs, with a default frequency of once per hour.
Data integrations and workflows sometimes depended on specific automations that enabled batch processing and such, and we built Sentry into the platform to ensure alerts for job failures were caught. Karate and Postman automate API testing, and Cypress handles UI testing. GitHub Actions are used for Continuous Integration/Continuous Development (CI/CD). We used Elastic Beanstalk for APIs for easy deployment and management. FastAPI bridges the backend and frontend, streamlining data flow.
An agile engineering, design, and product team collaborated closely with the customer’s internal team, self-organizing on priorities and staying accountable for iterative, accelerated delivery. By leveraging a mix of near-shore and off-shore resources, we provided round-the-clock support, enabling our customer to launch much faster. To learn more about our Connect the Dots program or our engagement models, please fill out our form here.
P.S. We have strict Non-disclosure agreements (NDAs) with many of our clients. The data, insights, and capabilities discussed in this case study have been anonymized to protect our client’s identity and don’t include any proprietary information.
©2024 Zemoso Technologies. All rights reserved.