EXPERIENCE · 04 · MOKARRAR INDUSTRIAL GROUP

DATA ANALYST

Data Analyst at Mokarrar Industrial Group. I built a model that predicts when each customer will buy next, scored and segmented the customer base so sales could run a different strategy for each group, delivered it all in Power BI dashboards, and wrote a live final-cost calculator that lets R&D price a product design in a fraction of a second.

JUL 2021 → SEP 2023PART-TIMETEHRAN PROVINCE, IRAN
SCROLL TO ENTER ↓
01  THE ROLE

Two teams, one question: what happens next?

Sales needed to know when each customer would order again and how to treat them. R&D needed to know what a product would really cost to make, today, not last month.

The customer base was anything but uniform: more than 150 customers buying from a catalogue of more than 80 products, some ordering twice a week and others once a month, with single orders ranging from 10 kilograms to a full container. Averages hide all of that. My job was to model each customer individually, turn the result into something the sales specialists could act on every day, and give R&D a cost figure they could trust in a market where prices move constantly.

PURCHASE-FREQUENCY MODELCUSTOMER SCORINGPOWER BILIVE COST MODEL
THE SCALE OF THE PROBLEM
150+customers
80+products
2× / week → 1× / monthpurchase frequency
10 kg → containerorder size
  1. PredictA purchase-frequency model forecasting each customer's next order.
  2. Score & segmentCustomers grouped by buying pattern and volume, with a strategy per group.
  3. DeliverPower BI dashboards for sales: forecasts, sales data and sales trends.
  4. PriceAn online final-cost calculator and dashboard for R&D.
02  LIVE · PURCHASE-FREQUENCY ANALYSIS

When will this customer order again?

Every customer has a rhythm. Learn it from their order history and you can predict their next purchase, and notice when they miss it.

The model learns each customer's interval between orders and how much that interval varies, weighting recent behaviour more heavily, and forecasts a window for the next purchase along with its likely size. The panel replays four representative customer types across the real range of the business, from twice-a-week buyers to monthly container orders. Watch each forecast window open after an order, and see whether the next real order lands inside it. When a customer passes the end of their window without ordering, they are overdue, which is exactly the moment a sales specialist should call.

Synthetic order histories with the company's real frequency and volume ranges. Not customer data.

INTER-PURCHASE INTERVALSFORECAST WINDOWOVERDUE ALERTS
LIVE · NEXT-PURCHASE FORECAST
CUSTOMER
typical interval–
next order–
expected size–
orders in window–
03  LIVE · CUSTOMER SCORING & SEGMENTATION

A different plan for every kind of customer

One sales strategy for 150 very different customers fits none of them. So the model scored every customer and sorted them into groups that behave alike.

The score combines how often a customer buys, how much they buy, and whether they are buying on their usual rhythm or drifting past it. Customers with similar scores and patterns form a segment, and each segment got its own programme and strategy. The panel lays out a representative customer base by order frequency and monthly volume, both on log scales because the range is so wide. Pick a segment to highlight it and read the kind of plan it called for.

Synthetic customers within the real ranges; segment strategies shown as typical examples.

CUSTOMER SCORESEGMENTATIONSTRATEGY PER SEGMENT
LIVE · 150 CUSTOMERS, SCORED
04  DELIVERY · POWER BI FOR THE SALES TEAM

A forecast is only useful where the work happens

The sales specialists did not need a model. They needed to open one screen in the morning and know who to call.

I built Power BI dashboards that put the model's output next to the data the team already relied on: each customer's predicted next purchase and expected size, their score and segment, who is overdue, and the full sales data with its trends over time. The same data model fed every view, so a number in one report always matched the same number in another.

POWER BIDATA MODELSALES TRENDS
WHAT THE SALES DASHBOARD ANSWERED
  1. Who orders next?Predicted next-purchase date and size for every customer.
  2. Who is overdue?Customers past their window, ranked for a call.
  3. Who is who?Score and segment, with the strategy that applies.
  4. How are we doing?Sales data and trends by customer, product and period.
05  LIVE · FINAL-COST CALCULATOR FOR R&D

The price list was already out of date

A product's final cost is the sum of its raw materials at today's prices. In a market as volatile as Iran's, those prices change so often and so sharply that a published price list cannot be trusted.

For R&D this matters twice. Cost reduction is a real competitive advantage, so every new formulation has to be judged on what it will actually cost to make. We wrote an online calculator and dashboard that takes a product's bill of materials, pulls the current price of every input, and returns the final cost in a fraction of a second. The panel shows the idea: input prices move live, the final cost follows them, and the stale price-list estimate drifts further from reality. Move the formulation slider to substitute a cheaper input and see the saving instantly, which is how the team evaluated a design before committing to it.

Generic bill of materials and simulated price movements, shown as a cost index. Not company prices.

LIVE PRICESBILL OF MATERIALSCOST REDUCTIONR&D DASHBOARD
LIVE · FINAL COST OF ONE PRODUCT
SUBSTITUTE A → B0 %
final cost–
price-list est.–
design saving–
compute time–
06  LIVE · ENGINEERING DATA

Hear the machine fail before it does

On the engineering side I also worked with vibration and fatigue data, building models that flag a developing fault early enough to plan the maintenance.

A developing defect adds small impacts to the vibration signal, first barely visible, then growing. Each day the signal is reduced to features, RMS and kurtosis, and once the trend starts to climb an exponential fit is extrapolated to the alarm level, which gives a forecast failure day. Alongside this I automated repetitive engineering workflows with Python and SQL, cutting R&D testing time by up to 70%.

Synthetic signals generated in the page, to show the method. Not company data.

CONDITION MONITORINGFEATURE EXTRACTIONPYTHON · SQL AUTOMATION
LIVE · VIBRATION → FEATURES → FORECAST
day0
RMS–
kurtosis–
forecast–
07  WHAT THE ROLE TOOK

Hard skills to build it, soft skills to make it used

A model nobody in sales opens, or a cost figure R&D does not trust, is wasted work. The role needed both halves.

// HARD SKILLS

  • Python · pandas · scikit-learnCleaning order histories, feature engineering, modelling.
  • Purchase-interval modellingPer-customer frequency analysis and next-purchase forecasting.
  • Scoring & segmentationFrequency, volume and recency combined into one score and segments.
  • SQLQuerying and joining sales, product and cost data.
  • Power BIData modelling, measures and dashboard design for daily use.
  • Cost modellingBill-of-materials costing on live input prices.
  • Statistics & linear algebraThe maths under the models and the features.

// SOFT SKILLS

  • Translating questions into modelsTurning "who should we call?" and "what will this cost?" into something computable.
  • Working with salesLearning how specialists actually work, then fitting the dashboard to that.
  • Working with R&DBuilding a tool engineers trust enough to make design decisions with.
  • Data storytellingShowing a forecast so its uncertainty is clear, not hidden.
  • OwnershipFrom raw data to a tool in daily use, end to end.
·  THE THROUGH-LINE

Data first, then physics in the loop

Forecasting customers and pricing products taught me how much a well-built model can change daily decisions, and where purely data-driven models stop. That is what pushed me toward models that also respect the physics, which is the work I lead now.