<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Business Analytics &#8211; Customer Experience Management</title>
	<atom:link href="https://mietwood.com/tag/business-analytics/feed" rel="self" type="application/rss+xml" />
	<link>https://mietwood.com</link>
	<description>Customer Experience Can Be Managed</description>
	<lastBuildDate>Tue, 31 Mar 2026 17:18:42 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://mietwood.com/wp-content/uploads/2022/09/cropped-Fav7-32x32.png</url>
	<title>Business Analytics &#8211; Customer Experience Management</title>
	<link>https://mietwood.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>15 Essential SQL Tips You Can&#8217;t Live Without</title>
		<link>https://mietwood.com/sql-tips</link>
					<comments>https://mietwood.com/sql-tips#comments</comments>
		
		<dc:creator><![CDATA[Maki Pa]]></dc:creator>
		<pubDate>Sat, 11 Oct 2025 15:54:17 +0000</pubDate>
				<category><![CDATA[Data Science]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Business Analytics]]></category>
		<category><![CDATA[data science]]></category>
		<guid isPermaLink="false">https://mietwood.com/?p=3353</guid>

					<description><![CDATA[<p>Whether you&#8217;re optimizing performance or simplifying your queries, these SQL tips from mietwood.com will help you write cleaner, faster, and more efficient code. SQL is the backbone of data-driven decision-making, and mastering it can dramatically improve how you interact with databases. Whether you&#8217;re a seasoned developer or just starting out, writing efficient, readable, and scalable...</p>
<p>The post <a rel="nofollow" href="https://mietwood.com/sql-tips">15 Essential SQL Tips You Can&#8217;t Live Without</a> appeared first on <a rel="nofollow" href="https://mietwood.com">Customer Experience Management</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Whether you&#8217;re optimizing performance or simplifying your queries, these SQL tips from <a href="https://mietwood.com/10-tips-how-to-make-sql-lighter" target="_blank" rel="noreferrer noopener">mietwood.com</a> will help you write cleaner, faster, and more efficient code.</p>



<p>SQL is the backbone of data-driven decision-making, and mastering it can dramatically improve how you interact with databases. Whether you&#8217;re a seasoned developer or just starting out, writing efficient, readable, and scalable SQL queries is a skill that pays off daily. In this post, I’ve compiled ten essential tips that will help you write smarter SQL—tips that I’ve learned, refined, and shared over time. These aren’t just theoretical best practices; they’re practical techniques that can make your queries faster, your code cleaner, and your debugging easier.</p>



<p>You can try Microsoft SQL Server from here: <a href="https://www.microsoft.com/pl-pl/sql-server/sql-server-downloads" target="_blank" rel="noopener">https://www.microsoft.com/pl-pl/sql-server/sql-server-downloads</a>. And developer edition is <a href="https://go.microsoft.com/fwlink/p/?linkid=2215158&amp;clcid=0x415&amp;culture=pl-pl&amp;country=pl" target="_blank" rel="noopener">here</a> </p>



<p>From avoiding <code>SELECT *</code> to choosing the right join types, each tip is designed to help you think critically about how your queries perform and how they scale. You’ll also learn how to use indexes effectively, filter data early, and make smart choices between <code>EXISTS</code> and <code>IN</code>. Each section includes a short summary and a link to a full post where you can dive deeper into the topic. Whether you&#8217;re optimizing a legacy system or building something new, these tips will help you get the most out of SQL—and avoid common pitfalls that slow down your work.</p>



<h3 class="wp-block-heading"><strong>Select Only What You Need</strong>, SQL Tips no 1</h3>



<p>Avoid <code>SELECT *</code> and specify only the columns you need. This reduces data transfer, memory usage, and improves query speed. For example, instead of pulling all employee data, just select <code>employee_id</code>, <code>first_name</code>, and <code>last_name</code>.  <a href="https://mietwood.com/10-tips-how-to-make-sql-lighter" target="_blank" rel="noreferrer noopener">Read more</a></p>



<h3 class="wp-block-heading" id="1optimizejoinconditionsforperformance"><strong>Optimize Join Conditions for Performance</strong></h3>



<p>Avoid non-SARGable joins that prevent index usage. Instead of applying functions to columns in join conditions, restructure the logic to preserve index efficiency. This dramatically improves query speed. <a href="https://mietwood.com/query-optimization-with-join-condition">Read the full guide</a></p>



<h3 class="wp-block-heading" id="2usethepivotoperatorforbetterreporting"><strong>Use the PIVOT Operator for Better Reporting</strong></h3>



<p>Transform row-based data into columnar format using <code>PIVOT</code>. This is ideal for cross-tab reports and trend analysis, especially when comparing metrics across time or categories. <a href="https://mietwood.com/the-pivot-operator-in-sql">Explore the PIVOT tutorial</a></p>



<h3 class="wp-block-heading" id="3masterrecursivectesforhierarchicaldata"><strong>Master Recursive CTEs for Hierarchical Data</strong></h3>



<p>Recursive Common Table Expressions (CTEs) allow you to elegantly query hierarchical or tree-structured data. They’re powerful for tasks like organizational charts or category trees. <a href="https://mietwood.com/blog">Learn about recursive CTEs</a></p>



<h3 class="wp-block-heading" id="4setthefirstdayoftheweekwithdatefirst"><strong>Set the First Day of the Week with DATEFIRST</strong></h3>



<p>Use <code>SET DATEFIRST</code> to control how SQL Server interprets weekday numbers. This is crucial for accurate time-based reporting and week-based aggregations. <a href="https://mietwood.com/category/sql">See how to use DATEFIRST</a></p>



<h3 class="wp-block-heading" id="5updatemultipletableswithconditions"><strong>Update Multiple Tables with Conditions</strong></h3>



<p>Learn how to structure multi-table updates using joins and conditional logic. This technique is essential for synchronizing data across related tables. <a href="https://mietwood.com/category/sql">Read the multi-table update example</a></p>



<h3 class="wp-block-heading" id="7filterearlywithwhereclauses"><strong>Filter Early with WHERE Clauses</strong></h3>



<p>Apply filters as early as possible to reduce the number of rows processed in joins and aggregations. <a href="https://mietwood.com/10-tips-how-to-make-sql-lighter">Optimize your filtering</a></p>



<h3 class="wp-block-heading" id="8useunionallinsteadofunion"><strong>Use UNION ALL Instead of UNION</strong></h3>



<p><code>UNION ALL</code> is faster than <code>UNION</code> because it skips duplicate elimination. Use it when duplicates aren’t a concern. <a href="https://mietwood.com/10-tips-how-to-make-sql-lighter">Performance tip explained</a></p>



<h3 class="wp-block-heading" id="9avoidfunctionsonindexedcolumns"><strong>Avoid Functions on Indexed Columns</strong></h3>



<p>Using functions like <code>LOWER()</code> or <code>DATEADD()</code> on indexed columns disables index usage. Rewrite conditions to preserve index paths. <a href="https://mietwood.com/query-optimization-with-join-condition">Join optimization example</a></p>



<h3 class="wp-block-heading" id="10exploresqlforbusinessanalytics"><strong>Explore SQL for Business Analytics</strong></h3>



<p>Advanced SQL techniques like statistical analysis, predictive modeling, and time series forecasting are essential for business analysts. Learn how to combine SQL with Python for deeper insights. <a href="https://mietwood.com/advanced-programming-in-sql-and-python">Check out the full course</a></p>



<h2 class="wp-block-heading"><strong>5 additional SQL tips</strong></h2>



<h3 class="wp-block-heading"><strong>Use CTEs for Readability and Reuse</strong></h3>



<p>Common Table Expressions (CTEs) make complex queries easier to read and maintain. They allow you to define temporary result sets that can be referenced multiple times. SQL Tips</p>



<pre class="wp-block-code"><code>WITH recentorders AS (
  SELECT customerid, orderdate
  FROM orders
  WHERE orderdate > CURRENTDATE - INTERVAL '30 days'
)
SELECT customerid, COUNT(*) AS ordercount
FROM recentorders
GROUP BY customer_id;</code></pre>



<h3 class="wp-block-heading" id="12avoidfunctionsonindexedcolumns"><strong>Avoid Functions on Indexed Columns</strong></h3>



<p>Using functions on indexed columns disables index usage, slowing down queries. Instead, transform the value before comparison. SQL Tips</p>



<pre class="wp-block-code"><code>-- Avoid
SELECT FROM users WHERE LOWER(email) = 'test@example.com';
-- Better
SELECT FROM users WHERE email = 'test@example.com';</code></pre>



<h3 class="wp-block-heading" id="13usecaseforconditionallogic"><strong>Use CASE for Conditional Logic</strong></h3>



<p><code>CASE</code> lets you embed conditional logic directly in your queries, useful for categorizing or transforming data.</p>



<pre class="wp-block-code"><code>SELECT name,
  CASE
    WHEN score >= 90 THEN 'Excellent'
    WHEN score >= 75 THEN 'Good'
    ELSE 'Needs Improvement'
  END AS performance
FROM students;</code></pre>



<h3 class="wp-block-heading" id="14optimizeaggregationswithgroupby"><strong>Optimize Aggregations with GROUP BY</strong></h3>



<p>When aggregating data, ensure you&#8217;re grouping only necessary columns to avoid performance hits and incorrect results.</p>



<pre class="wp-block-code"><code>SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department;</code></pre>



<h3 class="wp-block-heading" id="15useparameterizedqueriestopreventsqlinjection"><strong>Use Parameterized Queries to Prevent SQL Injection</strong></h3>



<p>Always use parameterized queries in application code to protect against SQL injection.</p>



<pre class="wp-block-code"><code>-- Example in Python with psycopg2
cursor.execute("SELECT * FROM users WHERE username = %s", (username,))</code></pre>



<h2 class="wp-block-heading">Remember &#8211; tips summary</h2>



<h3 class="wp-block-heading"><strong>Use Joins Efficiently</strong></h3>



<p>Choose the right join type—<code>INNER JOIN</code> for matched rows, and avoid <code>CROSS JOIN</code> unless necessary. Efficient joins reduce unnecessary data processing and improve clarity.</p>



<h3 class="wp-block-heading"><strong>Filter Data Early</strong></h3>



<p>Apply filters as soon as possible in your query using <code>WHERE</code> clauses. This minimizes the number of rows processed in joins and aggregations, leading to faster execution. SQL Tips no 3</p>



<h3 class="wp-block-heading"><strong>Use Indexes Wisely</strong></h3>



<p>Indexes speed up data retrieval, especially in <code>WHERE</code>, <code>JOIN</code>, and <code>ORDER BY</code> clauses. But don’t over-index—too many can slow down <code>INSERT</code>, <code>UPDATE</code>, and <code>DELETE</code> operations.</p>



<h3 class="wp-block-heading"><strong>Avoid Subqueries in WHERE Clauses</strong></h3>



<p>Correlated subqueries can be slow. Replace them with joins when possible to improve performance and readability. SQL Tips no 4</p>



<h3 class="wp-block-heading"><strong>Use UNION ALL Instead of UNION</strong></h3>



<p><code>UNION</code> removes duplicates, which is costly. If duplicates aren’t a concern, use <code>UNION ALL</code> for faster results.</p>



<h3 class="wp-block-heading"><strong>Limit Your Results</strong></h3>



<p>Use <code>LIMIT</code> or <code>TOP</code> to restrict the number of rows returned. This is especially useful for pagination or sampling large datasets.</p>



<h3 class="wp-block-heading"><strong>Be Cautious with LIKE and Functions</strong></h3>



<p>Avoid leading wildcards in <code>LIKE</code> and functions in <code>WHERE</code> clauses—they prevent index usage. Instead, use indexed columns and consistent casing.</p>



<h3 class="wp-block-heading"><strong>Use EXISTS Instead of IN</strong></h3>



<p><code>EXISTS</code> is often faster than <code>IN</code> because it stops scanning once a match is found. Use it for subqueries checking row existence.</p>



<h3 class="wp-block-heading"><strong>Use Appropriate Data Types</strong></h3>



<p>Choosing the right data type—like <code>TINYINT</code> over <code>INT</code> or <code>CHAR</code> over <code>VARCHAR</code>—can save space and improve performance.</p>



<h2 class="wp-block-heading">SQL Server Management Studio</h2>



<p><strong>SSMS as a Comprehensive SQL Environment</strong><br>SQL Server Management Studio (<a href="https://learn.microsoft.com/en-us/ssms/" target="_blank" rel="noopener">https://learn.microsoft.com/en-us/ssms/</a>) is a powerful, integrated environment for managing SQL Server infrastructure. It provides tools for writing, executing, and debugging SQL queries, as well as managing databases, tables, views, and stored procedures. SSMS supports both on-premises and cloud-based SQL Server instances, making it versatile for hybrid environments. Its intuitive interface includes Object Explorer for navigating server components and Query Editor for crafting and testing SQL scripts. Whether you&#8217;re a database administrator or developer, SSMS offers a unified workspace that streamlines daily tasks and enhances productivity through built-in templates, syntax highlighting, and error diagnostics.</p>



<p><strong>Security, Performance, and Monitoring Tools</strong><br>SSMS includes robust features for security management, such as configuring roles, permissions, and auditing access. It also provides performance tuning tools like the Database Engine Tuning Advisor and graphical execution plans to help identify bottlenecks. With Activity Monitor, users can track real-time server performance, view active sessions, and analyze resource usage. These tools empower teams to maintain optimal database health and ensure compliance with organizational policies. SSMS also integrates with SQL Server Agent for scheduling jobs and alerts, making it a central hub for automation and proactive monitoring across enterprise environments.</p>



<p><strong>Integration, Extensibility, and Collaboration</strong><br>SSMS supports integration with source control systems like Git, enabling versioning and collaborative development. It allows exporting and importing data via wizards, scripting database objects, and generating reports for documentation. Users can extend SSMS functionality through add-ins and connect to Azure services for cloud-based analytics and storage. Its support for multiple query windows and tabbed editing enhances multitasking, while customizable keyboard shortcuts and themes improve user experience. SSMS continues to evolve with regular updates, ensuring compatibility with the latest SQL Server features and providing a stable platform for modern data operations.</p>
<p>The post <a rel="nofollow" href="https://mietwood.com/sql-tips">15 Essential SQL Tips You Can&#8217;t Live Without</a> appeared first on <a rel="nofollow" href="https://mietwood.com">Customer Experience Management</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mietwood.com/sql-tips/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Career Path of a Business Analyst in Business and ICT</title>
		<link>https://mietwood.com/career-path-of-a-business-analyst-in-business-and-ict</link>
					<comments>https://mietwood.com/career-path-of-a-business-analyst-in-business-and-ict#comments</comments>
		
		<dc:creator><![CDATA[Maki Pa]]></dc:creator>
		<pubDate>Wed, 25 Jun 2025 17:10:29 +0000</pubDate>
				<category><![CDATA[Data Science]]></category>
		<category><![CDATA[Erasmus]]></category>
		<category><![CDATA[Business Analytics]]></category>
		<guid isPermaLink="false">https://mietwood.com/?p=3020</guid>

					<description><![CDATA[<p>Exploring the Career Path of a Business Analyst in Business and ICT In today&#8217;s rapidly evolving business landscape, the role of a Business Analyst (BA) has become indispensable. As organizations increasingly rely on data to drive their decisions, the need for professionals who can bridge the gap between business objectives and technological solutions is more...</p>
<p>The post <a rel="nofollow" href="https://mietwood.com/career-path-of-a-business-analyst-in-business-and-ict">Career Path of a Business Analyst in Business and ICT</a> appeared first on <a rel="nofollow" href="https://mietwood.com">Customer Experience Management</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><strong>Exploring the Career Path of a Business Analyst in Business and ICT</strong></p>



<p>In today&#8217;s rapidly evolving business landscape, the role of a Business Analyst (BA) has become indispensable. As organizations increasingly rely on data to drive their decisions, the need for professionals who can bridge the gap between business objectives and technological solutions is more critical than ever. This blog post delves into the career path of a Business Analyst, highlighting the key responsibilities, required skills, and the evolving job market trends in the field of Business and Information and Communication Technology (ICT).</p>





<h3 class="wp-block-heading">Understanding Business Analytics</h3>



<p>Business analytics is the practice of using data to drive business decisions. It involves a systematic approach to extracting, transforming, and analyzing data to uncover insights that can inform strategic and operational decisions. The field encompasses various types of analytics, including:</p>



<ol class="wp-block-list">
<li><strong>Descriptive Analytics</strong>: This involves examining historical data to understand past events and trends. It answers the question, &#8220;What happened?&#8221; and helps in creating dashboards and reports that provide a clear overview of past performance.</li>



<li><strong>Diagnostic Analytics</strong>: This type digs deeper to understand the reasons behind past events. It answers the question, &#8220;Why did it happen?&#8221; by identifying the root causes of specific outcomes.</li>



<li><strong>Predictive Analytics</strong>: This involves forecasting future events or trends based on historical data. It answers the question, &#8220;What is likely to happen?&#8221; and is essential for proactive decision-making.</li>



<li><strong>Prescriptive Analytics</strong>: This goes beyond predicting future events and offers recommendations for actions that will achieve specific outcomes. It answers the question, &#8220;What should we do?&#8221;</li>
</ol>


<div class="kb-gallery-wrap-id-3020_1b1cfc-9b alignnone wp-block-kadence-advancedgallery"><ul class="kb-gallery-ul kb-gallery-non-static kb-gallery-type-masonry kb-masonry-init kb-gallery-id-3020_1b1cfc-9b kb-gallery-caption-style-bottom-hover kb-gallery-filter-none" data-image-filter="none" data-item-selector=".kadence-blocks-gallery-item" data-lightbox-caption="true" data-columns-xxl="3" data-columns-xl="3" data-columns-md="3" data-columns-sm="2" data-columns-xs="1" data-columns-ss="1"><li class="kadence-blocks-gallery-item" tabindex="0"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kadence-blocks-gallery-item-hide-caption"><div class="kb-gal-image-radius" style="max-width:1024px;"><div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic" style="padding-bottom:75%;"><img fetchpriority="high" decoding="async" src="https://mietwood.com/wp-content/uploads/2025/06/LUSE3200.jpg" width="1024" height="768" alt="" data-full-image="https://mietwood.com/wp-content/uploads/2025/06/LUSE3200.jpg" data-light-image="https://mietwood.com/wp-content/uploads/2025/06/LUSE3200.jpg" data-id="3044" class="wp-image-3044" srcset="https://mietwood.com/wp-content/uploads/2025/06/LUSE3200.jpg 1024w, https://mietwood.com/wp-content/uploads/2025/06/LUSE3200-300x225.jpg 300w, https://mietwood.com/wp-content/uploads/2025/06/LUSE3200-768x576.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></div></div></figure></div></li><li class="kadence-blocks-gallery-item" tabindex="0"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kadence-blocks-gallery-item-hide-caption"><div class="kb-gal-image-radius" style="max-width:1024px;"><div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic" style="padding-bottom:75%;"><img decoding="async" src="https://mietwood.com/wp-content/uploads/2025/06/IMG_0515.jpg" width="1024" height="768" alt="" data-full-image="https://mietwood.com/wp-content/uploads/2025/06/IMG_0515.jpg" data-light-image="https://mietwood.com/wp-content/uploads/2025/06/IMG_0515.jpg" data-id="3046" class="wp-image-3046" srcset="https://mietwood.com/wp-content/uploads/2025/06/IMG_0515.jpg 1024w, https://mietwood.com/wp-content/uploads/2025/06/IMG_0515-300x225.jpg 300w, https://mietwood.com/wp-content/uploads/2025/06/IMG_0515-768x576.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></div></div></figure></div></li><li class="kadence-blocks-gallery-item" tabindex="0"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kadence-blocks-gallery-item-hide-caption"><div class="kb-gal-image-radius" style="max-width:1008px;"><div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic" style="padding-bottom:75%;"><img decoding="async" src="https://mietwood.com/wp-content/uploads/2025/06/HSXP6308.jpg" width="1008" height="756" alt="" data-full-image="https://mietwood.com/wp-content/uploads/2025/06/HSXP6308.jpg" data-light-image="https://mietwood.com/wp-content/uploads/2025/06/HSXP6308.jpg" data-id="3048" class="wp-image-3048" srcset="https://mietwood.com/wp-content/uploads/2025/06/HSXP6308.jpg 1008w, https://mietwood.com/wp-content/uploads/2025/06/HSXP6308-300x225.jpg 300w, https://mietwood.com/wp-content/uploads/2025/06/HSXP6308-768x576.jpg 768w" sizes="(max-width: 1008px) 100vw, 1008px" /></div></div></figure></div></li><li class="kadence-blocks-gallery-item" tabindex="0"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kadence-blocks-gallery-item-hide-caption"><div class="kb-gal-image-radius" style="max-width:768px;"><div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic" style="padding-bottom:133%;"><img loading="lazy" decoding="async" src="https://mietwood.com/wp-content/uploads/2025/06/AEBI6408.jpg" width="768" height="1024" alt="" data-full-image="https://mietwood.com/wp-content/uploads/2025/06/AEBI6408.jpg" data-light-image="https://mietwood.com/wp-content/uploads/2025/06/AEBI6408.jpg" data-id="3049" class="wp-image-3049" srcset="https://mietwood.com/wp-content/uploads/2025/06/AEBI6408.jpg 768w, https://mietwood.com/wp-content/uploads/2025/06/AEBI6408-225x300.jpg 225w" sizes="auto, (max-width: 768px) 100vw, 768px" /></div></div></figure></div></li><li class="kadence-blocks-gallery-item" tabindex="0"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kadence-blocks-gallery-item-hide-caption"><div class="kb-gal-image-radius" style="max-width:1024px;"><div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic" style="padding-bottom:75%;"><img loading="lazy" decoding="async" src="https://mietwood.com/wp-content/uploads/2025/06/IMG_0458.jpg" width="1024" height="768" alt="" data-full-image="https://mietwood.com/wp-content/uploads/2025/06/IMG_0458.jpg" data-light-image="https://mietwood.com/wp-content/uploads/2025/06/IMG_0458.jpg" data-id="3050" class="wp-image-3050" srcset="https://mietwood.com/wp-content/uploads/2025/06/IMG_0458.jpg 1024w, https://mietwood.com/wp-content/uploads/2025/06/IMG_0458-300x225.jpg 300w, https://mietwood.com/wp-content/uploads/2025/06/IMG_0458-768x576.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></div></div></figure></div></li><li class="kadence-blocks-gallery-item" tabindex="0"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kadence-blocks-gallery-item-hide-caption"><div class="kb-gal-image-radius" style="max-width:1024px;"><div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic" style="padding-bottom:75%;"><img loading="lazy" decoding="async" src="https://mietwood.com/wp-content/uploads/2025/06/IMG_0461-2.jpg" width="1024" height="768" alt="" data-full-image="https://mietwood.com/wp-content/uploads/2025/06/IMG_0461-2.jpg" data-light-image="https://mietwood.com/wp-content/uploads/2025/06/IMG_0461-2.jpg" data-id="3051" class="wp-image-3051" srcset="https://mietwood.com/wp-content/uploads/2025/06/IMG_0461-2.jpg 1024w, https://mietwood.com/wp-content/uploads/2025/06/IMG_0461-2-300x225.jpg 300w, https://mietwood.com/wp-content/uploads/2025/06/IMG_0461-2-768x576.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></div></div></figure></div></li><li class="kadence-blocks-gallery-item" tabindex="0"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kadence-blocks-gallery-item-hide-caption"><div class="kb-gal-image-radius" style="max-width:1008px;"><div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic" style="padding-bottom:75%;"><img loading="lazy" decoding="async" src="https://mietwood.com/wp-content/uploads/2025/06/KORG9639.jpg" width="1008" height="756" alt="" data-full-image="https://mietwood.com/wp-content/uploads/2025/06/KORG9639.jpg" data-light-image="https://mietwood.com/wp-content/uploads/2025/06/KORG9639.jpg" data-id="3052" class="wp-image-3052" srcset="https://mietwood.com/wp-content/uploads/2025/06/KORG9639.jpg 1008w, https://mietwood.com/wp-content/uploads/2025/06/KORG9639-300x225.jpg 300w, https://mietwood.com/wp-content/uploads/2025/06/KORG9639-768x576.jpg 768w" sizes="auto, (max-width: 1008px) 100vw, 1008px" /></div></div></figure></div></li><li class="kadence-blocks-gallery-item" tabindex="0"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kadence-blocks-gallery-item-hide-caption"><div class="kb-gal-image-radius" style="max-width:1024px;"><div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic" style="padding-bottom:75%;"><img loading="lazy" decoding="async" src="https://mietwood.com/wp-content/uploads/2025/06/HGEN6770.jpg" width="1024" height="768" alt="" data-full-image="https://mietwood.com/wp-content/uploads/2025/06/HGEN6770.jpg" data-light-image="https://mietwood.com/wp-content/uploads/2025/06/HGEN6770.jpg" data-id="3053" class="wp-image-3053" srcset="https://mietwood.com/wp-content/uploads/2025/06/HGEN6770.jpg 1024w, https://mietwood.com/wp-content/uploads/2025/06/HGEN6770-300x225.jpg 300w, https://mietwood.com/wp-content/uploads/2025/06/HGEN6770-768x576.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></div></div></figure></div></li><li class="kadence-blocks-gallery-item" tabindex="0"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kadence-blocks-gallery-item-hide-caption"><div class="kb-gal-image-radius" style="max-width:768px;"><div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic" style="padding-bottom:133%;"><img loading="lazy" decoding="async" src="https://mietwood.com/wp-content/uploads/2025/06/FYLQ4431.jpg" width="768" height="1024" alt="" data-full-image="https://mietwood.com/wp-content/uploads/2025/06/FYLQ4431.jpg" data-light-image="https://mietwood.com/wp-content/uploads/2025/06/FYLQ4431.jpg" data-id="3054" class="wp-image-3054" srcset="https://mietwood.com/wp-content/uploads/2025/06/FYLQ4431.jpg 768w, https://mietwood.com/wp-content/uploads/2025/06/FYLQ4431-225x300.jpg 225w" sizes="auto, (max-width: 768px) 100vw, 768px" /></div></div></figure></div></li><li class="kadence-blocks-gallery-item" tabindex="0"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kadence-blocks-gallery-item-hide-caption"><div class="kb-gal-image-radius" style="max-width:768px;"><div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic" style="padding-bottom:133%;"><img loading="lazy" decoding="async" src="https://mietwood.com/wp-content/uploads/2025/06/FSNB7642.jpg" width="768" height="1024" alt="" data-full-image="https://mietwood.com/wp-content/uploads/2025/06/FSNB7642.jpg" data-light-image="https://mietwood.com/wp-content/uploads/2025/06/FSNB7642.jpg" data-id="3055" class="wp-image-3055" srcset="https://mietwood.com/wp-content/uploads/2025/06/FSNB7642.jpg 768w, https://mietwood.com/wp-content/uploads/2025/06/FSNB7642-225x300.jpg 225w" sizes="auto, (max-width: 768px) 100vw, 768px" /></div></div></figure></div></li><li class="kadence-blocks-gallery-item" tabindex="0"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kadence-blocks-gallery-item-hide-caption"><div class="kb-gal-image-radius" style="max-width:1008px;"><div class="kb-gallery-image-contain kadence-blocks-gallery-intrinsic" style="padding-bottom:75%;"><img loading="lazy" decoding="async" src="https://mietwood.com/wp-content/uploads/2025/06/KORG9639-1.jpg" width="1008" height="756" alt="" data-full-image="https://mietwood.com/wp-content/uploads/2025/06/KORG9639-1.jpg" data-light-image="https://mietwood.com/wp-content/uploads/2025/06/KORG9639-1.jpg" data-id="3056" class="wp-image-3056" srcset="https://mietwood.com/wp-content/uploads/2025/06/KORG9639-1.jpg 1008w, https://mietwood.com/wp-content/uploads/2025/06/KORG9639-1-300x225.jpg 300w, https://mietwood.com/wp-content/uploads/2025/06/KORG9639-1-768x576.jpg 768w" sizes="auto, (max-width: 1008px) 100vw, 1008px" /></div></div></figure></div></li></ul></div>


<h3 class="wp-block-heading">The Role of a Business Analyst</h3>



<p>A Business Analyst plays a crucial role in leveraging data to drive business success. Their responsibilities typically include:</p>



<ul class="wp-block-list">
<li><strong>Data Collection and Analysis</strong>: Gathering data from various sources, transforming it into a usable format, and analyzing it to uncover insights.</li>



<li><strong>Problem-Solving</strong>: Identifying business problems and opportunities, and using data to propose solutions.</li>



<li><strong>Communication</strong>: Presenting findings and recommendations to stakeholders through reports, dashboards, and presentations.</li>



<li><strong>Collaboration</strong>: Working closely with IT teams, management, and other stakeholders to ensure that data-driven solutions align with business goals.</li>
</ul>



<h3 class="wp-block-heading">Essential Tools and Skills</h3>



<p>To excel as a Business Analyst, one must be proficient in various tools and technologies. Some of the key tools include:</p>



<ul class="wp-block-list">
<li><strong>Data Acquisition and Storage</strong>: Tools like SQL, Excel, and various databases (e.g., MS SQL Server, MySQL, Oracle).</li>



<li><strong>Data Analysis</strong>: Programming languages such as Python, R, and SQL are essential for data manipulation and analysis.</li>



<li><strong>Data Visualization</strong>: Tools like Power BI, Tableau, and Excel are used to create visual representations of data.</li>



<li><strong>Project Management</strong>: Tools like Jira and Confluence help in managing projects and collaborating with teams.</li>
</ul>



<p>In addition to technical skills, a Business Analyst must possess strong analytical thinking, problem-solving abilities, and excellent communication skills.</p>



<h3 class="wp-block-heading">Job Market Trends</h3>



<p>The demand for Business Analysts is on the rise, driven by the increasing importance of data in decision-making processes. According to recent studies, the job market for analysts in Poland has seen significant growth. For instance, the number of job offers for analysts on the Polish job portal pracuj.pl increased from 4,141 in 2023 to 7,730 in 2024-25.</p>



<p>The job titles for analysts vary, with positions ranging from junior analysts to senior experts and managers. The most common job titles include Data Analyst, Business Intelligence Analyst, and Systems Analyst.</p>



<h3 class="wp-block-heading">The Future of Business Analytics</h3>



<p>The future of business analytics looks promising, with advancements in technologies such as artificial intelligence (AI) and machine learning (ML) driving the field forward. Predictive and prescriptive analytics are becoming more sophisticated, enabling businesses to make more accurate forecasts and informed decisions.</p>



<p>In the e-commerce sector, predictive analytics is being used to understand customer behavior, optimize pricing strategies, and improve inventory management. Text analytics, which involves analyzing text data from sources like social media and customer reviews, is also gaining traction, providing valuable insights into market trends and customer preferences.</p>



<h3 class="wp-block-heading">Conclusion</h3>



<p>A career as a Business Analyst offers a dynamic and rewarding path for those interested in the intersection of business and technology. With the right skills and tools, Business Analysts can play a pivotal role in helping organizations navigate the complexities of the modern business landscape. As the demand for data-driven decision-making continues to grow, so too will the opportunities for skilled Business Analysts.</p>



<p>Whether you are just starting your career or looking to advance to a senior position, the field of business analytics offers a wealth of opportunities for growth and development. By staying abreast of the latest trends and continuously honing your skills, you can position yourself for success in this exciting and ever-evolving field.</p>



<h3 class="wp-block-heading">Expanding Your Horizons</h3>



<p>As you embark on or continue your journey as a Business Analyst, consider exploring specialized areas within the field. For instance, text analytics and natural language processing (NLP) are becoming increasingly important as businesses seek to extract insights from vast amounts of textual data. Additionally, understanding the nuances of e-commerce analytics can provide a competitive edge in the retail sector.</p>



<p>Moreover, staying updated with the latest tools and technologies is crucial. Familiarize yourself with advanced data visualization tools like Tableau and Power BI, and enhance your programming skills in languages such as Python and R. These competencies will not only make you more effective in your current role but also open up new career opportunities.</p>



<p>In conclusion, the role of a Business Analyst is multifaceted and ever-evolving. By continuously developing your skills and staying informed about industry trends, you can ensure that you remain a valuable asset to any organization. The future of business analytics is bright, and with the right approach, you can carve out a successful and fulfilling career in this dynamic field.</p>



<figure class="wp-block-video"><video height="480" style="aspect-ratio: 848 / 480;" width="848" controls src="https://mietwood.com/wp-content/uploads/2025/06/JFJA2459.mp4"></video></figure>



<figure class="wp-block-video"><video height="480" style="aspect-ratio: 848 / 480;" width="848" controls src="https://mietwood.com/wp-content/uploads/2025/06/GMFQ2399.mp4"></video></figure>
<p>The post <a rel="nofollow" href="https://mietwood.com/career-path-of-a-business-analyst-in-business-and-ict">Career Path of a Business Analyst in Business and ICT</a> appeared first on <a rel="nofollow" href="https://mietwood.com">Customer Experience Management</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mietwood.com/career-path-of-a-business-analyst-in-business-and-ict/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		<enclosure url="https://mietwood.com/wp-content/uploads/2025/06/JFJA2459.mp4" length="413267" type="video/mp4" />
<enclosure url="https://mietwood.com/wp-content/uploads/2025/06/GMFQ2399.mp4" length="1430116" type="video/mp4" />

			</item>
		<item>
		<title>Advanced Programming in Data Analysis</title>
		<link>https://mietwood.com/advanced-programming-in-data-analysis</link>
		
		<dc:creator><![CDATA[Maki Pa]]></dc:creator>
		<pubDate>Fri, 16 May 2025 08:14:13 +0000</pubDate>
				<category><![CDATA[Data Science]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Business Analytics]]></category>
		<guid isPermaLink="false">https://mietwood.com/?p=2997</guid>

					<description><![CDATA[<p>Advanced Programming in Data Analysis in data-driven world has got a new meanning. Advanced programming skills are essential for effective data analysis. This blog post explores the key concepts and techniques covered in the first part of the course &#8220;Zaawansowane programowanie w analizie danych,&#8221; led by Dr. Mieczysław Pawłowski from UMCS. We will delve into...</p>
<p>The post <a rel="nofollow" href="https://mietwood.com/advanced-programming-in-data-analysis">Advanced Programming in Data Analysis</a> appeared first on <a rel="nofollow" href="https://mietwood.com">Customer Experience Management</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Advanced Programming in Data Analysis in data-driven world has got a new meanning. Advanced programming skills are essential for effective data analysis. This blog post explores the key concepts and techniques covered in the first part of the course &#8220;Zaawansowane programowanie w analizie danych,&#8221; led by Dr. Mieczysław Pawłowski from UMCS. We will delve into business analytics, data processing, and the tools and languages that are pivotal in modern data analysis.</p>



<div data-wp-interactive="core/file" class="wp-block-file"><object data-wp-bind--hidden="!state.hasPdfPreview" hidden class="wp-block-file__embed" data="https://mietwood.com/wp-content/uploads/2025/05/Zaawansowane-programowanie-w-analizie-danych-part1.pdf" type="application/pdf" style="width:100%;height:600px" aria-label="Embed of Zaawansowane programowanie w analizie danych - part1."></object><a id="wp-block-file--media-fdb8886d-d201-46d0-81a6-ab5c34deb822" href="https://mietwood.com/wp-content/uploads/2025/05/Zaawansowane-programowanie-w-analizie-danych-part1.pdf">Zaawansowane programowanie w analizie danych &#8211; part1</a><a href="https://mietwood.com/wp-content/uploads/2025/05/Zaawansowane-programowanie-w-analizie-danych-part1.pdf" class="wp-block-file__button wp-element-button" aria-describedby="wp-block-file--media-fdb8886d-d201-46d0-81a6-ab5c34deb822" download>Download</a></div>



<h3 class="wp-block-heading" id="businessanalytics">Business Analytics</h3>



<p>Business analytics involves a series of activities aimed at utilizing existing data to make fact-based decisions. It encompasses various skills, methods, and tools to transform data into actionable insights. The results of these analyses are used by managers, clients, and other stakeholders to make informed decisions.</p>



<h4 class="wp-block-heading" id="typesofbusinessanalytics">Types of Business Analytics</h4>



<p>Business analytics can be categorized based on the purpose of information retrieval, its nature, and the methods used to obtain it. The main types include:</p>



<ul class="wp-block-list">
<li><strong>Predictive Analytics</strong>: Focuses on modeling the future and forecasting outcomes.</li>



<li><strong>Prescriptive Analytics</strong>: Determines possible scenarios, options, and consequences of potential decisions.</li>



<li><strong>Diagnostic Analytics</strong>: Answers questions about the causes of phenomena or events based on historical data.</li>



<li><strong>Descriptive Analytics</strong>: Processes historical data to describe past events, results, and facts.</li>



<li><strong>Cognitive Analytics</strong>: Utilizes advanced AI and machine learning technologies.</li>



<li><strong>Big Data Analytics</strong>: Involves processing large volumes of data, often of an atypical nature, to support managerial decisions or automate decision-making.</li>
</ul>



<h3 class="wp-block-heading" id="theanalyticalprocess">The Analytical Process</h3>



<p>The analytical process involves several stages, from data acquisition to presentation. One of the most time-consuming tasks for analysts is data cleaning, often referred to as &#8220;Data Cleaning NINJA.&#8221; This process ensures that the data is accurate and ready for analysis.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="467" src="https://mietwood.com/wp-content/uploads/2025/05/image.jpg" alt="Advanced Programming in Data Analysis - analytical process" class="wp-image-2999" srcset="https://mietwood.com/wp-content/uploads/2025/05/image.jpg 1024w, https://mietwood.com/wp-content/uploads/2025/05/image-300x137.jpg 300w, https://mietwood.com/wp-content/uploads/2025/05/image-768x350.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h4 class="wp-block-heading" id="dataacquisitionandstorage">Data Acquisition and Storage</h4>



<p>Data can be sourced from various formats and systems, including:</p>



<ul class="wp-block-list">
<li><strong>Files</strong>: txt, csv, pdf, xlsx, etc.</li>



<li><strong>Databases</strong>: ERP, CRM systems, MS SQL Server, MySQL, PostgreSQL, DB2, SAP HANA, MS Access.</li>



<li><strong>APIs</strong>: Accessing data through Application Programming Interfaces.</li>
</ul>



<h4 class="wp-block-heading" id="dataanalysistools">Data Analysis Tools</h4>



<p>Several tools are essential for data analysis, including:</p>



<ul class="wp-block-list">
<li><strong>Excel</strong>: Widely used for data manipulation and visualization.</li>



<li><strong>SQL</strong>: Crucial for querying and managing databases.</li>



<li><strong>Python</strong>: A versatile programming language for data analysis and automation.</li>



<li><strong>VBA</strong>: Used for automating tasks in Excel.</li>



<li><strong>Power BI</strong>: A powerful tool for creating reports and dashboards.</li>



<li><strong>Tableau</strong>: Another popular tool for data visualization.</li>
</ul>



<h3 class="wp-block-heading" id="bestprogramminglanguagesfordatascienceandanalytics">Best Programming Languages for Data Science and Analytics</h3>



<p>The course highlights several programming languages that are particularly useful for data science and analytics:</p>



<ol class="wp-block-list">
<li><strong>Python</strong>: Known for its simplicity and extensive libraries.</li>



<li><strong>SQL</strong>: Essential for database management.</li>



<li><strong>R</strong>: Popular for statistical analysis.</li>



<li><strong>VBA</strong>: Useful for automating Excel tasks.</li>



<li><strong>Java</strong>: Known for its robustness and scalability.</li>



<li><strong>Julia</strong>: Gaining popularity for its performance in numerical computing.</li>
</ol>



<h3 class="wp-block-heading" id="pythonfordataanalysts">Python for Data Analysts</h3>



<p>Python is a fundamental programming language for data analysts. The course covers various aspects of Python, including:</p>



<ul class="wp-block-list">
<li><strong>Python Fundamentals</strong>: Basic elements of the language, functions, loops, and control structures.</li>



<li><strong>Key Libraries</strong>: Pandas, NumPy, SQLAlchemy, Datetime, Flask, etc.</li>



<li><strong>Python &amp; Power BI/Excel</strong>: Integrating Python with BI tools for data processing and sharing.</li>



<li><strong>Creating Custom Libraries</strong>: Developing and utilizing custom libraries in projects.</li>



<li><strong>Automation</strong>: Automating scripts and reports.</li>



<li><strong>From Script to Application</strong>: Building web applications and GUIs.</li>
</ul>



<h3 class="wp-block-heading" id="practicalapplications">Advanced programming in data analysis &#8211; practical applications</h3>



<p>The course includes several practical projects, such as:</p>



<ul class="wp-block-list">
<li><strong>Budgeting</strong>: Using data analysis for financial planning.</li>



<li><strong>Anomaly Detection</strong>: Identifying unusual patterns in data.</li>



<li><strong>Sales Forecasting</strong>: Predicting future sales trends.</li>



<li><strong>Recommendation Systems</strong>: Developing systems to suggest products or services.</li>
</ul>



<h3 class="wp-block-heading" id="conclusion">Conclusion</h3>



<p>Advanced programming in data analysis is crucial for transforming raw data into valuable insights. By mastering tools like Python, SQL, and Power BI, analysts can enhance their capabilities and contribute significantly to their organizations. This course provides a comprehensive foundation for anyone looking to excel in the field of data analysis.</p>
<p>The post <a rel="nofollow" href="https://mietwood.com/advanced-programming-in-data-analysis">Advanced Programming in Data Analysis</a> appeared first on <a rel="nofollow" href="https://mietwood.com">Customer Experience Management</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Population of Poland</title>
		<link>https://mietwood.com/population-of-poland</link>
		
		<dc:creator><![CDATA[Maki Pa]]></dc:creator>
		<pubDate>Tue, 11 Mar 2025 11:50:50 +0000</pubDate>
				<category><![CDATA[Customer Experience Management]]></category>
		<category><![CDATA[Business Analytics]]></category>
		<guid isPermaLink="false">https://mietwood.com/?p=2981</guid>

					<description><![CDATA[<p>Poland’s population by age At the beginning of 2025, the median age of Poland’s population was&#160;42.5, with half of Poland’s population&#160;above&#160;this age, and the other half of the population&#160;below&#160;it. For added context, here’s how Poland’s total population broke down by age group at the start of the year: Note:&#160;percentages may not sum to 100&#160;percent due...</p>
<p>The post <a rel="nofollow" href="https://mietwood.com/population-of-poland">Population of Poland</a> appeared first on <a rel="nofollow" href="https://mietwood.com">Customer Experience Management</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading"><em>Poland’s population by age</em></h3>



<p>At the beginning of 2025, the median age of Poland’s population was&nbsp;<strong>42.5</strong>, with half of Poland’s population&nbsp;<em>above</em>&nbsp;this age, and the other half of the population&nbsp;<em>below</em>&nbsp;it.</p>



<p>For added context, here’s how Poland’s total population broke down by age group at the start of the year:</p>



<ul class="wp-block-list">
<li><strong>4.1&nbsp;percent</strong>&nbsp;was between the ages of&nbsp;0&nbsp;and&nbsp;4.</li>



<li><strong>8.1&nbsp;percent</strong>&nbsp;was between the ages of&nbsp;5&nbsp;and&nbsp;12.</li>



<li><strong>5.5&nbsp;percent</strong>&nbsp;was between the ages of&nbsp;13&nbsp;and&nbsp;17.</li>



<li><strong>6.6&nbsp;percent</strong>&nbsp;was between the ages of&nbsp;18&nbsp;and&nbsp;24.</li>



<li><strong>11.9&nbsp;percent</strong>&nbsp;was between the ages of&nbsp;25&nbsp;and&nbsp;34.</li>



<li><strong>16.3&nbsp;percent</strong>&nbsp;was between the ages of&nbsp;35&nbsp;and&nbsp;44.</li>



<li><strong>14.9&nbsp;percent</strong>&nbsp;was between the ages of&nbsp;45&nbsp;and&nbsp;54.</li>



<li><strong>11.7&nbsp;percent</strong>&nbsp;was between the ages of&nbsp;55&nbsp;and&nbsp;64.</li>



<li><strong>20.8&nbsp;percent</strong>&nbsp;was aged&nbsp;65&nbsp;and&nbsp;above.</li>
</ul>



<p><em>Note:&nbsp;percentages may not sum to 100&nbsp;percent due to rounding.</em></p>



<p>Aż trudno uwierzyć, jak zmienia się struktura ludności w kierunku starszego wieku</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="976" height="323" src="https://mietwood.com/wp-content/uploads/2025/03/image-3.jpg" alt="" class="wp-image-2982" srcset="https://mietwood.com/wp-content/uploads/2025/03/image-3.jpg 976w, https://mietwood.com/wp-content/uploads/2025/03/image-3-300x99.jpg 300w, https://mietwood.com/wp-content/uploads/2025/03/image-3-768x254.jpg 768w" sizes="auto, (max-width: 976px) 100vw, 976px" /><figcaption class="wp-element-caption">Stat i struktura ludności, opracowanie własne na danych GUS</figcaption></figure>



<h2 class="wp-block-heading">Pololenia</h2>



<ul class="wp-block-list">
<li><strong>Boomersi</strong>, aktualnie w wieku 60-76 lat, byli świadkami ogromnych zmian i zyskali umiejętność przystosowywania się do nich. </li>



<li><strong>Pokolenie X </strong>(44-59 lat) uważa się za ostatnie z tych stawiających pracę na pierwszym miejscu. Są przyzwyczajeni do ciężkiej pracy i oczekują tej samej etyki pracy od innych. </li>



<li><strong>Milenialsi</strong> (pokolenie Y – w wieku 27-43 lat) stanowili częsty temat pokoleniowych żartów, ze względu na ich walkę o dodatkowe uprawnienia i&nbsp;wysiłki, aby pogodzić pracę z życiem rodzinnym. </li>



<li><strong>Zetki</strong>, obecnie poniżej 26 roku życia, które dopiero wchodzą na rynek pracy wraz ze swoim entuzjazmem dla nowych technologii i chęcią, aby zmieniać świat.</li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="640" src="https://mietwood.com/wp-content/uploads/2026/03/image.jpg" alt="Population of Poland" class="wp-image-3575" srcset="https://mietwood.com/wp-content/uploads/2026/03/image.jpg 1024w, https://mietwood.com/wp-content/uploads/2026/03/image-300x188.jpg 300w, https://mietwood.com/wp-content/uploads/2026/03/image-768x480.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Pokolenia: https://pl.wikipedia.org/wiki/Pokolenie_X</figcaption></figure>



<p>Zaspokojenie wszystkich, często wzajemnie konkurencyjnych potrzeb i interesów przy jednoczesnej konieczności stworzenia silnego zespołu nie jest łatwym zadaniem. Pracodawcy, którzy poradzą sobie z tym wyzwaniem, otrzymają do zagospodarowania twórczą różnorodność talentów, umiejętności, doświadczeń i perspektyw (<a href="https://www.magazynrekruter.pl/boomersi-z-zetkami-w-jednym-teamie-o-roznorodnosci-wiekowej-w-miejscu-pracy/" target="_blank" rel="noopener">Boomersi z Zetkami w jednym teamie. O różnorodności wiekowej w miejscu pracy</a>). </p>



<h2 class="wp-block-heading">Z-tki w przekroju</h2>



<p>Pokolenie Z obejmuje osoby urodzone pomiędzy 1995 a 2010 rokiem. Według danych GUS, odsetek Zetek wśród osób w wieku produkcyjnym, czyli między 18 a 59 lub w przypadku panów 65 rokiem życia, wynosi w naszym kraju ponad <strong>20 proc</strong>.<a href="https://www.magazynrekruter.pl/zetki-kontra-reszta-swiata-czy-mamy-do-czynienia-z-wojna-pokoleniowa-na-rynku-pracy/#_ftn1" target="_blank" rel="noopener">[1]</a>&nbsp;Oznacza to, że statystycznie rzecz ujmując, co piąty polski pracownik to przedstawiciel pokolenia Zet. Wpływ tej grupy na kształtowanie rynku pracy jest zatem ogromny, a pracodawcy nie powinni jej lekceważyć.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="493" height="613" src="https://mietwood.com/wp-content/uploads/2025/03/image-4.jpg" alt="" class="wp-image-2986" srcset="https://mietwood.com/wp-content/uploads/2025/03/image-4.jpg 493w, https://mietwood.com/wp-content/uploads/2025/03/image-4-241x300.jpg 241w" sizes="auto, (max-width: 493px) 100vw, 493px" /><figcaption class="wp-element-caption"><a href="https://stat.gov.pl/download/gfx/portalinformacyjny/pl/defaultaktualnosci/5468/6/37/1/ludnosc._stan_i_struktura_vi2024.pdf" class="ek-link" target="_blank" rel="noopener">https://stat.gov.pl/download/gfx/portalinformacyjny/pl/defaultaktualnosci/5468/6/37/1/ludnosc._stan_i_struktura_vi2024.pdf</a></figcaption></figure>



<p>Wiele dotychczasowych badań wskazuje, że Zetki cenią sobie </p>



<ul class="wp-block-list">
<li>elastyczność, równowagę między pracą a życiem prywatnym, </li>



<li>a także możliwość rozwoju osobistego i zawodowego. </li>



<li>są świadome globalnych wyzwań, takich jak zrównoważony rozwój czy odpowiedzialność społeczna,</li>



<li>oczekują, że ich pracodawcy będą zaangażowani w te kwestie.</li>
</ul>



<p>Najbardziej charakterystyczną cechą Zetek </p>



<ul class="wp-block-list">
<li>jest asertywność.</li>



<li>mają własne poglądy i przekonania, w które silnie wierzą,</li>



<li>nie boją się ich bronić.</li>



<li>uważają, że praca ma się dopasować do nich, nie oni do niej.</li>
</ul>



<p>Takie podejście zdecydowanie różni się od podejścia przedstawicieli innych pokoleń, wychowanych w silnym poczuciu, że pracę należy szanować. To sprawia, że Zetki są postrzegane jako roszczeniowe i leniwe. (<a href="https://www.magazynrekruter.pl/zetki-kontra-reszta-swiata-czy-mamy-do-czynienia-z-wojna-pokoleniowa-na-rynku-pracy/" target="_blank" rel="noopener">Zetki kontra reszta świata. Czy mamy do czynienia z wojną pokoleniową na rynku pracy?</a>)</p>



<h2 class="wp-block-heading"><strong>Praca dla Z-tek</strong></h2>



<p>Naturalne potrezby zatrudnienia nowych pracowników sprawia, że firmy stoją przed koniecznością skierowania swojej oferty pokolenia Z. Powstaje wiec pytanie, jak firmy mogą skutecznie przyciągnąć Zetki?Według analiz Deloitte, do 2025 roku generacja Z będzie stanowiła 27% globalnej siły roboczej. To powoduje, że Zetki są podstawową grupą praciwnuków nowo wchodzacych na rynbek pracy.</p>



<p>Badanie EY pokazuje, że 62% Zetek uważa, że kariera w przemyśle gazowo-paliwowym nie byłaby dla nich atrakcyjna. Jednocześnie 66% ankietowanych stwierdziło, że perspektywa pracy na zielonym stanowisku, tzn. w ramach rozwoju obszaru energii odnawialnej, wydaje się interesująca (<a href="https://www.hays.pl/blog/insights/jak-przyciagnac-pracownikow-z-pokolenia-z-do-branzy-energetycznej-1" class="ek-link" target="_blank" rel="noopener">Jak przyciągnąć pracowników z pokolenia Z do branży energetycznej?</a>).</p>



<h3 class="wp-block-heading"><strong>EVP</strong> (Employee Value Proposition) dla pokolenia Z</h3>



<p>Zetki cenią sobie równowagę pomiędzy życiem prywatnym a zawodowym i poszukują pracodawców, którzy zagwarantują im elastyczność w kontekście godzin i miejsca wykonywania pracy. Potwierdzają to wyniki ankiet do raportów płacowych Hays z regionu EMEA – ponad 48% ankietowanych Zetek wskazała elastyczność pracy jako najcenniejszy benefit, który biorą pod uwagę przy wyborze pracodawcy.</p>



<p>Organizacje, które zrozumieją holistyczne podejście Zetek do życia i umożliwią im zachowanie równowagi pomiędzy sferą prywatną i zawodową, a także zadbają o ich dobrostan, będą miały duże szanse na zdobycie uwagi młodych pracowników.</p>



<h2 class="wp-block-heading">Elastyczność i work-life balance</h2>



<p>Dowiedz się więcej na temat podejścia pracowników z pokolenia Z do kwestii elastyczności i work-life balance.&nbsp;<strong><a href="https://www.hays.pl/genboost" class="ek-link" target="_blank" rel="noopener">Pobierz raport poświęcony Zetkom na polskim rynku pracy autorstwa Hays Poland i Fundacji OFF school</a></strong>.</p>



<p>Przykładem firmy, która poszła w tę stronę, może być SmartestEnergy. Organizacja wdrożyła bowiem 4-dniowy tydzień pracy, co skutkowało nie tylko wzrostem produktywności i poziomu zadowolenia, ale także zredukowaniem stresu zatrudnionych.</p>



<h3 class="wp-block-heading"><strong>Pozytywny wpływ na otoczenie</strong></h3>



<p>Kolejną cechą charakterystyczną dla osób z pokolenia Z jest to, iż swoją pracą chcą mieć pozytywny wpływ na otoczenie. Nie dziwi zatem fakt, że młodzi są bardziej skłonni dołączyć do organizacji, które stawiają na zrównoważony rozwój i kierują się etycznymi, bliskimi im wartościami (&nbsp;<a href="https://www.hays.pl/blog/insights/-dzialania-proekologiczne-ktore-warto-podejmowac-w-organizacji" class="ek-link" target="_blank" rel="noopener"><strong>ESG</strong>&nbsp;</a>i CSR ).</p>



<h3 class="wp-block-heading">R<strong>ozwijać swoją kreatywność</strong></h3>



<p>Osoby z pokolenia Z są bardzo dobrze zaznajomione z technologią i lubią być na bieżąco z innowacjami. Zetki poszukują miejsc pracy, w których będą mogły rozwijać swoją kreatywność, możliwości udoskonalania i pozyskiwania nowych kompetencji.</p>



<p></p>



<p></p>



<p><a href="https://ceo.com.pl/pokolenie-z-na-rynku-pracy-mity-i-rzeczywistosc-61108" target="_blank" rel="noopener">Pokolenie Z na rynku pracy: Mity i rzeczywistość</a></p>



<h2 class="wp-block-heading">Bibliografia</h2>



<p>Zestawienie na podstawie danych: <a href="https://stat.gov.pl/obszary-tematyczne/ludnosc/ludnosc/struktura-ludnosci,16,1.html" target="_blank" rel="noopener">https://stat.gov.pl/obszary-tematyczne/ludnosc/ludnosc/struktura-ludnosci,16,1.html</a></p>



<p><a href="file:///C:/Users/prac/Downloads/ludnosc._stan_i_struktura_vi2024.pdf" class="ek-link">[1] ludnosc._stan_i_struktura_vi2024.pdf</a></p>



<p><a href="https://www.magazynrekruter.pl/dialog-miedzypokoleniowy-z-perspektywy-ceo-sieci-mlodych-liderek/" target="_blank" rel="noopener">Dialog międzypokoleniowy z perspektywy Sieci Młodych Liderek</a></p>



<p></p>
<p>The post <a rel="nofollow" href="https://mietwood.com/population-of-poland">Population of Poland</a> appeared first on <a rel="nofollow" href="https://mietwood.com">Customer Experience Management</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Analityka w koszykówce – 5 statystyk, które zmieniają grę</title>
		<link>https://mietwood.com/analityka-w-koszykowce-5-statystyk-ktore-zmieniaja-gre</link>
		
		<dc:creator><![CDATA[Maki Pa]]></dc:creator>
		<pubDate>Thu, 23 Jan 2025 19:49:33 +0000</pubDate>
				<category><![CDATA[Data Science]]></category>
		<category><![CDATA[Business Analytics]]></category>
		<guid isPermaLink="false">https://mietwood.com/?p=2835</guid>

					<description><![CDATA[<p>Analityka w koszykówce. Współczesna koszykówka to nie tylko talent i wytrwałość zawodników, ale również dane. Analityka w tym sporcie zdobywa coraz większą popularność, umożliwiając planowanie treningów, monitorowanie kondycji sportowców oraz udoskonalenie strategii meczowych. Artykuł przygotowała: Olga Trzeciak, 21.01.2025 Wstęp Współczesna koszykówka to nie tylko talent i wytrwałość zawodników, ale również dane. Analityka w tym sporcie...</p>
<p>The post <a rel="nofollow" href="https://mietwood.com/analityka-w-koszykowce-5-statystyk-ktore-zmieniaja-gre">Analityka w koszykówce – 5 statystyk, które zmieniają grę</a> appeared first on <a rel="nofollow" href="https://mietwood.com">Customer Experience Management</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Analityka w koszykówce. Współczesna koszykówka to nie tylko talent i wytrwałość zawodników, ale również dane. Analityka w tym sporcie zdobywa coraz większą popularność, umożliwiając planowanie treningów, monitorowanie kondycji sportowców oraz udoskonalenie strategii meczowych.</p>



<p>Artykuł przygotowała: Olga Trzeciak, 21.01.2025</p>



<h1 class="wp-block-heading"><strong>Wstęp</strong></h1>



<p>Współczesna koszykówka to nie tylko talent i wytrwałość zawodników, ale również dane. Analityka w tym sporcie zdobywa coraz większą popularność, umożliwiając planowanie treningów, monitorowanie kondycji sportowców oraz udoskonalenie strategii meczowych.</p>



<p>Trenerzy i zawodnicy korzystają z zaawansowanych technologii, aby uzyskać przewagę nad przeciwnikami, co czyni koszykówkę bardziej konkurencyjną i ekscytującą. W niniejszym artykule zawarte są kluczowe aspekty analityki w koszykówce i temu, jak dane zmieniają oblicze rywalizacji sportowej.</p>



<h1 class="wp-block-heading"><strong>Zdrowie zawodnika</strong></h1>



<p>Dbając o zdrowie zawodników, drużyny sięgają po najnowsze technologie monitorowania parametrów zdrowotnych. Sportowcy podczas wysiłku często używają zegarków sportowych. Jednym z najlepszych zegarków jest zegarek od marki Polar, który pozwala na szczegółową analizę zdrowia, treningu i regeneracji. Dostarcza on informacji między innymi o<a href="#_ftn1" id="_ftnref1">[1]</a>:</p>



<ul class="wp-block-list">
<li>Strefach tętna – od regeneracyjnych po maksymalne, co pozwala na dostosowanie intensywności treningu,</li>



<li>HRV (zmienność rytmu serca) – wskazując poziom zmęczenia i regeneracji organizmu,</li>



<li>Prędkość oraz dystans przebiegnięty podczas treningu,</li>



<li>Analizie jakości snu &#8211; fazach snu czy czas trwania.</li>
</ul>



<p>Dieta jest kolejnym aspektem, który odgrywa kluczową rolę w sporcie, zwłaszcza w dyscyplinach takich jak koszykówka, gdzie intensywność i dynamika gry wymagają odpowiedniego wsparcia żywieniowego, która wpływa na wydajność zawodnika, jego regenerację oraz ogólną kondycję fizyczną. Analityka w koszykówce</p>



<p>Dieta sportowca powinna być zbilansowana w węglowowany, białka i tłuszcze. Węglowodany stanowią główne źródło energii podczas intensywnych wysiłków fizycznych, takich jak mecze czy treningi. Zaleca się, aby spożycie węglowodanów wynosiło od 5 do 8 g na kilogram masy ciała dziennie, w zależności od intensywności treningów. Następnym makroskładnikiem jest białko, które jest niezbędne do budowy i regeneracji mięśni. Koszykarze powinni dążyć do spożycia około 2,2 g białka na kilogram masy ciała dziennie. Ostatnim elementem są tłuszcze. Pełnią ważną rolę w dostarczaniu energii oraz wspierają funkcje hormonalne i zdrowie mózgu. Zaleca się, aby tłuszcze stanowiły około 25% dziennego zapotrzebowania kalorycznego<a href="#_ftn2" id="_ftnref2">[2]</a>.</p>



<p>Nie tylko makroskładniki są ważne w diecie sportowca ale również zapotrzebowanie kaloryczne. Dla koszykarzy dzienne zapotrzebowanie mieści się od około 2500 do nawet 5000 kcal dziennie<a href="#_ftn3" id="_ftnref3">[3]</a>.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="739" height="415" src="https://mietwood.com/wp-content/uploads/2025/01/image-1-5.jpg" alt="" class="wp-image-2837" srcset="https://mietwood.com/wp-content/uploads/2025/01/image-1-5.jpg 739w, https://mietwood.com/wp-content/uploads/2025/01/image-1-5-300x168.jpg 300w" sizes="auto, (max-width: 739px) 100vw, 739px" /></figure>



<h1 class="wp-block-heading"><strong>Ogólna sprawność fizyczna</strong></h1>



<p>Ogólna sprawność fizyczna koszykarzy ma kluczowe znaczenie dla ich wyników na boisku. Koszykówka to sport wymagający nie tylko technicznych umiejętności, ale także doskonałej kondycji fizycznej, siły, zwinności, wytrzymałości oraz szybkości. Koszykarze, którzy utrzymują wysoką sprawność fizyczną, mają przewagę nad rywalami, zarówno w ofensywie, jak i defensywie.</p>



<p>Kondycja tlenowa wpływa na zdolność koszykarzy do utrzymania wysokiej intensywności przez długie okresy. Współczesne treningi koszykarskie opierają się na szczegółowych analizach takich parametrów jak VO2 max (maksymalny pobór tlenu), prędkość reakcji czy moc generowana podczas wysiłku. Dla koszykarzy średni VO2 max wynosi 45-50 ml/kg/min, co jest wynikiem wyższym niż w większości innych sportów drużynowych<a href="#_ftn4" id="_ftnref4">[4]</a>. Zawodnicy, którzy posiadają dobrą kondycję tlenową, są w stanie z większą łatwością pokonywać duże odległości oraz utrzymywać intensywność gry przez cały mecz.</p>



<p>Systemy GPS pozwalają śledzić każdy ruch zawodnika na boisku. Dane pokazują, że zawodnicy NBA przebiegają średnio 4-5 kilometrów w trakcie meczu, wykonując przy tym około 70-100 sprintów<a href="#_ftn5" id="_ftnref5">[5]</a>.</p>



<h2 class="wp-block-heading">Analityka w koszykówce</h2>



<p>Strategia w koszykówce to nie tylko taktyka na boisku, ale również spójny plan działania całego zespołu. Dzięki zaawansowanej analizie danych można udoskonalać zarówno grę ofensywną, jak i defensywną, poprawić komunikację w zespole i maksymalnie wykorzystać potencjał każdego gracza.</p>



<h2 class="wp-block-heading"><strong>Strategia gry</strong></h2>



<p>Efektywna obrona jest kluczowym elementem w koszykówce. Drużyny z najlepszą defensywą potrafią skutecznie wymuszać straty czy ograniczać skuteczność ataku przeciwnika. Jednymi z najważniejszych statystyk są:</p>



<ul class="wp-block-list">
<li>Defensive Rating (DRtg) – To wskaźnik efektywności obrony drużyny, który mierzy, ile punktów zespół traci na 100 posiadanych piłek. Zespoły z niskim DRtg zwykle są bardziej skuteczne w obronie,</li>



<li>Liczba punktów traconych na mecz (PPG) – To podstawowy wskaźnik, który pozwala ocenić skuteczność defensywy drużyny. W Polskiej Lidze Koszykówki  zespoły, które mają niską średnią liczbę punktów traconych na mecz, zwykle osiągają lepsze wyniki. Drużyny, które pozwalają rywalom zdobywać mniej niż 80 punktów na mecz, często znajdują się w czołówce tabeli<a id="_ftnref6" href="#_ftn6">[6]</a>.</li>



<li>Przechwyty i bloki – Statystyki te pokazują jak wymuszane są błędy u rywala. Im więcej przechwytów i bloków, tym większa szansa na zatrzymanie ataku przeciwnika.</li>
</ul>



<p>Trenerzy PLK często kładą duży nacisk na dostosowanie obrony do indywidualnych umiejętności zawodników, a także na analizowanie słabości rywala. Pomaga im w tym analiza wideo, która pozwala zidentyfikować schematy w grze przeciwnika. Koszykarze mogą analizować dane dotyczące gry przeciwnika, takie jak jego ulubione zagrywki, miejsce na boisku, w którym jest najbardziej skuteczny, oraz jego słabości w obronie.</p>



<p>Kolejnym elementem w koszykówce jest atak. Skuteczność drużyny w ofensywie może w dużym stopniu przekładać się na ostateczny wynik spotkania, a odpowiednia analiza statystyczna pozwala zrozumieć, jakie czynniki wpływają na sukces drużyny w ataku. Statystyki pokazują, że rzuty za trzy punkty są najbardziej efektywną formą zdobywania punktów. W sezonie 2023/24 średnia skuteczność takich rzutów wynosiła 36%, podczas gdy dla rzutów dwupunktowych wynosiła 55%<a href="#_ftn7" id="_ftnref7">[7]</a>. Atak jest analizowany pod kątem kilku podstawowych wskaźników:</p>



<ul class="wp-block-list">
<li>Liczba zdobywanych punktów na mecz &#8211; Zespoły, które potrafią zdobywać średnio więcej niż 80 punktów na mecz, mają większe szanse na wygranie meczu,</li>



<li>Skuteczność rzutów z gry (FG%) – Mówi nam o efektywności drużyny w kontekście całego meczu. Wysoka skuteczność, np. powyżej 50% z gry, jest często spotykana w drużynach, które dominują ofensywnie,</li>



<li>Asysty – Drużyny z wysoką liczbą asyst często grają w sposób zespołowy, co pozwala im zdobywać punkty w różnych formacjach i sytuacjach,</li>



<li>Liczba posiadanych piłek (Possessions) – Zespoły, które posiadają więcej piłek, zazwyczaj mają większe szanse na zdobycie punktów.</li>
</ul>



<p>Przykładem drużyny, która była skuteczna w ofensywie, jest Start Lublin, która w ostatnich sezonach regularnie zdobywała średnio ponad 80 punktów na mecz, opierając swoją grę na wysokiej skuteczności rzutów z gry i za trzy punkty. Analityka w koszykówce</p>



<p>Rola trenera w koszykówce wykracza daleko poza zarządzanie zespołem w trakcie meczu. Trenerzy analizują dane dotyczące formy zawodników, ich skuteczności w różnych sytuacjach oraz preferencji przeciwników. Używają systemów takich jak Synergy Sports, które dostarczają szczegółowych raportów dotyczących zachowań drużyny na boisku. Kolejną ważną postacią jest kapitan drużyny pełni kluczową rolę w motywowaniu zespołu oraz w utrzymaniu wysokich morali. Jest on również przekaźnikiem pomiędzy trenerem a zespołem.</p>



<p>Motywacja w koszykówce to nie tylko kwestia indywidualnych celów, ale także spójności drużyny. Zgrany zespół, który potrafi wspierać się nawzajem, osiąga lepsze wyniki niż zespół złożony z indywidualnych gwiazd. W 2021 zespół CBK Mersin Yenisehir Bld posiadał w swojej drużynie 7 zawodniczek, które występują w WNBA. W żadnej innej drużynie nie było aż tylu koszykarek na tak wysokim poziomie, co powinno zagwarantować im zwycięstwo w EuroCup Women. Jednak drużyna zakończyła klasyfikacje w półfinale<a href="#_ftn8" id="_ftnref8">[8]</a>. Dlatego w budowaniu zespołu ważne jest posiadanie zarówno gwiazd jak i zawodników dla których dobro drużyny jest ważniejsze niż indywidualne osiągnięcia. Techniki budowania zespołu, takie jak wspólne wyjazdy integracyjne czy warsztaty z psychologii grupowej, mogą zwiększyć poczucie jedności i poprawić komunikację na boisku.</p>



<h1 class="wp-block-heading"><strong>Efektywność zawodnika</strong></h1>



<p>Efektywność koszykarza to złożony aspekt gry, na który składają się umiejętności techniczne, przygotowanie fizyczne, odporność psychiczna oraz zdolność do utrzymania koncentracji w kluczowych momentach. Aby ją maksymalizować, konieczne jest kompleksowe podejście, łączące zaawansowaną analitykę, odpowiednie narzędzia treningowe i pracę nad aspektem mentalnym. Analityka w koszykówce.</p>



<h3 class="wp-block-heading">Kluczowym miernikiem efektywności koszykarza jest skuteczność w kończeniu akcji punktowych czyli liczba zdobytych punktów w stosunku do liczby prób. Wskaźnik TS% (True Shooting Percentage) uwzględnia rzuty za dwa, trzy punkty oraz rzuty wolne. Nikola Jokić w sezonie 2023 osiągnął TS% na poziomie 68,6%, co czyniło go jednym z najbardziej efektywnych graczy w lidze NBA<a href="#_ftn9" id="_ftnref9">[9]</a>. Emmanuel Lecomte, zawodnik drużyny Start Lublin, w obecnym sezonie nie pomylił się ani razu z linii rzutów wolnych. Gdy przeciwna drużyna zostanie ukarana faulem technicznym to właśnie on podchodzi do dodatkowego rzutu<a href="#_ftn10" id="_ftnref10">[10]</a>.</h3>



<p>Kolejnym ważnym aspektem jest analiza wideo, która pozwala zidentyfikować obszary na boisku, z których rzuty są najskuteczniejsze dla konkretnego zawodnika. Dzięki temu można dostosowywać&nbsp; treningi ukierunkowane na oddawanie rzutów w danych strefach tzw. „hot zones”.</p>



<p>Efektywność koszykarza nie ogranicza się do umiejętności technicznych, psychika odgrywa ogromną rolę. Zawodnicy z wysokim poziomem odporności psychicznej są w stanie zachować zimną krew i skutecznie realizować założenia trenera. Trenerzy wykorzystują symulacje sytuacji stresowych, które odtwarzają warunki presji czasowej lub obecności przeciwnika, co pomaga zawodnikom budować nawyki radzenia sobie ze stresem.</p>



<p>Współczesny sport coraz częściej uwzględnia pracę nad aspektem mentalnym jako kluczowy element osiągania sukcesów. Wielu koszykarzy decyduje się na współpracę z mental coachami, którzy pomagają im radzić sobie z presją, poprawiać koncentrację oraz budować pewność siebie. Największe gwiazdy NBA tacy jak Kobe Bryant, Michael Jordan czy Shaquille O’Neal twierdzą, że współpraca z psychologiem sportowym była nieodłącznym elementem ich sukcesu<a href="#_ftn11" id="_ftnref11">[11]</a>.</p>



<h1 class="wp-block-heading"><strong>Inspiracje od najlepszych</strong></h1>



<p>Koszykówka to nie tylko fizyczna siła, technika i taktyka, ale także analiza danych. Najlepsi koszykarze coraz częściej korzystają z narzędzi analitycznych, aby doskonalić swoje umiejętności, poprawić efektywność w meczach i unikać kontuzji. Wykorzystanie analityki sportowej stało się standardem w profesjonalnym sporcie. Oto jak czołowi zawodnicy wykorzystują narzędzia analityczne:</p>



<ul class="wp-block-list">
<li>Stephen Curry, rekordzista w liczbie celnych rzutów za trzy punkty, jest doskonałym przykładem wykorzystania analityki. Jego skuteczność wynosi średnio 42,8%, co czyni go jednym z najlepszych strzelców w historii. Analiza biomechaniczna pozwala mu doskonalić technikę rzutową, co przekłada się na jego niesamowitą skuteczność<a id="_ftnref12" href="#_ftn12">[12]</a>.          </li>



<li>Kobe Bryant słynął z legendarnej etyki pracy i skrupulatnej analizy swojej gry. Jego podejście do analizy przeciwników oraz własnych występów było wzorem dla wielu współczesnych graczy, którzy coraz częściej korzystają z zaawansowanych narzędzi, by osiągnąć podobne rezultaty.</li>
</ul>



<h1 class="wp-block-heading"><strong>Podsumowanie</strong></h1>



<p>Analityka w koszykówce staje się podstawowym narzędziem sukcesu, zarówno dla zawodników, jak i trenerów. Od monitorowania zdrowia, przez optymalizację treningów, aż po analizę strategii – dane odgrywają kluczową rolę w każdej fazie przygotowania i rywalizacji.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="158" height="235" src="https://mietwood.com/wp-content/uploads/2025/01/image.jpeg" alt="Analityka w koszykówce" class="wp-image-2836"/><figcaption class="wp-element-caption">Analityka w koszykówce</figcaption></figure>



<p>Olga Trzeciak, 21.01.2025</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p><a href="#_ftnref1" id="_ftn1">[1]</a> <a href="https://www.polar.com/pl/sensors/h10-heart-rate-sensor" target="_blank" rel="noopener">https://www.polar.com/pl/sensors/h10-heart-rate-sensor</a></p>



<p><a href="#_ftnref2" id="_ftn2">[2]</a> <a href="https://pid.edu.pl/aktualnosci/skladniki-odzywcze-w-diecie-sportowca-kto-uklada-diete-osobie-aktywnej/?utm_source=chatgpt.com" target="_blank" rel="noopener">https://pid.edu.pl/aktualnosci/skladniki-odzywcze-w-diecie-sportowca-kto-uklada-diete-osobie-aktywnej/?utm_source=chatgpt.com</a></p>



<p><a href="#_ftnref3" id="_ftn3">[3]</a> https://grind-house.pl/odzywianie-i-performance/dieta-koszykarza-odzywianie-i-suplementacja/#:~:text=Zapotrzebowanie%20na%20energi%C4%99%20dla%20koszykarzy,mog%C4%85%20osi%C4%85ga%C4%87%20nawet%203500%20kcal.</p>



<p><a href="#_ftnref4" id="_ftn4">[4]</a> https://www.gssiweb.org/sports-science-exchange/article/physiologic-profile-of-basketball-athletes#:~:text=Average%20VO2max%20values%20for%20female,higher%20aerobic%20capacity%20than%20centers.</p>



<p><a href="#_ftnref5" id="_ftn5">[5]</a> https://www.nba.com/stats/players/speed-distance?CF=DIST_MILES*GE*1&amp;Season=2023-24</p>



<p><a href="#_ftnref6" id="_ftn6">[6]</a> https://plk.pl/tabele</p>



<p><a href="#_ftnref7" id="_ftn7">[7]</a> https://plk.pl/archiwum/26/statystyki-druzynowe</p>



<p><a href="#_ftnref8" id="_ftn8">[8]</a> https://www.fiba.basketball/en/history/165-fiba-womens-european-club-competitions-tier-2/208435#PO</p>



<p><a href="#_ftnref9" id="_ftn9">[9]</a> https://www.basketball-reference.com/players/j/jokicni01.html</p>



<p><a href="#_ftnref10" id="_ftn10">[10]</a> https://plk.pl/zawodnicy/108689/emmanuel-lecomte/statystyki</p>



<p><a href="#_ftnref11" id="_ftn11">[11]</a> <a href="https://maximizethemind.com/famous-athletes-who-believe-in-sports-psychology/#:~:text=Basketball%20Players%20Who%20Know%20the,integral%20part%20of%20their%20success" target="_blank" rel="noopener">https://maximizethemind.com/famous-athletes-who-believe-in-sports-psychology/#:~:text=Basketball%20Players%20Who%20Know%20the,integral%20part%20of%20their%20success</a>.</p>



<p><a href="#_ftnref12" id="_ftn12">[12]</a> https://www.nba.com/stats/player/201939</p>
<p>The post <a rel="nofollow" href="https://mietwood.com/analityka-w-koszykowce-5-statystyk-ktore-zmieniaja-gre">Analityka w koszykówce – 5 statystyk, które zmieniają grę</a> appeared first on <a rel="nofollow" href="https://mietwood.com">Customer Experience Management</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ceny mieszkań w Polsce w latach 2013-2022 znacznie wzrosły</title>
		<link>https://mietwood.com/ceny-mieszkan-w-polsce-w-latach-2013-2022-znacznie-wzrosly</link>
		
		<dc:creator><![CDATA[Maki Pa]]></dc:creator>
		<pubDate>Wed, 22 Jan 2025 07:27:43 +0000</pubDate>
				<category><![CDATA[Data Science]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Business Analytics]]></category>
		<category><![CDATA[data science]]></category>
		<guid isPermaLink="false">https://mietwood.com/?p=2821</guid>

					<description><![CDATA[<p>Ceny mieszkań w Polsce w latach 2013-2022 rosły. Opracowanie przedstawia analizę ceny za 1m2 mieszkań w Polsce w latach 2013-2022 w zależności od liczby mieszkań oddanych do użytku, metrażu. Autorzy opracowania: Joanna Świrgoń, Mateusz Łuczyński Analiza cen mieszkań w Polsce w ciągu ostatnich dziesięciu lat jest tematem szczególnie istotnym ze względu na dynamiczne zmiany w...</p>
<p>The post <a rel="nofollow" href="https://mietwood.com/ceny-mieszkan-w-polsce-w-latach-2013-2022-znacznie-wzrosly">Ceny mieszkań w Polsce w latach 2013-2022 znacznie wzrosły</a> appeared first on <a rel="nofollow" href="https://mietwood.com">Customer Experience Management</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><strong>Ceny mieszkań w Polsce w latach 2013-2022 rosły. Opracowanie przedstawia analizę ceny za 1m<sup>2</sup> mieszkań w Polsce w latach 2013-2022 w zależności od liczby mieszkań oddanych do użytku, metrażu.</strong></p>



<p>Autorzy opracowania: Joanna Świrgoń, Mateusz Łuczyński</p>



<p>Analiza cen mieszkań w Polsce w ciągu ostatnich dziesięciu lat jest tematem szczególnie istotnym ze względu na dynamiczne zmiany w rynku nieruchomości i ogólną sytuację ekonomiczną kraju. Wybór tego tematu pozwolił nam na zrozumienie, jakie czynniki wpływają na wzrost cen mieszkań &#8211; liczba oddawanych do użytku mieszkań oraz&nbsp;ich metraż, które brano pod uwagę w tej analizie. Przeanalizowanie tych aspektów pozwala na lepsze zrozumienie mechanizmów działania rynku mieszkaniowego w Polsce i przewidywania jego perspektyw dla przyszłości. Dodatkowym powodem wyboru tego tematu była chęć zapoznania się z trendami rynkowymi w różnych regionach Polski.</p>



<h2 class="wp-block-heading">Średnia cena za 1 metr kwadratowy</h2>



<p>Analiza średniej ceny za 1 metr kwadratowy mieszkania jest kluczowym elementem zrozumienia rynku mieszkaniowego w Polsce. Przez te dziesięć lat rynek mieszkaniowy przeżył dynamiczny rozwój, wpływający na trendy cenowe.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="945" height="428" src="https://mietwood.com/wp-content/uploads/2025/01/image-1.jpg" alt="Analiza średniej ceny za 1 metr kwadratowy" class="wp-image-2822" srcset="https://mietwood.com/wp-content/uploads/2025/01/image-1.jpg 945w, https://mietwood.com/wp-content/uploads/2025/01/image-1-300x136.jpg 300w, https://mietwood.com/wp-content/uploads/2025/01/image-1-768x348.jpg 768w" sizes="auto, (max-width: 945px) 100vw, 945px" /><figcaption class="wp-element-caption">Analiza średniej ceny za 1 metr kwadratowy</figcaption></figure>



<p>Wybór okresu od 2013 roku do 2022 roku pozwala na obserwację znaczących zmian w tym sektorze. Wykres liniowy przedstawiający średnią cenę za 1 metr kwadratowy mieszkania w Polsce pokazuje widoczny trend wzrostowy w ciągu ostatnich dziesięciu lat. Trend ten nie tylko odzwierciedla historyczne dane, ale także sugeruje, że&nbsp;wzrost cen mieszkań nie zakończył się jeszcze. Prognoza na lata 2023 i 2024, przedstawiona na końcu wykresu, stanowi kontynuację obserwowanego trendu wzrostowego. Ta prognoza, bazująca na analizie trendów historycznych i aktualnych tendencji rynkowych, potwierdza, że rynek mieszkaniowy w Polsce nadal charakteryzuje się silnym popytem i stabilnym wzrostem wartości nieruchomości.</p>



<h2 class="wp-block-heading">Ceny mieszkań w Polsce w podziale terytorialnym</h2>



<p>Kolejnym etapem analizy jest porównanie ceny za 1 m² mieszkań w Polsce w&nbsp;podziale na województwa, co pozwala uwzględnić regionalne zróżnicowanie rynku nieruchomości.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="945" height="693" src="https://mietwood.com/wp-content/uploads/2025/01/image-1-1.jpg" alt="ceny za 1 m² mieszkań w Polsce w podziale na województwa" class="wp-image-2823" srcset="https://mietwood.com/wp-content/uploads/2025/01/image-1-1.jpg 945w, https://mietwood.com/wp-content/uploads/2025/01/image-1-1-300x220.jpg 300w, https://mietwood.com/wp-content/uploads/2025/01/image-1-1-768x563.jpg 768w" sizes="auto, (max-width: 945px) 100vw, 945px" /><figcaption class="wp-element-caption">ceny za 1 m² mieszkań w Polsce w podziale na województwa</figcaption></figure>



<p>Z załączonej mapy wynika, że najwyższa średnia cena za 1 m² mieszkań występuje w województwie mazowieckim, które oznaczone jest najciemniejszym kolorem, odpowiadającym wartości około 7 292 zł. Na drugim miejscu znajduje się województwo małopolskie, przedstawione nieco jaśniejszym odcieniem, co wskazuje na równie wysokie, choć niższe ceny. Wizualizacja wyraźnie ukazuje regionalne różnice, gdzie&nbsp;najniższe ceny obserwuje się w województwach takich jak lubuskie czy opolskie, wyróżnionych najjaśniejszym kolorem.</p>



<h2 class="wp-block-heading">Analizy zasady Pareto</h2>



<p>Przechodząc dalej dokonano analizy zasady Pareto, która pozwala wskazać niewielką liczbę kluczowych czynników mających największy wpływ na dane zjawisko.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="945" height="356" src="https://mietwood.com/wp-content/uploads/2025/01/image-1-2.jpg" alt="analizy zasady Pareto" class="wp-image-2824" srcset="https://mietwood.com/wp-content/uploads/2025/01/image-1-2.jpg 945w, https://mietwood.com/wp-content/uploads/2025/01/image-1-2-300x113.jpg 300w, https://mietwood.com/wp-content/uploads/2025/01/image-1-2-768x289.jpg 768w" sizes="auto, (max-width: 945px) 100vw, 945px" /><figcaption class="wp-element-caption">analizy zasady Pareto</figcaption></figure>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Wykres przedstawia zastosowanie zasady Pareto w analizie liczby mieszkań oddanych do użytku w podziale na województwa. Zgodnie z wykresem, około 60% wszystkich mieszkań zostało oddanych do użytku w zaledwie 31% województwach (Mazowieckie, Wielkopolskie, Małopolskie, Dolnośląskie i Pomorskie), co potwierdza, że&nbsp;większość wyników pochodzi od niewielkiej liczby kluczowych jednostek. Województwo mazowieckie wyraźnie dominuje z największą liczbą oddanych mieszkań, a pozostałe województwa przyczyniają się w mniejszym stopniu, co znajduje odzwierciedlenie w łagodnym wzroście skumulowanego udziału na dalszych pozycjach.</p>



<h2 class="wp-block-heading">Ilość mieszkań oddanych do użytku</h2>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Kolejnym ważnym aspektem było zbadanie ilości mieszkań oddanych do użytku przypadająca na 1000 mieszkańców w sumie w latach 2013 – 2022.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="945" height="702" src="https://mietwood.com/wp-content/uploads/2025/01/image-1-3.jpg" alt="ilość mieszkań oddanych do użytku" class="wp-image-2825" srcset="https://mietwood.com/wp-content/uploads/2025/01/image-1-3.jpg 945w, https://mietwood.com/wp-content/uploads/2025/01/image-1-3-300x223.jpg 300w, https://mietwood.com/wp-content/uploads/2025/01/image-1-3-768x571.jpg 768w" sizes="auto, (max-width: 945px) 100vw, 945px" /><figcaption class="wp-element-caption">ilość mieszkań oddanych do użytku</figcaption></figure>



<p>Mapa Polski podzielona na województwa, przedstawiająca liczbę mieszkań oddanych do użytku przypadających na 1000 mieszkańców w ciągu ostatnich 10 lat, wyraźnie ukazuje zróżnicowanie regionalne w rozwoju rynku mieszkaniowego. Najwyższe wartości, oznaczone na zielono, koncentrują się w województwach Pomorskim, Mazowieckim, Dolnośląskim, Małopolskim i Wielkopolskim, gdzie liczba mieszkań przekracza 80-100 na 1000 mieszkańców. Przeciwnie, najniższe wartości, oznaczone na&nbsp;pomarańczowo, obserwuje się w województwach Opolskim, Świętokrzyskim i&nbsp;Śląskim, gdzie liczba mieszkań nie przekracza 40 na 1000 mieszkańców. Ta mapa pozwala na identyfikację regionów o dobrze rozwiniętych rynkach nieruchomości oraz&nbsp;tych, które wymagają większej uwagi ze strony inwestorów i urzędników odpowiedzialnych za politykę mieszkaniową.</p>



<h2 class="wp-block-heading">Ceny za 1m<sup>2</sup> w zależności od wielkości mieszkania</h2>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ostatnim elementem analizy kształtowania się średniej ceny mieszkań za 1m<sup>2</sup> w&nbsp;Polsce było porównanie jej w zależności od wielkości mieszkania.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="945" height="373" src="https://mietwood.com/wp-content/uploads/2025/01/image-1-4.jpg" alt="Ceny za 1m2 w zależności od wielkości mieszkania" class="wp-image-2826" srcset="https://mietwood.com/wp-content/uploads/2025/01/image-1-4.jpg 945w, https://mietwood.com/wp-content/uploads/2025/01/image-1-4-300x118.jpg 300w, https://mietwood.com/wp-content/uploads/2025/01/image-1-4-768x303.jpg 768w" sizes="auto, (max-width: 945px) 100vw, 945px" /><figcaption class="wp-element-caption">Ceny za 1m<sup>2</sup> w zależności od wielkości mieszkania</figcaption></figure>



<p>Wykres przedstawia zmianę średniej ceny za 1 m² mieszkań w Polsce w latach 2013–2022, uwzględniając różnice zależne od metrażu. Analiza wykresu ujawnia kilka kluczowych trendów: w każdym przedziale metrażu ceny za 1 m² wzrosły w analizowanym okresie, co potwierdza ogólny trend wzrostu rynku nieruchomości w Polsce.<br>Na początku badanego okresu ceny we wszystkich analizowanych metrażach były do&nbsp;siebie zbliżone. Natomiast w 2022 roku różnice cenowe między poszczególnymi przedziałami metrażu są bardziej widoczne. Ogólny trend wykresu potwierdza, że&nbsp;mniejsze mieszkania są droższe za metr kwadratowy niż większe, co może być spowodowane ograniczoną dostępnością małych lokali na rynku oraz preferencjami konsumentów.</p>



<p>W analizie kształtowania się średniej ceny za 1 m² mieszkań w Polsce od 2013 roku zauważalny jest jej znaczący wzrost, szczególnie w województwie Mazowieckim, które&nbsp;charakteryzuje się najwyższą średnią ceną. Wysoka cena za 1 m² oraz duża liczba mieszkań oddanych do użytku występują głównie w województwach z najbardziej zaludnionymi miastami, co wskazuje na silną zależność między rozwojem urbanistycznym a cenami nieruchomości. W ciągu ostatnich 10 lat widoczny jest także wzrost zróżnicowania cen w zależności od metrażu mieszkań. Dodatkowo istnieje silna dodatnia korelacja pomiędzy liczbą oddanych do użytku mieszkań a ceną 1 m², co wskazuje na wpływ większej podaży na kształtowanie się cen.</p>
<p>The post <a rel="nofollow" href="https://mietwood.com/ceny-mieszkan-w-polsce-w-latach-2013-2022-znacznie-wzrosly">Ceny mieszkań w Polsce w latach 2013-2022 znacznie wzrosły</a> appeared first on <a rel="nofollow" href="https://mietwood.com">Customer Experience Management</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How To Set The First Day of Week DATEFIRST</title>
		<link>https://mietwood.com/how-to-set-the-first-day-of-week-datefirst</link>
		
		<dc:creator><![CDATA[Maki Pa]]></dc:creator>
		<pubDate>Sun, 29 Dec 2024 12:21:21 +0000</pubDate>
				<category><![CDATA[Data Science]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Business Analytics]]></category>
		<category><![CDATA[python]]></category>
		<guid isPermaLink="false">https://mietwood.com/?p=2760</guid>

					<description><![CDATA[<p>How To Set The First Day of Week DATEFIRST &#8211; SET DATEFIRST = 1 sets the first day of the week to Monday. In SQL Server, the first day of the week can be set to any day from 1 (Monday) to 7 (Sunday). This setting affects the output of date-related functions like DATEPART and...</p>
<p>The post <a rel="nofollow" href="https://mietwood.com/how-to-set-the-first-day-of-week-datefirst">How To Set The First Day of Week DATEFIRST</a> appeared first on <a rel="nofollow" href="https://mietwood.com">Customer Experience Management</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>How To Set The First Day of Week DATEFIRST &#8211; SET DATEFIRST = 1 sets the first day of the week to Monday. In SQL Server, the first day of the week can be set to any day from 1 (Monday) to 7 (Sunday). This setting affects the output of date-related functions like DATEPART and DATENAME. For example, if DATEFIRST is set to 1 (Monday), DATEPART(dw, &#8216;2024-12-29&#8217;) will return 7, because December 29, 2024, is a Sunday. SET DATEFIRST 1.</p>



<h3 class="wp-block-heading">When to Use <code>SET DATEFIRST</code></h3>



<p><strong>Regional Settings</strong>: Use <code>SET DATEFIRST</code> to match the first day of the week with regional or cultural preferences. For example, in many European countries, Monday is considered the first day of the week.</p>



<ul class="wp-block-list">
<li><strong>Consistent Reporting</strong>: Ensure consistency in date-related calculations and reports, especially when working with international data or users from different regions.</li>



<li><strong>Custom Calculations</strong>: When you need specific calculations that depend on the first day of the week, such as weekly summaries or reports.</li>
</ul>



<h2 class="wp-block-heading">How To Set The First Day of Week DATEFIRST</h2>



<p>Here is the code which generate </p>



<pre class="wp-block-code"><code>-- Declare and initialize variables
DECLARE @i INT = 0;                  -- Loop counter
DECLARE @dt DATE;                   -- Current date in loop
DECLARE @dt_blost DATE;            -- Adjusted date based on weekday
DECLARE @tt TABLE (                -- Table variable to store results
    id INT IDENTITY,              -- Auto-incrementing ID
    dt DATE,                      -- Original date
    wd INT,                       -- Weekday number
    dt_blost DATE                 -- Adjusted date
);
DECLARE @wd INT;                   -- Weekday number

-- Set the first day of the week to Monday (1 = Monday, 7 = Sunday)
SET DATEFIRST 1;

-- Initialize @dt with the current date
SET @dt = GETDATE();

-- Loop 20 times to generate dates and adjusted dates
WHILE @i &lt; 20
BEGIN
    -- Add @i days to the current date
    SET @dt = DATEADD(DAY, @i, @dt);

    -- Get the weekday number of the new date
    SET @wd = DATEPART(WEEKDAY, @dt);

    -- Calculate adjusted date (@dt_blost) based on weekday:
    -- If Monday (1), subtract 3 days
    -- If Tuesday (2), subtract 1 day
    -- Otherwise, add 2 days
    SET @dt_blost = DATEADD(DAY,
        IIF(@wd = 1, -3,
            IIF(@wd = 2, -1, 2)), @dt);

    -- Insert the date, weekday, and adjusted date into the table
    INSERT @tt
    SELECT @dt AS dt, @wd AS wd, @dt_blost;

    -- Increment loop counter
    SET @i += 1;
END

-- Display the results
SELECT * FROM @tt;

-- Additional check: show current UTC date, DATEFIRST setting,
-- weekday number and name for the current UTC date
SET DATEFIRST 1;
SELECT 
    GETUTCDATE() AS &#91;getutcdate],
    @@DATEFIRST AS &#91;DATEFIRST],
    DATEPART(WEEKDAY, GETUTCDATE()) AS &#91;datepart_WEEKDAY],
    DATENAME(WEEKDAY, GETUTCDATE()) AS &#91;datename_WEEKDAY];
</code></pre>



<p>Here’s a code in action</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="561" src="https://mietwood.com/wp-content/uploads/2025/07/image-18.jpg" alt="How To Set The First Day of Week DATEFIRST in sql" class="wp-image-3215" srcset="https://mietwood.com/wp-content/uploads/2025/07/image-18.jpg 1024w, https://mietwood.com/wp-content/uploads/2025/07/image-18-300x164.jpg 300w, https://mietwood.com/wp-content/uploads/2025/07/image-18-768x421.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">How To Set The First Day of Week DATEFIRST</figcaption></figure>



<h3 class="wp-block-heading">Explanation</h3>



<ol class="wp-block-list">
<li><strong>Variable Declarations</strong>: The code declares and initializes several variables to store dates, weekday numbers, and a temporary table to hold the results.</li>



<li><strong>SET DATEFIRST</strong>: This sets the first day of the week to Monday, which affects the output of date-related functions.</li>



<li><strong>Loop</strong>: The loop runs 20 times, incrementing the date by the counter value each time.</li>



<li><strong>Date Adjustments</strong>: Based on the weekday, the code adjusts the date:
<ul class="wp-block-list">
<li>If the date is Sunday (weekday 1), it subtracts 3 days.</li>



<li>If the date is Monday (weekday 2), it subtracts 1 day.</li>



<li>For other weekdays, it adds 2 days.</li>
</ul>
</li>



<li><strong>Insert into Temporary Table</strong>: The current date, weekday number, and adjusted date are inserted into the temporary table.</li>



<li><strong>Select from Temporary Table</strong>: The code selects all records from the temporary table to display the results.</li>



<li><strong>Final Select</strong>: The code selects the current UTC date, the DATEFIRST setting, the weekday number, and the weekday name to show the current settings and date information.</li>
</ol>



<p>This script is useful for generating a series of dates, adjusting them based on specific rules, and storing the results for further analysis. If you have any more questions or need further clarification, feel free to ask!</p>



<p>You can read about date and time most important functions in post <a href="https://mietwood.com/python-for-analysts-most-important-datetime-functions">Python for analysts most important datetime functions</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="sqldateandtimefunctionsforpowerbidatetables">SQL Date and Time Functions for Power BI Date Tables</h2>



<p>When building reports in Power BI, a comprehensive <strong>Date Table</strong> is essential for enabling time-based calculations like YTD, MTD, and custom period comparisons. While Power BI can auto-generate a date table, using <strong>SQL</strong> to create one gives you full control over its structure and logic.</p>



<p>Let’s explore key <strong>SQL Server date and time functions</strong> and how to use them to build a robust date table.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="1generatingadaterange">Generating a Date Range</h2>



<p>To create a date table, you need a continuous range of dates. In SQL Server, you can use a loop or a recursive CTE:</p>



<pre class="wp-block-code"><code>DECLARE @StartDate DATE = '2020-01-01';
DECLARE @EndDate DATE = '2030-12-31';

WITH DateCTE AS (
    SELECT @StartDate AS DateValue
    UNION ALL
    SELECT DATEADD(DAY, 1, DateValue)
    FROM DateCTE
    WHERE DateValue &lt; @EndDate
)
SELECT * INTO DateTable FROM DateCTE
OPTION (MAXRECURSION 32767);
</code></pre>



<p>This creates a table with one row per day between 2020 and 2030.</p>



<p>Alternate code you can find here <a href="https://mietwood.com/recursive-cte-in-sql-server">How Works Recursive CTE in SQL Server?</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="2addingdateattributes">Adding Date Attributes</h2>



<p>Once you have the base dates, enrich them with useful columns:</p>



<pre class="wp-block-code"><code>ALTER TABLE DateTable ADD 
    Year INT,
    Month INT,
    MonthName VARCHAR(20),
    Quarter INT,
    Weekday INT,
    WeekdayName VARCHAR(20);

UPDATE DateTable
SET 
    Year = YEAR(DateValue),
    Month = MONTH(DateValue),
    MonthName = DATENAME(MONTH, DateValue),
    Quarter = DATEPART(QUARTER, DateValue),
    Weekday = DATEPART(WEEKDAY, DateValue),
    WeekdayName = DATENAME(WEEKDAY, DateValue);
</code></pre>



<p>These columns allow for flexible filtering and grouping in Power BI.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="3fiscalcalendarandflags">Fiscal Calendar and Flags</h2>



<p>You can also add fiscal logic and flags:</p>



<pre class="wp-block-code"><code>ALTER TABLE DateTable ADD FiscalYear INT;

UPDATE DateTable
SET FiscalYear = CASE 
    WHEN MONTH(DateValue) &gt;= 7 THEN YEAR(DateValue) + 1
    ELSE YEAR(DateValue)
END;
</code></pre>



<p>Add flags like <code>IsWeekend</code>, <code>IsToday</code>, or <code>IsCurrentMonth</code> to simplify DAX expressions.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="conclusion">Conclusion</h2>



<p>SQL’s date and time functions like <code>DATEADD</code>, <code>DATEPART</code>, <code>DATENAME</code>, and <code>YEAR</code> are powerful tools for building a custom date table. Once created, export it to Power BI or use it as a view for dynamic reporting.</p>



<p>Would you like a ready-to-run SQL script for a complete date table?</p>



<p>Post written with the help of <a class="ek-link" href="https://copilot.microsoft.com/" target="_blank" rel="noopener">https://copilot.microsoft.com/</a></p>



<p></p>
<p>The post <a rel="nofollow" href="https://mietwood.com/how-to-set-the-first-day-of-week-datefirst">How To Set The First Day of Week DATEFIRST</a> appeared first on <a rel="nofollow" href="https://mietwood.com">Customer Experience Management</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Measuring product similarity &#8211; 5 important secrets of python programming</title>
		<link>https://mietwood.com/measuring-product-similarity</link>
		
		<dc:creator><![CDATA[Maki Pa]]></dc:creator>
		<pubDate>Thu, 08 Feb 2024 21:45:16 +0000</pubDate>
				<category><![CDATA[Data Science]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Business Analytics]]></category>
		<category><![CDATA[data science]]></category>
		<category><![CDATA[python]]></category>
		<guid isPermaLink="false">https://mietwood.com/?p=2040</guid>

					<description><![CDATA[<p>Measuring product similarity, and recommendation understanding in the realm of e-commerce, is paramount. It serves as the cornerstone for various decision-making processes, ranging from product recommendations tailored to individual preferences to detecting duplicate entries in vast datasets. At its core, product similarity encompasses the comparison of attributes, features, and user interactions, aiming to identify items...</p>
<p>The post <a rel="nofollow" href="https://mietwood.com/measuring-product-similarity">Measuring product similarity &#8211; 5 important secrets of python programming</a> appeared first on <a rel="nofollow" href="https://mietwood.com">Customer Experience Management</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Measuring product similarity, and recommendation understanding in the realm of e-commerce, is paramount. It serves as the cornerstone for various decision-making processes, ranging from product recommendations tailored to individual preferences to detecting duplicate entries in vast datasets. </p>



<p>At its core, product similarity encompasses the comparison of attributes, features, and user interactions, aiming to identify items that share common traits or appeal to similar audiences. In this blog post, we delve into the Python programming to unveil the method and some techniques behind measuring product similarity.</p>



<p>We use Jaccard similarity and Levenshtein distance for text analysis. This post equips readers with the knowledge and practical skills needed to navigate the intricate landscape of product similarity measurement.</p>



<p>Through real-world examples and code snippets, we demonstrate how Python empowers analysts and developers to build sophisticated product similarity recommender systems, unlocking new avenues for enhancing user experiences and driving business growth.</p>



<p>We are going to use product names dataset from <a href="https://mietwood.com/similarity-measure-in-text-corpus" class="ek-link">Similarity measure in text corpus</a></p>



<p>Jaccard similarity is a metric used to measure the similarity between two sets by comparing their intersection with their union. It is particularly useful in text analysis, data mining, and recommendation systems for determining the similarity between documents, items, or user preferences. The Jaccard similarity coefficient is calculated as the size of the intersection of the sets divided by the size of the union of the sets. This coefficient ranges from 0 to 1, where a value of 1 indicates that the sets are identical, and a value of 0 indicates no overlap between the sets. In essence, Jaccard similarity captures the proportion of shared elements between sets relative to their total combined elements, providing a robust measure of similarity that is independent of set size. This metric is invaluable in various applications, including document clustering, collaborative filtering, and information retrieval, where identifying similarities between items or documents is essential for making accurate predictions and recommendations. measuring product similarity.</p>



<p>Let&#8217;s make some order because the results we have got is hart to read</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="128" src="https://mietwood.com/wp-content/uploads/2024/02/image-1.jpg" alt="Measuring product similarity" class="wp-image-2041" srcset="https://mietwood.com/wp-content/uploads/2024/02/image-1.jpg 1024w, https://mietwood.com/wp-content/uploads/2024/02/image-1-300x38.jpg 300w, https://mietwood.com/wp-content/uploads/2024/02/image-1-768x96.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>We can easily remove diagonal, identical similarity &#8211; measuring product similarity</p>



<pre class="wp-block-code"><code>i = 0
dfpst = &#91;]
bsnt = &#91;]
for q in dfps&#91;'name_clr']:
    print(round(100*i/len(dfps&#91;'name_clr']),2),q)
    dfpst = dfps&#91;'name_clr'].apply(lambda x: jaccard_similarity(q.split(),x.split())) 
    bs = &#91;(k,round(j,2)) for j, k in zip(dfpst, dfps&#91;'name_clr']) if <span style="background-color:#dab663" class="has-inline-background">(j >= 0.4) and (j &lt;1)</span>]
    bsnt.append({'q':q, 'bsn': bs})
    i+=1  </code></pre>



<p>But still that is not the perfect solution. Let&#8217;s define jaccard_diff function.</p>



<pre class="wp-block-code"><code>def jaccard_diff(query, document):
    diff = set(document).difference(set(query))
    diff_ind = sorted(&#91;document.index(k) for k in list(diff)])
    return &#91;document&#91;k] for k in diff_ind]

def jaccard_int(query, document):
    diff = set(query).intersection(set(document))
    diff_ind = sorted(&#91;query.index(k) for k in list(diff)])
    return &#91;query&#91;k] for k in diff_ind]</code></pre>



<p>Let&#8217;s reformat output like this. Measuring product similarity.</p>



<pre class="wp-block-code"><code>xx2arr = &#91;]
for i, r in xx1.iterrows():
    if len(r.bsn) > 0:
        for k in r.bsn:
            diff = jaccard_diff(r&#91;'q'].split(), k&#91;0].split())
            dint = jaccard_int(r&#91;'q'].split(), k&#91;0].split())
            xx2arr.append({'q': r.q,
                           'ss': k&#91;0],
                           'sss': k&#91;1],
                           'diff': ' '.join(diff), 
                           'dint': ' '.join(dint), 
                           'diffa': diff,
                           'dinta': dint
                           })
        else:
            xx2arr.append({'q': r.q, 'ss': '', 'sss': 0})</code></pre>



<p>Then we got nice redable table, where we have product in question in q, simmilar products in ss, similarity in sss and core of simmilarity in dint and the difference in diff.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="339" src="https://mietwood.com/wp-content/uploads/2024/02/image-2.jpg" alt="" class="wp-image-2042" srcset="https://mietwood.com/wp-content/uploads/2024/02/image-2.jpg 1024w, https://mietwood.com/wp-content/uploads/2024/02/image-2-300x99.jpg 300w, https://mietwood.com/wp-content/uploads/2024/02/image-2-768x254.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Still we can improve our results looking more homogenous groups by sorting in excel. Measuring product similarity.</p>



<pre class="wp-block-code"><code><strong>panason black expand digit cordless phone system -</strong>
  5.8 ghz kxtg4323b
  5.8 ghz kxtg4324b
  dect 6.0 kxtg8232b
  dect 6.0 kxtg9348t
  dect 6.0 kxtg9372b
  dect 6.0 metal kxtg9332t
<strong>panason black lumix digit camera -</strong>
  10.1 megapixel dmcfz28k
  wide angl len dmctz5k
<strong>panason black theater sound system -</strong>
  blu-ray disc scbt100
  dvd home scpt660
  dvd home scpt760
  dvd home scpt960
</code></pre>



<h2 class="wp-block-heading">Levenshtein distance in measuring product similarity</h2>



<p>Levenshtein distance, also known as edit distance, is a metric used to measure the similarity between two strings. It calculates the minimum number of single-character edits (insertions, deletions, or substitutions) required to change one string into another. Levenshtein distance is often used in text analysis and computational linguistics for tasks such as spell checking, DNA sequencing, and natural language processing.</p>



<p>Here&#8217;s how the Levenshtein distance is calculated:</p>



<ol class="wp-block-list">
<li>Start with two strings, let&#8217;s call them string A and string B, each consisting of n and m characters respectively.</li>



<li>Initialize an (n+1) × (m+1) matrix where each cell represents the Levenshtein distance between substrings of A and B.</li>



<li>Iterate through each cell in the matrix, filling in the values based on the following rules:
<ul class="wp-block-list">
<li>If the characters at the current positions in A and B are the same, the value of the current cell is the same as the value in the cell diagonally above-left.</li>



<li>If the characters are different, the value of the current cell is one plus the minimum of the values in the adjacent cells (above, left, and above-left).</li>
</ul>
</li>



<li>Once the entire matrix is filled, the value in the bottom-right cell represents the Levenshtein distance between string A and string B.</li>
</ol>



<p>The Levenshtein distance provides a quantitative measure of similarity between two strings, where smaller distances indicate greater similarity. It is a versatile tool in text analysis for tasks such as fuzzy string matching, similarity detection, and error correction.</p>



<pre class="wp-block-code"><code>import numpy as np
import Levenshtein

def levenshtein_distance(s1, s2):
    return Levenshtein.distance(s1, s2)

def most_similar_sentences(sentence, sentence_list, n=5):
    distances = &#91;]
    
    # Calculate Levenshtein distance between the given sentence and all other sentences
    for s in sentence_list:
        distance = levenshtein_distance(sentence, s)
        distances.append((s, distance))
    
    # Sort the distances in ascending order
    distances.sort(key=lambda x: x&#91;1])
    
    # Extract the most similar sentences
    most_similar = &#91;x&#91;0] for x in distances&#91;:n]]
    
    return most_similar

# Example list of sentences
sentences = &#91;
    "The quick brown fox jumps over the lazy dog.",
    "A quick brown dog jumps over the lazy fox.",
    "The lazy dog jumps over the quick brown fox.",
    "The cat sat on the mat.",
    "The dog barks at the cat.",
    "The sun shines bright in the sky."
]

# Sentence to compare
target_sentence = "The quick brown dog jumps over the lazy fox."

# Find the most similar sentences to the target sentence
similar_sentences = most_similar_sentences(target_sentence, sentences)

# Print the most similar sentences
print("Target Sentence:", target_sentence)
print("Most Similar Sentences:")
for i, s in enumerate(similar_sentences, 1):
    print(f"{i}. {s}")</code></pre>



<p><strong>Introduction:</strong></p>



<ul class="wp-block-list">
<li>Brief overview of the importance of measuring product similarity in various industries, such as e-commerce, recommendation systems, and market analysis.</li>



<li>Introduction to the role of Python programming in implementing algorithms for measuring product similarity.</li>
</ul>



<p><strong>Understanding Product Similarity:</strong></p>



<ul class="wp-block-list">
<li>Explanation of what product similarity means and why it&#8217;s important.</li>



<li>Discussion on different aspects of product similarity, including attributes, features, and user preferences.</li>



<li>Examples of scenarios where measuring product similarity is crucial, such as recommending similar products to customers or detecting duplicate products in a dataset.</li>
</ul>



<p><strong>Measuring Product Similarity with Python:</strong></p>



<ul class="wp-block-list">
<li>Introduction to various techniques and algorithms used to measure product similarity.</li>



<li>Explanation of common similarity metrics, including:
<ul class="wp-block-list">
<li>Cosine similarity</li>



<li>Euclidean distance</li>



<li>Jaccard similarity</li>



<li>Levenshtein distance (for text similarity)</li>
</ul>
</li>



<li>Code examples demonstrating how to implement these similarity metrics in Python using popular libraries such as NumPy and scikit-learn.</li>



<li>Discussion on the strengths and weaknesses of each similarity metric and considerations for choosing the right metric based on the specific use case.</li>
</ul>



<p><strong>Case Study: Building a Product Similarity Recommender System:</strong></p>



<ul class="wp-block-list">
<li>Example case study demonstrating how to build a simple product similarity recommender system using Python.</li>



<li>Steps involved in collecting and preprocessing product data.</li>



<li>Implementation of similarity metrics to calculate similarity scores between products.</li>



<li>How to use the calculated similarity scores to recommend similar products to users.</li>



<li>Code snippets and explanations illustrating each step of the process.</li>
</ul>



<p><strong>Conclusion:</strong></p>



<ul class="wp-block-list">
<li>Recap of the importance of measuring product similarity in various industries.</li>



<li>Summary of the key concepts discussed in the blog post, including common similarity metrics and their implementation in Python.</li>



<li>Encouragement for readers to explore further and experiment with measuring product similarity in their own projects using Python programming.</li>
</ul>



<p>Writen with the help of: <a href="https://chat.openai.com" class="ek-link" target="_blank" rel="noopener">https://chat.openai.com</a></p>
<p>The post <a rel="nofollow" href="https://mietwood.com/measuring-product-similarity">Measuring product similarity &#8211; 5 important secrets of python programming</a> appeared first on <a rel="nofollow" href="https://mietwood.com">Customer Experience Management</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Similarity measure in text corpus &#8211; python secrets for analytics</title>
		<link>https://mietwood.com/similarity-measure-in-text-corpus</link>
		
		<dc:creator><![CDATA[Maki Pa]]></dc:creator>
		<pubDate>Tue, 06 Feb 2024 21:39:17 +0000</pubDate>
				<category><![CDATA[Data Science]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Business Analytics]]></category>
		<category><![CDATA[data science]]></category>
		<category><![CDATA[python]]></category>
		<guid isPermaLink="false">https://mietwood.com/?p=2030</guid>

					<description><![CDATA[<p>Similarity measure in text corpus is the distance between two vectors where the vector dimensions represent the features of two objects. Similarity is the measure of how similar or how different two objects are. The measure of similarity is the degree of similarity and vice versa. Usually, it is measured in the range 0 to...</p>
<p>The post <a rel="nofollow" href="https://mietwood.com/similarity-measure-in-text-corpus">Similarity measure in text corpus &#8211; python secrets for analytics</a> appeared first on <a rel="nofollow" href="https://mietwood.com">Customer Experience Management</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Similarity measure in text corpus is the distance between two vectors where the vector dimensions represent the features of two objects. Similarity is the measure of how similar or how different two objects are. The measure of similarity is the degree of similarity and vice versa. Usually, it is measured in the range 0 to 1 and it is called the similarity score.classification, automated document linking, spell correction makes use of similarity measures.</p>



<p>Inspired by: Ethan Brown: <a href="https://github.com/etano/productner/tree/master" class="ek-link" target="_blank" rel="noopener">Product categorization and named entity recognition</a></p>



<h2 class="wp-block-heading">Data</h2>



<p>I will practice on following dataset: <a href="https://github.com/etano/productner/blob/master/Product%20Dataset.csv" class="ek-link" target="_blank" rel="noopener">Product-data.csv</a>. Before processing dataset has been converted to excel and devided into three sheets: names, descriptions and prices.</p>



<h2 class="wp-block-heading">The problem of similarity measure in text corpus</h2>



<p>The problem is to extract or create product groups and differentiation factors from product&#8217;s titles = product names. The idea cames from marketplaces where based on this information program can group products to category or compare prices based on titlte during simmilarity measure to other products from different offerers.</p>



<h2 class="wp-block-heading">Preprocessing</h2>



<pre class="wp-block-code"><code>import pandas as pd


# input/output files
input_xls_file = 'product_dataset.xlsx'
output_xls_file = 'product_groups.xlsx'

dfp = pd.read_excel(input_xls_file,sheet_name='product_names')
print(dfp.columns)

#preprocessing

def preprocessing_text(text):    
    '''The function is to remove punctuation, stopwords and apply stemming'''
    import re
    from nltk.corpus import stopwords
    from nltk.stem import PorterStemmer

    stop_words = stopwords.words('english')    
    porter = PorterStemmer()
    
    # eliminate punctuation, stopwords, convert to lowercase and apply stemming
    words = re.sub("&#91;^a-zA-Z]", " ", text) 
    words = &#91;word.lower() for word in text.split() if word.lower() not in stop_words]
    words = &#91;porter.stem(word) for word in words]
    return " ".join(words)


dfp&#91;'name'] = dfp&#91;'name'].astype(str)
dfp&#91;'name_clr'] = dfp&#91;'name'].apply(preprocessing_text)</code></pre>



<h2 class="wp-block-heading">Groupping</h2>



<p>Jaccard similarity or intersection over union is defined as <strong>size of intersection divided by size of union of two sets. </strong>Let’s take example of two sentences. Similarity measure in text corpus.</p>



<p id="09c1">Sentence 1: President greets the press in Chicago and Sentence 2: Obama speaks in Illinois &#8211; these sentences have no common words and will have a Jaccard score of 0. This is a terrible distance score because the 2 sentences have very similar meanings. Here Jaccard similarity is neither able to capture semantic similarity nor lexical semantic of these two sentences.</p>



<p id="b1c2">Moreover, this approach has an&nbsp;<strong>inherent flaw</strong>. That is, as the&nbsp;<strong>size of the document increases</strong>, the number of common words tend to increase even if the documents talk about different topics.</p>



<pre class="wp-block-code"><code>def tokenize_text(text):
    tokens_set = set(text.split())
    return ' '.join(tokens_set)

# tokenize and sort    
dfp&#91;'name_set'] = dfp&#91;'name_clr'].apply(tokenize_text)
dfps = dfp.sort_values(by='name_clr')


def jaccard_similarity(query, document):
    intersection = set(query).intersection(set(document))
    union = set(query).union(set(document))
    return len(intersection)/len(union)

i = 0
for q in dfps&#91;'name_clr']: 
    dfps&#91;i] = dfps&#91;'name_clr'].apply(lambda x: jaccard_similarity(q,x))
    i += 1
    print(i/len(dfps&#91;'name_clr']))

best_score = &#91;]
i=0
for i in range(len(dfps&#91;'name_clr'])):
    bsn = dfps&#91;dfps&#91;i]>0.9]&#91;'name_clr'].to_list()
    bss = dfps&#91;dfps&#91;i]>0.9]&#91;i].to_list()
    best_score.append({'q':dfps&#91;'name_clr']&#91;i],'bsn':bsn, 'bss':bss})
                    
xx = pd.DataFrame(best_score)
xx.to_excel('xx.xlsx')</code></pre>



<h2 class="wp-block-heading">Results</h2>



<p>You can print results with this code. Similarity measure in text corpus</p>



<pre class="wp-block-code"><code>for i, r in xx.iterrows():
    print(r&#91;'q'])
    for k,j in zip(r.bsn, r.bss):
        if j&lt;1:
            print('-',k,j) </code></pre>



<p>it prints results as follows</p>



<pre class="wp-block-code"><code>soni vaio cs seri red notebook comput - vgncs110er
- soni vaio cs seri red notebook comput - vgncs180jr 0.9130434782608695
- soni vaio rt seri black all-in-on desktop comput - vgcrt150i 0.9130434782608695

speck clear 13' macbook see thru hard shell case - mb13clrseev2
- speck green 13' macbook see thru hard shell case - mb13grnseev2 0.9166666666666666
- speck seethru aqua hard shell case 13' macbook - mb13aquseev2 0.9565217391304348
- speck seethru blue hard shell case 15' macbook - mb15bluseev2 0.9130434782608695
- speck seethru clear hard shell case 15' macbook - mb15clrseev2 0.9130434782608695
- speck seethru orang hard shell case 13' macbook - mb13orgseev2 0.9166666666666666
- speck seethru pink hard shell case 13' macbook - mb13pnkseev2 0.9166666666666666
- speck seethru purpl hard shell case 15' macbook - mb15purseev2 0.9130434782608695</code></pre>



<h2 class="wp-block-heading">Optimisation</h2>



<pre class="wp-block-code"><code>q1 = 'yamaha rx-v363bl 5.1 channel digit home theater receiv black - rxv363bk'
d1 = 'nikon black 13.5 megapixel coolpix digit camera - coolpixp6000bk'

q1 = 'speck black toughskin case iphon 3g - iph3gblkt'
d1 = 'speck black toughskin ipod classic case - icblkt'
#set(q1.split())
jaccard_similarity(q1.split(), d1.split())


i = 0
dfpst = &#91;]
bsnt = &#91;]
for q in dfps&#91;'name_clr']:
    print(i/len(dfps&#91;'name_clr']),q)
    dfpst = dfps&#91;'name_clr'].apply(lambda x: jaccard_similarity(q.split(),x.split())) 
    bs = &#91;(k,j) for j, k in zip(dfpst, dfps&#91;'name_clr']) if j >= 0.4]
    bsnt.append({'q':q, 'bsn': bs})
    i+=1    
            
xx1 = pd.DataFrame(bsnt)
xx1.to_excel('xx1.xlsx')</code></pre>



<h2 class="wp-block-heading">Case study</h2>



<p>The problem of extracting features from unstructured textual data can be given different names depending on the circumstances and desired outcome. Generally, we can split tasks into two camps: sequence classification and sequence tagging. Similarity measure in text corpus.</p>



<p>In sequence classification, we take a text fragment (usually a sentence up to an entire document), and try to project it into a categorical space. This is considered a many-to-one classification in that we are taking a set of many features and producing a single output. Similarity measure in text corpus.</p>



<p>Sequence tagging, on the other hand, is often considered a many-to-many problem since you take in an entire sequence and attempt to apply a label to each element of the sequence. An example of sequence tagging is part of speech labeling, where one attempts to label the part of speech of each word in a sentence. Other methods that fall into this camp include chunking (breaking a sentence into relational components) and named entity recognition (extracting pre-specified features like geographic locations or proper names). Similarity measure in text corpus.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="683" src="https://mietwood.com/wp-content/uploads/2024/02/assorted-colors-umbrella-1451040-1024x683.jpg" alt="Similarity measure in text corpus" class="wp-image-2033"/></figure>



<p>En example of text mining you can find <a href="https://mietwood.com/organizational-aspiration-for-social-impact" class="ek-link">here</a> in article Organizational aspiration for social impact. Similarity measure in text corpus.</p>
<p>The post <a rel="nofollow" href="https://mietwood.com/similarity-measure-in-text-corpus">Similarity measure in text corpus &#8211; python secrets for analytics</a> appeared first on <a rel="nofollow" href="https://mietwood.com">Customer Experience Management</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Python for business analytics &#8211; rfm analysis</title>
		<link>https://mietwood.com/python-for-business-analytics-2</link>
		
		<dc:creator><![CDATA[Maki Pa]]></dc:creator>
		<pubDate>Wed, 17 Jan 2024 19:58:19 +0000</pubDate>
				<category><![CDATA[Data Science]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Business Analytics]]></category>
		<category><![CDATA[python]]></category>
		<guid isPermaLink="false">https://mietwood.com/?p=1990</guid>

					<description><![CDATA[<p>We will practice python for business analytics on customer segmentation. RFM is a popular customer segmentation technique used in business analytics and marketing. It stands for Recency, Frequency, and Monetary Value, which are three key metrics used to analyze and segment customers based on their behavior and value to the business. Here&#8217;s a breakdown of...</p>
<p>The post <a rel="nofollow" href="https://mietwood.com/python-for-business-analytics-2">Python for business analytics &#8211; rfm analysis</a> appeared first on <a rel="nofollow" href="https://mietwood.com">Customer Experience Management</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>We will practice python for business analytics on customer segmentation. RFM is a popular customer segmentation technique used in business analytics and marketing. It stands for Recency, Frequency, and Monetary Value, which are three key metrics used to analyze and segment customers based on their behavior and value to the business.</p>



<p>Here&#8217;s a breakdown of each component of RFM:</p>



<ol class="wp-block-list">
<li>Recency:
<ul class="wp-block-list">
<li>Recency refers to the amount of time that has passed since a customer&#8217;s last interaction or purchase with a business.</li>



<li>Customers who have more recently interacted with or made a purchase from the business are generally considered more engaged or active.</li>
</ul>
</li>



<li>Frequency:
<ul class="wp-block-list">
<li>Frequency measures how often a customer engages with or makes purchases from the business within a specific timeframe.</li>



<li>Customers who make frequent purchases or interact with the business more often are usually considered loyal or of higher value.</li>
</ul>
</li>



<li>Monetary Value:
<ul class="wp-block-list">
<li>Monetary Value, also known as the revenue/value contribution from the customer, represents the total amount of money a customer has spent or generated for the business.</li>



<li>Customers who have made high-value purchases or have a higher overall spending tend to be more valuable to the business.</li>
</ul>
</li>
</ol>



<p>To apply RFM segmentation, businesses typically assign numerical values to each component (Recency, Frequency, Monetary Value) on a scale (e.g., from 1 to 5) or divide the values into different segments. For example:</p>



<ul class="wp-block-list">
<li>Recency: Customers who made a purchase within the last 30 days might be given a higher score (e.g., 5), while those who haven&#8217;t made a purchase within the last 90 days might be given a lower score (e.g., 2).</li>



<li>Frequency: Customers who have made multiple purchases within a given time frame may receive a higher score (e.g., 4), whereas those who rarely make purchases might be assigned a lower score (e.g., 2).</li>



<li>Monetary Value: Customers who spend more money per transaction might be given a higher score (e.g., 5), while those who spend less would receive a lower score (e.g., 2).</li>
</ul>



<p>After assigning scores or segments to each RFM component, businesses can combine them to create RFM segments. The resulting segments help identify different customer groups, such as:</p>



<ul class="wp-block-list">
<li>Champions: High-value customers who have made recent purchases frequently.</li>



<li>Sleeping/Lapsed: Customers who were once frequent buyers but haven&#8217;t made a purchase in a while.</li>



<li>Promising: Recently engaged customers who have not spent much yet.</li>



<li>At-risk: Customers who used to be frequent and high-value but haven&#8217;t made a recent purchase.</li>



<li>etc.</li>
</ul>



<p>By segmenting customers based on RFM, businesses can tailor their marketing strategies and efforts to each segment&#8217;s unique characteristics and needs. This enables businesses to understand customer behavior, prioritize marketing initiatives, and implement personalized approaches to maximize customer engagement, loyalty, and revenue. This is the article in our series of <a href="https://mietwood.com/python-for-business-analyst-customer-retention-kohort-analysis" class="ek-link">python for business analytics</a></p>



<pre class="wp-block-code"><code>import numpy as np
import <a href="https://pandas.pydata.org/" class="ek-link" target="_blank" rel="noopener">pandas</a> as pd
import matplotlib.pyplot as plt
import seaborn as sns
#import plotly.express as px

from sklearn.preprocessing import MinMaxScaler
from sklearn.cluster import KMeans
from sklearn.decomposition import PCA

pd.options.display.float_format = '{:,.4f}'.format

def p25 (x): return np.percentile(x, q=25)
def p50 (x): return np.percentile(x, q=50)
def p75 (x): return np.percentile(x, q=75)
def p90 (x): return np.percentile(x, q=90)
def p95 (x): return np.percentile(x, q=95)
def p99 (x): return np.percentile(x, q=99)



xls_file = 'e-com_dataset_mp_c3.xlsx'
print('\nreading order_items')
dfxx = pd.read_excel(xls_file, sheet_name="order_items")

# dfxx.sample(5000).to_excel('e-com_dataset_mp_c3-5000.xlsx')

print(dfxx.info())
print(dfxx.columns)</code></pre>


<div class="kb-row-layout-wrap kb-row-layout-id1990_5f9f59-a2 alignnone wp-block-kadence-rowlayout"><div class="kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top">

<div class="wp-block-kadence-column kadence-column1990_dad792-77"><div class="kt-inside-inner-col">
<h2 class="wp-block-heading">Python for business analytics &#8211; for datetime processing</h2>



<p>The provided code calculates various date-related attributes and derived variables for each row in a DataFrame. It extracts the year, month, week, and day of the week from a given &#8216;order_date&#8217; column. It also creates a new column called &#8216;date_dt&#8217; with only the date component, and another column called &#8216;year_week&#8217; by combining the year and week number. Additionally, it calculates the product of the &#8216;price&#8217; and &#8216;quantity&#8217; columns for each row and assigns the result to a new column called &#8216;value_row&#8217;. These calculations allow for further analysis and segmentation based on different time dimensions and value calculations.</p>
</div></div>

</div></div>

<div class="kb-row-layout-wrap kb-row-layout-id1990_f51aa9-63 alignnone wp-block-kadence-rowlayout"><div class="kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top">

<div class="wp-block-kadence-column kadence-column1990_8c5ab2-1b"><div class="kt-inside-inner-col">
<pre class="wp-block-code"><code># for datetime processing
dfxx&#91;'year'] = dfxx&#91;'order_date'].dt.isocalendar().year
dfxx&#91;'month'] = dfxx&#91;'order_date'].dt.month
dfxx&#91;'week'] = dfxx&#91;'order_date'].dt.isocalendar().week
dfxx&#91;'weekday'] = dfxx&#91;'order_date'].dt.isocalendar().day
dfxx&#91;'date_dt'] = dfxx&#91;'order_date'].dt.date
dfxx&#91;'year_week'] = dfxx.apply(lambda r: 'y'+str(r.year)+'-'+str(r.week).rjust(2, "0"), axis=1)
dfxx&#91;'year_week_num'] = dfxx.apply(lambda r: r.week if r.year == 2017 else 52 + r.week, axis=1)
dfxx&#91;'value_row'] = dfxx.apply(lambda r: round(r.price*r.quantity,2), axis=1)

# value over time
dfxx_yw = dfxx.groupby(&#91;'year_week_num'])&#91;'value_row'].sum().reset_index()
dfxx_yw.info()
dfxx_yw.sort_values('year_week_num',ascending=True).plot(kind='bar', figsize=(15, 10))
plt.style.use('default')
plt.scatter( x=dfxx_yw&#91;'year_week_num'], y=dfxx_yw&#91;'value_row'], s=5 )</code></pre>
</div></div>

</div></div>

<div class="kb-row-layout-wrap kb-row-layout-id1990_bff1b6-f0 alignnone wp-block-kadence-rowlayout"><div class="kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top">

<div class="wp-block-kadence-column kadence-column1990_71337e-72"><div class="kt-inside-inner-col"><div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="874" height="588" src="https://mietwood.com/wp-content/uploads/2024/01/image-23.jpg" alt="" class="wp-image-1997" style="width:532px;height:auto" srcset="https://mietwood.com/wp-content/uploads/2024/01/image-23.jpg 874w, https://mietwood.com/wp-content/uploads/2024/01/image-23-300x202.jpg 300w, https://mietwood.com/wp-content/uploads/2024/01/image-23-768x517.jpg 768w" sizes="auto, (max-width: 874px) 100vw, 874px" /></figure>
</div></div></div>

</div></div>

<div class="kb-row-layout-wrap kb-row-layout-id1990_8c78f0-05 alignnone wp-block-kadence-rowlayout"><div class="kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top">

<div class="wp-block-kadence-column kadence-column1990_6cf738-11"><div class="kt-inside-inner-col">
<pre class="wp-block-code"><code># repeating customers
dfxx_rc = dfxx.groupby(&#91;'year_week_num','customer_id'])&#91;'value_row'].sum().reset_index()
dfxx_rc.info()

dfxx_rep_cust = dfxx_rc.groupby('customer_id').agg({
    'year_week_num': &#91;'count','max'],
    'value_row': 'sum'  
    }).reset_index()

dfxx_rep_cust.columns

dfxx_rep_cust&#91;'Recency'] = dfxx_rep_cust&#91;('year_week_num','max')]
dfxx_rep_cust&#91;'Frequency'] = dfxx_rep_cust&#91;('year_week_num','count')]
dfxx_rep_cust&#91;'Monetary'] = np.log10(dfxx_rep_cust&#91;('value_row',   'sum')])

dfxx_rep_cust.info()

dfxx_rep_cust&#91;'Monetary'].sort_values().plot(kind='hist')
dfxx_rep_cust&#91;'Recency'].sort_values().plot(kind='hist')
dfxx_rep_cust&#91;'Frequency'].sort_values().plot(kind='hist')</code></pre>
</div></div>

</div></div>

<div class="kb-row-layout-wrap kb-row-layout-id1990_9fc3d4-a0 alignnone wp-block-kadence-rowlayout"><div class="kt-row-column-wrap kt-has-3-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top">

<div class="wp-block-kadence-column kadence-column1990_dcfd54-aa"><div class="kt-inside-inner-col">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="571" height="413" src="https://mietwood.com/wp-content/uploads/2024/01/image-26.jpg" alt="Python for business analytics" class="wp-image-2001" srcset="https://mietwood.com/wp-content/uploads/2024/01/image-26.jpg 571w, https://mietwood.com/wp-content/uploads/2024/01/image-26-300x217.jpg 300w" sizes="auto, (max-width: 571px) 100vw, 571px" /><figcaption class="wp-element-caption">Monetary</figcaption></figure>
</div></div>



<div class="wp-block-kadence-column kadence-column1990_d09575-89"><div class="kt-inside-inner-col">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="571" height="413" src="https://mietwood.com/wp-content/uploads/2024/01/image-27.jpg" alt="" class="wp-image-2002" srcset="https://mietwood.com/wp-content/uploads/2024/01/image-27.jpg 571w, https://mietwood.com/wp-content/uploads/2024/01/image-27-300x217.jpg 300w" sizes="auto, (max-width: 571px) 100vw, 571px" /><figcaption class="wp-element-caption">Recency</figcaption></figure>
</div></div>



<div class="wp-block-kadence-column kadence-column1990_8c1796-25"><div class="kt-inside-inner-col">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="571" height="415" src="https://mietwood.com/wp-content/uploads/2024/01/image-28.jpg" alt="" class="wp-image-2003" srcset="https://mietwood.com/wp-content/uploads/2024/01/image-28.jpg 571w, https://mietwood.com/wp-content/uploads/2024/01/image-28-300x218.jpg 300w" sizes="auto, (max-width: 571px) 100vw, 571px" /><figcaption class="wp-element-caption">Frequency</figcaption></figure>
</div></div>

</div></div>

<div class="kb-row-layout-wrap kb-row-layout-id1990_d2f32d-d8 alignnone wp-block-kadence-rowlayout"><div class="kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top">

<div class="wp-block-kadence-column kadence-column1990_6da019-c5"><div class="kt-inside-inner-col">
<pre class="wp-block-code"><code># same oreder in columns
dfxx_rfm = dfxx_rep_cust&#91;&#91;(  'customer_id',      ''),
            (      'Recency',      ''),
            (    'Frequency',      ''),
            (     'Monetary',      '')]]
dfxx_rfm.columns = &#91;'cid','rec','frec','mon']</code></pre>



<p>To normalize the columns &#8216;rec&#8217;, &#8216;frec&#8217;, and &#8216;mon&#8217; in the DataFrame dfxx_rfm for further RFM clustering, you can use the MinMaxScaler from the sklearn.preprocessing module. Here&#8217;s an example code snippet to demonstrate the normalization process. In the code&nbsp;MinMaxScaler&nbsp;scales the values within a specified range, typically between 0 and 1. It transforms the selected columns (&#8216;rec&#8217;,&nbsp;&#8216;frec&#8217;, and&nbsp;&#8216;mon&#8217;) by mapping their original values to the scaled range. The resulting normalized values will now be between 0 and 1, allowing for fair comparison and clustering based on RFM scores. Python for business analytics.</p>



<pre class="wp-block-code"><code>from sklearn.preprocessing import MinMaxScaler

# Create a MinMaxScaler object
scaler = MinMaxScaler()

# Select the columns to be normalized
columns_to_normalize = &#91;'rec', 'frec', 'mon']

# Apply the MinMaxScaler to the selected columns
dfxx_rfm&#91;columns_to_normalize] = scaler.fit_transform(dfxx_rfm&#91;columns_to_normalize])</code></pre>
</div></div>

</div></div>

<div class="kb-row-layout-wrap kb-row-layout-id1990_48668d-89 alignnone wp-block-kadence-rowlayout"><div class="kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top">

<div class="wp-block-kadence-column kadence-column1990_f5d458-62"><div class="kt-inside-inner-col">
<p>In this code, you first define the number of clusters you want (in this case, 3). Then, you create an instance of the&nbsp;<code>KMeans</code>&nbsp;algorithm with the desired number of clusters. Next, you fit the model on the normalized data using the&nbsp;<code>fit</code>&nbsp;method, which assigns each data point to a cluster. The resulting cluster labels are accessed via&nbsp;kmeans.labels_. Finally, you add the cluster labels to the original DataFrame as a new column named&nbsp;&#8216;cluster&#8217;.</p>



<p>Now, you can analyze the clusters and label customers as &#8216;good,&#8217; &#8216;middle-class,&#8217; or &#8216;tail&#8217; based on their assigned cluster. You may want to inspect the characteristics and behavior of customers within each cluster to define appropriate labels for your specific business context.</p>
</div></div>

</div></div>

<div class="kb-row-layout-wrap kb-row-layout-id1990_0ede83-a2 alignnone wp-block-kadence-rowlayout"><div class="kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top">

<div class="wp-block-kadence-column kadence-column1990_a903a7-36"><div class="kt-inside-inner-col">
<pre class="wp-block-code"><code>from sklearn.cluster import KMeans

# Specify the number of clusters
num_clusters = 3

# Create a K-means clustering object
kmeans = KMeans(n_clusters=num_clusters)

# Fit the model on the normalized data
kmeans.fit(dfxx_rfm_norm)

# Get the cluster labels
cluster_labels = kmeans.labels_

# Add the cluster labels as a new column to the original DataFrame
dfxx_rep_cust&#91;'cluster'] = cluster_labels</code></pre>
</div></div>

</div></div>

<div class="kb-row-layout-wrap kb-row-layout-id1990_3eca06-a7 alignnone wp-block-kadence-rowlayout"><div class="kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top">

<div class="wp-block-kadence-column kadence-column1990_f26ced-f7"><div class="kt-inside-inner-col">
<h2 class="wp-block-heading">Data analysis</h2>



<pre class="wp-block-code"><code>import matplotlib.pyplot as plt

# Assume you have the clustered data with cluster labels in a DataFrame called dfxx_rfm

# Create a scatter plot of the clustered data
plt.scatter(dfxx_rfm&#91;'frec'], dfxx_rfm&#91;'mon'], c=dfxx_rfm&#91;'cluster'], cmap='viridis')
plt.xlabel('Frequency')
plt.ylabel('Monetary Value')
plt.title('RFM Clustering')
plt.show()</code></pre>


<div class="kb-row-layout-wrap kb-row-layout-id1990_c18ab5-83 alignnone wp-block-kadence-rowlayout"><div class="kt-row-column-wrap kt-has-2-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top">

<div class="wp-block-kadence-column kadence-column1990_f1a2e7-3d"><div class="kt-inside-inner-col">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="567" height="453" src="https://mietwood.com/wp-content/uploads/2024/01/image-29.jpg" alt="Python for business analytics" class="wp-image-2004" srcset="https://mietwood.com/wp-content/uploads/2024/01/image-29.jpg 567w, https://mietwood.com/wp-content/uploads/2024/01/image-29-300x240.jpg 300w" sizes="auto, (max-width: 567px) 100vw, 567px" /></figure>
</div></div>



<div class="wp-block-kadence-column kadence-column1990_a5100b-63"><div class="kt-inside-inner-col">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="567" height="453" src="https://mietwood.com/wp-content/uploads/2024/01/image-31.jpg" alt="" class="wp-image-2006" srcset="https://mietwood.com/wp-content/uploads/2024/01/image-31.jpg 567w, https://mietwood.com/wp-content/uploads/2024/01/image-31-300x240.jpg 300w" sizes="auto, (max-width: 567px) 100vw, 567px" /></figure>
</div></div>

</div></div>


<p>The dependency between frequency and monetary value, as well as recency and monetary value, carries significant business meaning in the context of customer behavior and business analytics. Let&#8217;s discuss each dependency separately:</p>



<ol class="wp-block-list">
<li>Dependency between Frequency and Monetary Value:
<ul class="wp-block-list">
<li>Understanding the relationship between the frequency of customer purchases and their monetary value allows businesses to identify patterns and segment customers based on their buying behavior.</li>



<li>Higher frequency coupled with higher monetary value indicates customers who are not only loyal but also spend more per transaction, potentially representing high-value or VIP customers.</li>



<li>On the other hand, low frequency with high monetary value may indicate customers who make infrequent but high-value purchases, possibly requiring different engagement strategies targeted at increasing their purchase frequency.</li>
</ul>
</li>



<li>Dependency between Recency and Monetary Value:
<ul class="wp-block-list">
<li>The connection between recency and monetary value helps businesses evaluate the impact of recency on customer spending and loyalty.</li>



<li>Customers who have made recent purchases with high monetary value can indicate high engagement and loyalty, as their recent activity suggests continued interest in the business and potential for future purchases.</li>



<li>Conversely, customers with low recency but high monetary value may indicate a need for re-engagement strategies, as they might be considered lapsed or dormant customers who can potentially be reactivated with targeted marketing efforts.</li>
</ul>
</li>
</ol>



<p>By examining these dependencies, businesses can make informed decisions about customer segmentation, marketing strategies, and resource allocation. For example, identifying and focusing on the high-frequency, high-value customer segment can help drive revenue growth and customer retention. Similarly, employing targeted campaigns to re-engage customers with high monetary value but low recency can potentially boost their activity and extend their customer lifetime value. Understanding the dependencies between these variables allows businesses to tailor their approaches towards different customer segments, ultimately driving overall business success.</p>
</div></div>

</div></div>

<div class="kb-row-layout-wrap kb-row-layout-id1990_8ff4e1-61 alignnone wp-block-kadence-rowlayout"><div class="kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top">

<div class="wp-block-kadence-column kadence-column1990_7ad5aa-05"><div class="kt-inside-inner-col">
<pre class="wp-block-code"><code># We can also try a 3D plot
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# Extract the three dimensions
x = dfxx_rfm&#91;'rec']
y = dfxx_rfm&#91;'frec']
z = dfxx_rfm&#91;'mon']

# Color-code the points based on the cluster labels
c = dfxx_rfm&#91;'cluster']

# Create the scatter plot
scatter = ax.scatter(x, y, z, c=c, cmap='viridis')

# Set labels for each axis
ax.set_xlabel('Recency')
ax.set_ylabel('Frequency')
ax.set_zlabel('Monetary Value')

# Add a colorbar indicating the cluster colors
cbar = fig.colorbar(scatter)

# Show the plot
plt.show()</code></pre>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="473" height="404" src="https://mietwood.com/wp-content/uploads/2024/01/image-30.jpg" alt="" class="wp-image-2005" srcset="https://mietwood.com/wp-content/uploads/2024/01/image-30.jpg 473w, https://mietwood.com/wp-content/uploads/2024/01/image-30-300x256.jpg 300w" sizes="auto, (max-width: 473px) 100vw, 473px" /></figure>
</div></div></div>

</div></div>


<p>RFM analysis is a powerful and widely-used technique for customer value and company profitability management. It offers several benefits and applications that contribute to business success. Here&#8217;s a summary of the usefulness and applications of RFM analysis:</p>



<ol class="wp-block-list">
<li>Customer Segmentation: RFM analysis allows businesses to segment customers based on their recency, frequency, and monetary value scores. This segmentation helps identify different customer groups such as high-value customers, loyal customers, new customers, or at-risk customers. By understanding these segments, businesses can tailor their marketing strategies, customer experience, and communication to improve customer satisfaction and retention.</li>



<li>Targeted Marketing Campaigns: RFM analysis provides valuable insights for targeted marketing campaigns. For example, it helps identify customers who haven&#8217;t made a purchase recently but have a high monetary value. Such customers may be targeted with personalized offers or incentives to encourage repeat purchases and re-engage them with the business.</li>



<li>Customer Retention and Loyalty: RFM analysis helps identify and focus on high-value and loyal customers. By understanding their behaviors and preferences, businesses can implement loyalty programs, exclusive offers, or personalized experiences to strengthen customer loyalty, increase customer retention, and ultimately enhance profitability.</li>



<li>Profitability Management: RFM analysis enables businesses to allocate resources more efficiently. For instance, by identifying and prioritizing high-value customers, businesses can optimize marketing spend, customer service efforts, and cross-selling opportunities towards the customers who provide the most significant contribution to overall profitability.</li>



<li>Decision-Making and Strategy Formulation: RFM analysis provides valuable insights for strategic decision-making. It helps businesses understand the value and potential of different customer segments, identify opportunities for growth, and formulate effective business strategies to maximize profitability.</li>
</ol>



<p>Overall, RFM analysis offers a data-driven approach to effectively manage customer value and profitability. By leveraging customer behavioral data, businesses can make informed decisions, improve customer relationships, enhance profitability, and ultimately achieve long-term success.</p>
<p>The post <a rel="nofollow" href="https://mietwood.com/python-for-business-analytics-2">Python for business analytics &#8211; rfm analysis</a> appeared first on <a rel="nofollow" href="https://mietwood.com">Customer Experience Management</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
