Larry Waddell, Author at ProdSens.live https://prodsens.live/author/larry-waddell/ News for Project Managers - PMI Sat, 15 Jun 2024 21:20:27 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.5 https://prodsens.live/wp-content/uploads/2022/09/prod.png Larry Waddell, Author at ProdSens.live https://prodsens.live/author/larry-waddell/ 32 32 Vue.js Loyihamizning tuzilmasi haqida. https://prodsens.live/2024/06/15/vue-js-loyihamizning-tuzilmasi-haqida/?utm_source=rss&utm_medium=rss&utm_campaign=vue-js-loyihamizning-tuzilmasi-haqida https://prodsens.live/2024/06/15/vue-js-loyihamizning-tuzilmasi-haqida/#respond Sat, 15 Jun 2024 21:20:27 +0000 https://prodsens.live/2024/06/15/vue-js-loyihamizning-tuzilmasi-haqida/ vuejs-loyihamizning-tuzilmasi-haqida.

﷽ Assalamu alaykum! Vue.js loyihasi Vite orqali yaratilganda, loyihaning tuzilmasi quyidagicha bo’ladi. Har bir katalog va faylning maqsadi…

The post Vue.js Loyihamizning tuzilmasi haqida. appeared first on ProdSens.live.

]]>
vuejs-loyihamizning-tuzilmasi-haqida.

Assalamu alaykum!

Vue.js loyihasi Vite orqali yaratilganda, loyihaning tuzilmasi quyidagicha bo’ladi. Har bir katalog va faylning maqsadi va vazifalari haqida batafsil tanishamiz.

my-app/
├── node_modules/
├── public/
│   └── vite.svg
├── src/
│   ├── assets/
│   │   └── vue.svg
│   ├── components/
│   │   └── HelloWorld.vue
│   ├── App.vue
│   ├── main.js
├── .gitignore
├── index.html
├── package.json
├── README.md
└── vite.config.js

Loyihaning asosi

node_modules/

Bu katalogda loyihamizni barcha bog’liq package va modullari saqlanadi. npm install buyruği bajarilganda, barcha kerakli paketlar shu katalogga yuklanadi.

public/

Bu katalog loyihamizni umumiy statik fayllarini saqlaydi. Bu katalogdagi fayllar ilova tuzilayotganda o’zgartirilmasdan oxirgi tuzilmaga ko’chiriladi. Misol uchun, vite.svg fayli.

src/

Loyihamizning asosiy manba kodi shu katalogda joylashgan. Barcha komponentlar, stillar , rasmlar va boshqa resurslar shu yerda saqlanadi.

src/assets/

Bu katalogda loyihamizning rasmlari, shriftlar, va boshqa statik resurslari saqlanadi. Misol uchun, vue.svg fayli.

src/components/

Bu katalogda Vue komponentlari saqlanadi. Har bir komponent alohida .vue faylida saqlanadi. Misol uchun, HelloWorld.vue.

src/App.vue

Bu asosiy Vue komponentidir. Bu komponent ilovangizning asosiy tuzilishini va boshqa komponentlarni o’z ichiga oluvchi hisoblanadi.

src/main.js

Bu fayl ilovamzini ishga tushishi uchun kirish nuqtasi hisoblanadi. Bu faylda Vue ilovasi yaratiladi va asosiy komponent (App.vue) ni o’z ichida HTML faylga renderlaydi , bundan tashqar ba’zi css fayllarimizni global holatda ulashimiz mumkin bo’laadi.

import { createApp } from 'vue'
// import "./style.css" (misol)
import App from './App.vue'

createApp(App).mount('#app')

.gitignore

Bu faylda Git uchun qaysi fayl va kataloglarni versiya boshqaruviga qo’shmaslik kerakligini belgilab qo’yiladi. Misol uchun, node_modules va dist kataloglari.

index.html

Bu ilovamizga kirish uchun asosiy bo’lgan HTML fayl hisoblanadi. Bunda ilovangizni qayerda yuklash kerakligi belgilanadi.


 lang="en">
  
     charset="UTF-8">
     name="viewport" content="width=device-width, initial-scale=1.0">
    </span>Vite + Vue<span class="nt">
  
  
     id="app">

package.json

Bu faylda loyihamizning meta ma’lumotlari, bog’liqliklar (dependencies), skriptlar va boshqa sozlamalar saqlanadi. Misol uchun:

{
  "name": "my-app",
  "version": "0.0.0",
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "serve": "vite preview"
  },
  "dependencies": {
    "vue": "^3.0.0"
  },
  "devDependencies": {
    "vite": "^2.0.0"
  }
}

README.md

Bu fayl loyihamiz haqida ma’lumot beruvchi hujjatdir. Bu yerda loyihangizni qanday o’rnatish va ishlatish bo’yicha ko’rsatmalar beriladi.

vite.config.js

Bu faylda Vite konfiguratsiyasi saqlanadi. Bu faylda tuzilma jarayonini o’zgartirish va kengaytirish mumkin.

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()]
})

Qo’shimcha kataloglar va fayllar

1. src/store/

Agar ilovangizda Vuex yoki Pinia kabi davlat boshqaruv kutubxonalari foydalanilsa, bu katalogda global store boshqaruv fayllari saqlanadi.

2. src/router/

Agar ilovangizda Vue Router ishlatilsa, bu katalogda (sahifalar yo’llari , qoidalari ) saqlanadi.

3. src/styles/

Umumiy uslublar saqlanadigan katalog. Misol uchun, global CSS yoki SASS fayllar.

4. src/utils/

Umumiy yordamchi funksiyalar va boshqa umumiy kodlar uchun katalog.

Loyihani kengaytirish

Yuqoridagi tuzilma Vue.js ilovangizni boshlash uchun asosiy tuzilma (struktura) . Loyihamiz kattalashgani sayin, qo’shimcha kataloglar va fayllar qo’shishimiz mumkin. Modularizatsiya orqali kodni tashkil qilish, qayta foydalanish va boshqarish oson bo’ladi. Vue.js o’rganishda davom etamiz BaarakAllohu fiikum!

https://t.me/mukhriddinweb
https://khodieff.uz

The post Vue.js Loyihamizning tuzilmasi haqida. appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/06/15/vue-js-loyihamizning-tuzilmasi-haqida/feed/ 0
Enhancing Search Accuracy with RRF(Reciprocal Rank Fusion) in Alibaba Cloud Elasticsearch 8.x https://prodsens.live/2024/05/30/enhancing-search-accuracy-with-rrfreciprocal-rank-fusion-in-alibaba-cloud-elasticsearch-8-x/?utm_source=rss&utm_medium=rss&utm_campaign=enhancing-search-accuracy-with-rrfreciprocal-rank-fusion-in-alibaba-cloud-elasticsearch-8-x https://prodsens.live/2024/05/30/enhancing-search-accuracy-with-rrfreciprocal-rank-fusion-in-alibaba-cloud-elasticsearch-8-x/#respond Thu, 30 May 2024 02:20:47 +0000 https://prodsens.live/2024/05/30/enhancing-search-accuracy-with-rrfreciprocal-rank-fusion-in-alibaba-cloud-elasticsearch-8-x/ enhancing-search-accuracy-with-rrf(reciprocal-rank-fusion)-in-alibaba-cloud-elasticsearch-8.x

Introduction to Enhanced Ranking with RRF in Elasticsearch With the arrival of Elasticsearch 8.x, a new horizon in…

The post Enhancing Search Accuracy with RRF(Reciprocal Rank Fusion) in Alibaba Cloud Elasticsearch 8.x appeared first on ProdSens.live.

]]>
enhancing-search-accuracy-with-rrf(reciprocal-rank-fusion)-in-alibaba-cloud-elasticsearch-8.x

Introduction to Enhanced Ranking with RRF in Elasticsearch

With the arrival of Elasticsearch 8.x, a new horizon in search technology has emerged. Elasticsearch has welcomed Reciprocal Rank Fusion (RRF) into its suite of capabilities, offering an enriched approach to merging and re-ranking multiple result sets. This innovative feature retains the foundation of its predecessors—relevance ranking via BM25 and recall sorting through vector similarity—while empowering a cohesive and more precise ranking process when integrated. By pairing these methodologies through RRF, Elasticsearch heightens its accuracy in delivering search results. This article will walk you through the technicalities of this integration using a detailed example.

Getting Started with Elasticsearch

To embark on this journey, you’ll need an Elasticsearch cluster running version 8.8 or later. Alibaba Cloud Elasticsearch has made clusters with the latest version 8.x available for immediate purchase.

1) Make your selection between versions 8.8 or 8.9 and configure your nodes.
2) Navigate through and select the appropriate network configuration.
3) Proceed to checkout with a simple click.

img

What is Elasticsearch?

A Closer Look at RRF Testing

Introduction to RRF

RRF operates on an algorithmic formula where ‘k’ is a constant value set by default to 60. Within the algorithm, ‘R’ represents the document sets sorted for every result from a query. Here, ‘r(d)’ specifies the rank order of document ‘d’ under certain query conditions, starting from one.

Algorithmic formula:

img

RRF Ranking Example

In a scenario where documents are ranked based on both BM25 and dense embedding, RRF seamlessly blends the outcomes to produce an integrated and improved ranking.

BM25 Rank Dense Embeding Rank RRF Result k=0
A 1 B 1 B:12+1/1=1.5
B 2 C 2 A:1/1+1/3=1.3
C 3 A 3 C:1/3+1/2=0.83

Data and Model Readiness

Pursuing the methodology described in the ESRE Series (I), we utilized the text_embedding model and launched the deployment through Eland. Subsequently, we uploaded the initial dataset via Kibana, configured the text-embeddings pipeline, and ultimately crafted indexed data replete with vectors via index rebuilding.

What is Vector Search and Embedding Model?

Evaluating Query Impact

For the assessment, one query from the TREC 2019 Deep Learning Track’s “Paragraph Ranking Task” was selected to test the search results against the three techniques: text, vector, and RRF fusion. We utilized the query “hydrogen is a liquid below what temperature” to exemplify and contrast these methods.

// RRF Mixed Arrangement Query
GET collection-with-embeddings/_search
{
  "size": 10,
  "query": {
    "query_string": {
      "query": "hydrogen is a liquid below what temperature"
    }
  },
  "knn": [
    {
      "field": "text_embedding.predicted_value",
      "k": 10,
      "num_candidates": 100,
      "query_vector_builder": {
        "text_embedding": {
          "model_id": "sentence-transformers__msmarco-minilm-l-12-v3",
          "model_text": "hydrogen is a liquid below what temperature"
        }
      }
    }
  ],
  "_source": [
    "id"
  ],
  "rank": {
    "rrf": {
      "window_size": 10,
      "rank_constant": 1
    }
  }
}

//vector search
GET collection-with-embeddings/_search
{
  "size": 10,
  "knn": [
    {
      "field": "text_embedding.predicted_value",
      "k": 10,
      "num_candidates": 100,
      "query_vector_builder": {
        "text_embedding": {
          "model_id": "sentence-transformers__msmarco-minilm-l-12-v3",
          "model_text": "hydrogen is a liquid below what temperature"
        }
      }
    }
  ],
  "_source": [
    "id"
  ] 
}

//text search
GET collection-with-embeddings/_search
{
  "size": 10,
  "query": {
    "query_string": {
      "query": "how are some sharks warm blooded"
    }
  },
  "_source": [
    "id"
  ] 
}

The three query types yielded varying results in terms of accuracy—scaled from ‘not relevant’ to ‘completely relevant.’ It’s evident from the rankings that RRF’s ability to synthesize vector and text query results pushes relevant documents – such as “7911557”, previously absent from vector results, to the forefront. Simultaneously, RRF spotlighted the importance of documents like “6080460”, which the text query originally overlooked, thereby sharpening recall precision.

RRF Mixed Arrangement Query Vector search Text Search
Paragraph ID accuracy Paragraph ID accuracy Paragraph ID accuracy
8588222 0 8588222 0 7911557 3
8588219 3 8588219 3 8588219 3
7911557 3 6080460 3 8588222 0
128984 3 128984 3 2697752 2
6080460 3 4254815 1 128984 3
2697752 2 6343521 1 1721142 0
4254815 1 1020793 0 8588227 0
1721142 0 4254811 3 302210 1
6343521 1 1959030 0 2697746 2
8588227 0 4254813 1 7350325 0

Through the adept integration of search technologies, Elasticsearch’s adoption of RRF underpins a more accurate and refined experience for users delving into the vast expanse of data. Discover the power of enhanced search with Alibaba Cloud Elasticsearch’s public cloud service — where precision meets performance.

30-Day Free Trial: Help You Implement the Latest Version of Elasticsearch

Search and Analytics Service Elasticsearch Version: Alibaba Cloud Elasticsearch is a fully managed Elasticsearch cloud service built on the open-source Elasticsearch, supporting out-of-the-box functionality and pay-as-you-go while being 100% compatible with open-source features. Not only does it provide the cloud-ready components of the Elastic Stack, including Elasticsearch, Logstash, Kibana, and Beats, but it also partners with Elastic to offer the free X-Pack (Platinum level advanced features) commercial plugin. This integration includes advanced features such as security, SQL, machine learning, alerting, and monitoring, and is widely used in scenarios such as real-time log analysis, information retrieval, and multi-dimensional data querying and statistical analysis.

For more information about Elasticsearch, please visit https://www.alibabacloud.com/en/product/elasticsearch.

The post Enhancing Search Accuracy with RRF(Reciprocal Rank Fusion) in Alibaba Cloud Elasticsearch 8.x appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/05/30/enhancing-search-accuracy-with-rrfreciprocal-rank-fusion-in-alibaba-cloud-elasticsearch-8-x/feed/ 0
O que é strict mode no JavaScript? https://prodsens.live/2024/05/27/o-que-e-strict-mode-no-javascript/?utm_source=rss&utm_medium=rss&utm_campaign=o-que-e-strict-mode-no-javascript https://prodsens.live/2024/05/27/o-que-e-strict-mode-no-javascript/#respond Mon, 27 May 2024 13:20:27 +0000 https://prodsens.live/2024/05/27/o-que-e-strict-mode-no-javascript/ o-que-e-strict-mode-no-javascript?

E aí, gente bonita, beleza? Retomando os estudos em JS, hoje vou falar um pouco para vocês sobre…

The post O que é strict mode no JavaScript? appeared first on ProdSens.live.

]]>
o-que-e-strict-mode-no-javascript?

E aí, gente bonita, beleza? Retomando os estudos em JS, hoje vou falar um pouco para vocês sobre o strict mode. Então pega um cafezinho e vem comigo.

Problemas da linguagem

Caso você seja novo na linguagem e não saiba, o JavaScript é uma linguagem muito poderosa e com ela você pode fazer muita coisa, mas quando eu digo muita coisa, é MUITA COISA mesmo. Coisas que não deveriam ser feitas. Costumo dizer que essa liberdade do JS é uma das melhores e piores coisas da linguagem.

Agora você me pergunta: que coisas são essas?

E aqui estou para te dizer alguns problemas da linguagem:

  • Pode atribuir valores a variáveis não declaradas.
  • Você pode usar o operador delete em variáveis e funções.
  • Nomes de parâmetros duplicados são permitidos fora do strict mode.

Caso queira ver mais alguns problemas da linguagem, recomendo a leitura do repositório What the f*ck JavaScript?. Conhecer os problemas da linguagem é tão importante quanto os seus pontos fortes.

WTF

Como eu resolvo isso?

Ok, realmente temos alguns problemas na linguagem, mas para evitar todos logo de cara você não precisa ler todo o repositório do What the f*ck JavaScript? de uma vez só. Você pode usar o famoso ‘use strict’; no topo dos seus arquivos. Assim, você vai ativar o modo estrito para todo o arquivo e todos esses problemas da linguagem vão aparecer como erros no seu console e você vai poder resolvê-los antes de enviar para o ar!

É importante lembrar que muitas bibliotecas já usam o strict mode por debaixo dos panos, assim como compiladores como Babel e TypeScript. Então você deve se preocupar mais com o uso do strict mode quando for trabalhar com JS puro.

YES

Conclusão

Dito tudo isso, hoje vimos que o nosso amado JS não é só feito de coisas boas, apesar de ainda serem muitas rsrs. Recomendo fortemente a leitura do repositório What the f*ck JavaScript? e, caso queira saber o que mais o modo estrito do JavaScript resolve, eu deixei alguns links de referências.

Referências

W3S Schools

Se chegou até aqui, me segue la nas redes vizinhas.

thank you dog

The post O que é strict mode no JavaScript? appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/05/27/o-que-e-strict-mode-no-javascript/feed/ 0
How Sports Partnership Contributes to the Growth and Attraction of Cryptocurrency Exchanges https://prodsens.live/2024/02/26/how-sports-partnership-contributes-to-the-growth-and-attraction-of-cryptocurrency-exchanges/?utm_source=rss&utm_medium=rss&utm_campaign=how-sports-partnership-contributes-to-the-growth-and-attraction-of-cryptocurrency-exchanges https://prodsens.live/2024/02/26/how-sports-partnership-contributes-to-the-growth-and-attraction-of-cryptocurrency-exchanges/#respond Mon, 26 Feb 2024 09:20:23 +0000 https://prodsens.live/2024/02/26/how-sports-partnership-contributes-to-the-growth-and-attraction-of-cryptocurrency-exchanges/ how-sports-partnership-contributes-to-the-growth-and-attraction-of-cryptocurrency-exchanges

The cryptocurrency industry has integrated into many areas of our lives: musicians, actors, and other influential people announce…

The post How Sports Partnership Contributes to the Growth and Attraction of Cryptocurrency Exchanges appeared first on ProdSens.live.

]]>
how-sports-partnership-contributes-to-the-growth-and-attraction-of-cryptocurrency-exchanges

The cryptocurrency industry has integrated into many areas of our lives: musicians, actors, and other influential people announce cooperation with cryptocurrency companies. As sports is one of the greatest hobbies of mankind, it is no exception.

Cryptocurrency companies choose ambassadors among the most famous athletes and offer innovative solutions that allow fans to feel part of their lives and support them directly.

That’s why I’ve put together a partnership between the sports and cryptocurrency industries that has happened recently.

Chiliz Partnership with K-League

Chiliz, a leading sports blockchain network, has partnered with the K-League, South Korea’s leading professional soccer league.

This partnership will see the integration of K-League Fantasy into the Chiliz platform and marks a significant expansion of digital engagement opportunities for football fans.

As part of this agreement, Chiliz will add the K-League Fantasy feature, which allows football fans to immerse themselves in an interactive and immersive fantasy football experience.

The integration aims to increase fan engagement and interaction in the Chiliz ecosystem and provide users with innovative ways to connect with their favorite teams and players.

Image description
Alexandre Dreyfus, Chiliz CEO, and Yeonsang Cho, General Secretary of K League

Alexander Dreyfus, Founder, and CEO of Chiliz, expressed his excitement about the potential of collaboration to transform the fan experience in South Korean football. Dreyfus emphasized the importance of integrating innovative technologies such as blockchain to create engaging and rewarding experiences for sports fans around the world.

Yeonsang Cho, General Secretary of the K League, said: “We are delighted to be partnering with the pioneers and leaders in this space, and look forward to working together to enhance the experience of our fans and grow our brand globally.”

Crypto.com Partnership with Formula 1

South Florida Motorsports (SFM) has announced Crypto.com as an official partner of the Miami Grand Prix Formula 1.

This agreement will allow Crypto.com to become an integral part of the Formula 1 event, and the company’s brand will be included in the official name and logo of the event, as well as placed on the Miami International Circuit.

“We are excited about our long-term title partnership with Crypto.com. We share their commitment to innovation and will apply those high standards to the fan experience at the Formula 1 Crypto.com Miami Grand Prix,” said Jeremy Walls, Senior Vice President of Hard Rock Stadium & Formula 1 Crypto.com Miami Grand Prix. “This will be an international event and we look forward to growing together on a worldwide scale.”

This is not the first time that Formula 1 fans will see the Crypto.com logo, as the cryptocurrency platform sponsored a sprint race in 2021.

Ferrari, which has been participating in the competition for a long time, recently announced the acceptance of Dogecoin as a means of payment for the purchase of its cars in the United States.

Enrico Galliera, Ferrari’s Chief Marketing and Commercial Officer, stated that the move was prompted by an increase in customer demand, which indicates an increased interest in cryptocurrencies in the market. Ferrari’s decision to integrate Dogecoin along with Bitcoin, Ethereum, and USDC into its payment methods emphasizes the recognition of digital assets.

Galliera also assures that thanks to their partner Bitpay, a leading cryptocurrency payment provider, they can ensure a seamless transaction process for their customers who choose to pay with Dogecoin.

WhiteBIT Participates In The Sports Tomorrow Congress

Cryptocurrency exchange WhiteBIT, which has been an official partner of FC Barcelona for a long time, will take part in an event organized by the Barcelona Innovation Hub called Sports Tomorrow Congress.

Sports Tomorrow Congress is a sports congress aimed at industry professionals seeking to develop their skills and knowledge, as well as those who want to connect and communicate with like-minded professionals. This year’s conference will take place on February 26 and 27.

WhiteBIT will be one of the conference’s keynote speakers and will present a speech titled “Decoding the future of fan engagement with personalized digital products.”

The company’s participation in the event emphasizes its commitment to integrating innovative technologies into the sports sector. WhiteBIT has repeatedly demonstrated its commitment to combining the worlds of football and cryptocurrencies: an official partnership with FC Barcelona, participation in sporting events, and regular ticketing promotions for football fans. Recently, they have again released an announcement of tickets for a football match in Wrocław on March 26, which will be possible to buy for cryptocurrency.

OKX Deal With McLaren

Cryptocurrency exchange OKX has expanded its partnership with the Formula 1 team McLaren Racing by securing a place for its emblem on its sports cars in the 2024 Formula 1 season.

The OKX logo will be placed on the side racks of McLaren F1 cars for 20 of the 24 races of the upcoming season. The main symbolism of the 2024 car is inspired by the OKX-McLaren “Stealth Mode” design from the Singapore and Japanese Grand Prix in 2023.

Haider Rafique, OKX’s Chief Marketing Officer, has told Cointelegraph that extending the sponsorship agreement with McLaren was a logical next step given the increased brand awareness it has gained through the partnership.

“The results have been impressive. Our partnership with the McLaren F1 team has helped build OKX’s brand awareness and recognition through impressions (over three billion) via TV and online exposure, in addition to in-market exposure leveraging F1’s global footprint,” Rafique said.

The deal has also helped OKX tap into McLaren’s fan base through exclusive events featuring the Formula 1 team’s drivers. Rafiq said that one of these OKX events at the Singapore Grand Prix in 2023, where driver Lando Norris met with fans, attracted more than 7,000 visitors.

To summarize, it is possible to say with certainty that cryptocurrencies have not only increased the engagement of sports fans, changing the way they communicate with their favorite teams and athletes but have also become an important part of the commercial component of the industry and sponsorship deals. Digital assets have made the world of sports more innovative and exciting.

The post How Sports Partnership Contributes to the Growth and Attraction of Cryptocurrency Exchanges appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/02/26/how-sports-partnership-contributes-to-the-growth-and-attraction-of-cryptocurrency-exchanges/feed/ 0
Workforce Planning Basics for Businesses and PMOs https://prodsens.live/2024/01/12/workforce-planning-basics-for-businesses-and-pmos/?utm_source=rss&utm_medium=rss&utm_campaign=workforce-planning-basics-for-businesses-and-pmos https://prodsens.live/2024/01/12/workforce-planning-basics-for-businesses-and-pmos/#respond Fri, 12 Jan 2024 20:25:12 +0000 https://prodsens.live/2024/01/12/workforce-planning-basics-for-businesses-and-pmos/ workforce-planning-basics-for-businesses-and-pmos

If human resources are your most valuable resource, you better give them the attention they need to get…

The post Workforce Planning Basics for Businesses and PMOs appeared first on ProdSens.live.

]]>
workforce-planning-basics-for-businesses-and-pmos

If human resources are your most valuable resource, you better give them the attention they need to get their work done. One way to make sure you’re supporting your team and project alike is with workforce planning.

Workforce planning is important and we’ll show you why. Then we’ll help you with the workforce planning process and explain the benefits of using workforce planning in your projects. Finally, we’ll see how project management software allows you to better manage your workforce.

What Is Workforce Planning?

Workforce planning is the overall process of analyzing, forecasting and planning workforce supply and demand. It’s used to avoid gaps in your workforce coverage and determine what skills are needed where and when, at the right cost, to help the project or projects succeed.

The goal of workforce planning is to match the capacity of your workforce with the current and future demands. Being able to accurately forecast workforce demand will also help to identify gaps that allow you to plan to fill those holes with the necessary resources as needed.

With workforce planning, there are most commonly two types: strategic and operational. Strategic workforce planning is used by an organization or its project management office (PMO) to achieve its long-term plans. This requires anticipation of future human resource requirements to ensure that the organization has the skilled workforce to achieve its business objectives.

Strategic workforce planning supports the strategic plan of an organization. It addresses external workforce factors that might impact the larger business and maintains organizational capacity while minimizing risk exposure.

Operational workforce planning is about achieving an organization’s immediate priorities. This type of workforce planning must be focused and realistic to deliver immediate benefits, such as the operation of the organization’s day-to-day activities in an efficient manner. Operational workforce planning will also complement the organization’s strategic planning and long-term goals.

Whichever type of workforce planning you use, project management software will help you do it more effectively and efficiently. ProjectManager is award-winning project management software that helps you plan, manage and track your workforce in real time. Use our powerful Gantt charts to estimate your project resource requirements accurately by making detailed project plans. You can organize your tasks and the associated human resource and nonhuman resource costs, and make sure you have coverage. You can also see the availability of your project team, which makes it easier to assign them to tasks. Get started with ProjectManager today for free.

ProjectManager's Gantt chart
CAPTION ProjectManager’s Gantt charts help you plan your resources. Learn more

Why Is Workforce Planning Important?

Workforce planning is important for helping an organization achieve its goals and objectives. Businesses have a vision and a mission that they plan to achieve through projects or a roadmap leading them to future gains. Workforce planning helps them get there.

But short-term goals are as important as long-term ones. They’re the steps that help an organization reach its strategic goals. Effective resource capacity planning addresses the short-term requirements of workforce planning.

Workforce planning also involves the process of forecasting the gap between capacity and demand. This allows managers to have the workforce in place to cover those gaps and keep operations running smoothly. Workforce optimization describes the ongoing process of matching the available workforce with changing workforce demands.

Workforce Planning Process

Workforce planning involves having the right people with the right skills at the right time and place for the right cost. That’s easier said than done, which is why we have the five steps you need to take in your workforce planning process to ensure you have the resources you need.

1. Identify the Resources You Need to Run Your Current Operations

The first step is to know what resources you need to keep your operations running. This involves identifying all the resource requirements for your business. That means human resources, but you’ll also want to consider machinery, tools, facilities, the physical area in which they’ll work, vendors, etc.

2. Measure Your Resource Capacity and Utilization Rate

Next, you need to understand your resource capacity and utilization rate. Both of these are ways to measure resource management and are interrelated. Resource capacity is the maximum amount of work, task or project that can be accomplished by a particular resource over time. The utilization rate is the amount of an employee’s available time that’s used for productive, billable work.

Get your free

Capacity Planning Template

Use this free Capacity Planning Template for Excel to manage your projects better.

 

3. Estimate Future Resource Requirements of Your Organization

There are more things to consider than just estimating future resource requirements for the organization. These are some examples of things that can affect the resource requirements of an organization, like a spike in customer demand or a strategic objective that requires the company to increase its production budget:

  • New projects
  • Customer demand forecasts
  • Production budget
  • Strategic objectives
  • Organizational change

4. Conduct a Skill Gap Analysis

A skill gap analysis measures the difference between the skills that employers want or need against the skills that their workforce offers. This helps with workforce planning to achieve business objectives but also informs both employee development initiatives and hiring programs. You need to identify the skills that are important to the organization and measure your employee’s current skills to see where there are gaps.

5. Take Actions to Balance Workforce Supply and Demand

To keep your workforce at capacity and staying productive requires monitoring. The idea is to balance your workforce supply with the demand you have for that work. This means you have to do things, such as demand and supply forecasting, gap analysis, action planning and always track and evaluate your workforce. You should strive for continuous improvement.

Benefits of Workforce Planning

Effective workforce planning will help you better understand your employees. It’ll allow them to handle the workload assigned to them and give them the training to hone the needed skills to do their jobs the best they can. This will result in not only a more productive workforce working at capacity but also help with employee retention. Your employees will know you want the best from them and that will improve their buy-in for the work and your attrition rate. However, there are many more benefits of workforce planning. Here are a few.

Prepares Organizations to Respond to Changing Business Conditions

Workforce planning has many benefits, but one of the most important is that it recognizes that businesses change and so do their long-term goals. As these changes occur, the workforce has to change with them and sometimes adapt their skills to fit the new business landscape. Workforce planning helps by identifying talent gaps and developing plans to fill those gaps. This also helps one to identify opportunities to develop the skills of your team through training, education funding or graduate programs.

Helps You Control Operational Costs

Workforce planning can reduce labor costs through more effective deployment and flexibility as well as responding to customer needs. Another thing workforce planning can do is help uncover obstacles or unrealistic targets that can get in the way of the organization’s strategic goals. Workforce planning can find solutions that mitigate risk to strategic goals and keep your operational costs in control. Workforce planning leads management to ask questions about what they’re doing and thereby find inefficiencies that they can stop doing to help manage their organizational costs.

Prepares Your Organization to Take on New Challenges

Workforce planning also helps businesses prepare for new challenges by analyzing their current workforce and forecasting future talent needs. Then they can create strategies that will make sure they have the workforce necessary to take on these new challenges by aligning their workforce with those new goals and objectives. It does this by generating data and analyzing that data about both its workforce and coming challenges to make sure that they’re ready for the unexpected. It’s a sort of risk management, where they identify and plan to respond quickly to issues that can potentially impact the business.

How ProjectManager Helps With Workforce Planning

All that is a lot to do on a spreadsheet. Businesses need to not only be organized but have the right tools to help them prepare and respond to changing conditions in the business environment and their workforce. Project management software can help them do this more efficiently. ProjectManager is award-winning project management software with the resource management tools needed to plan, manage and track your workforce in real time.

Balance Your Team’s Workload

Being able to monitor your team’s workload is an essential part of managing your workforce. Once you’ve planned your resources, you can view your team’s task allocation on our color-coded workload chart. It’s easy to see at a glance who has too many or too few assignments. You can then re-allocate your team’s workload right from the chart to keep the team’s workload balanced. This makes everyone work at capacity and keeps them productive.

ProjectManager's workload chart
Track Labor Costs With Timesheets

Workforce planning is part of a business’s larger budget. To ensure that your labor allocation doesn’t break the bank, you need to keep track of those costs in real time. Our secure timesheets help you both track labor costs and streamline your payroll process. You can view timesheets to see how far each team member has gone in completing their tasks and how much they’re costing in terms of their hourly rate. This gives managers a heads-up as to whether they’re meeting or exceeding their budget.

ProjectManager's timesheet

For a high-level overview of labor costs and more, you can toggle over to our real-time dashboard. It automatically collects live project data and displays project metrics in easy-to-read graphs and charts, such as time, cost, workload and more. For more detail, use our customizable reports on timesheets, workload, variance and more. There’s also a status report and portfolio report if you’re managing multiple projects.

ProjectManager is online project management software that connects teams whether they’re in the office, out in the field or anywhere in between. They can share files, comment at the task level and stay updated with email and in-app notifications. Join teams at Avis, Nestle and Siemens who are using our software to deliver successful projects. Get started with ProjectManager today for free.

The post Workforce Planning Basics for Businesses and PMOs appeared first on ProjectManager.

The post Workforce Planning Basics for Businesses and PMOs appeared first on ProdSens.live.

]]>
https://prodsens.live/2024/01/12/workforce-planning-basics-for-businesses-and-pmos/feed/ 0
FCM notification with Laravel https://prodsens.live/2023/11/26/fcm-notification-with-laravel/?utm_source=rss&utm_medium=rss&utm_campaign=fcm-notification-with-laravel https://prodsens.live/2023/11/26/fcm-notification-with-laravel/#respond Sun, 26 Nov 2023 14:24:38 +0000 https://prodsens.live/2023/11/26/fcm-notification-with-laravel/ fcm-notification-with-laravel

In the fast-paced world of technology, instant communication is key. Elevate your Laravel experience by integrating Firebase Cloud…

The post FCM notification with Laravel appeared first on ProdSens.live.

]]>
fcm-notification-with-laravel

In the fast-paced world of technology, instant communication is key. Elevate your Laravel experience by integrating Firebase Cloud Messaging (FCM) notifications into your blog system.

Why FCM?
FCM ensures your users receive timely updates directly on their devices. From new comments to post interactions, keep your audience engaged and informed.

What to Expect:

  • Swift Communication: FCM enables real-time notifications, ensuring your users are in the loop.
  • User Engagement: Enhance the user experience with immediate alerts on their devices.
  • Easy Integration: Follow our step-by-step guide in the FCM Notification branch.

Why Wait?
Seize the opportunity to captivate your audience with seamless and instant communication. Integrate FCM notifications now and stay ahead in the Laravel game.

Check out the FCM Notification branch for a quick implementation guide.

Revolutionize your Laravel blog experience. It’s time to notify, engage, and captivate!

The post FCM notification with Laravel appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/11/26/fcm-notification-with-laravel/feed/ 0
How to market a new born Startup | Discuss https://prodsens.live/2023/11/17/how-to-market-a-new-born-startup-discuss/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-market-a-new-born-startup-discuss https://prodsens.live/2023/11/17/how-to-market-a-new-born-startup-discuss/#respond Fri, 17 Nov 2023 01:24:32 +0000 https://prodsens.live/2023/11/17/how-to-market-a-new-born-startup-discuss/ how-to-market-a-new-born-startup-|-discuss

Hello, everyone! We have recently launched our startup, Freeflow. Currently, we are figuring out how to promote it.…

The post How to market a new born Startup | Discuss appeared first on ProdSens.live.

]]>
how-to-market-a-new-born-startup-|-discuss

Hello, everyone! We have recently launched our startup, Freeflow.

Currently, we are figuring out how to promote it. What is the best way to reach potential customers?

I would be more than happy if you could suggest some ideas 🙂

Freeflow is a design feedback and management tool.

I’m also requesting you to try our beta version and provide feedback.

Here is the link:
https://freeflow.to/
https://app.freeflow.to/

The post How to market a new born Startup | Discuss appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/11/17/how-to-market-a-new-born-startup-discuss/feed/ 0
doIf (if/then/else): JavaScript Functional Programming https://prodsens.live/2023/11/15/doif-if-then-else-javascript-functional-programming/?utm_source=rss&utm_medium=rss&utm_campaign=doif-if-then-else-javascript-functional-programming https://prodsens.live/2023/11/15/doif-if-then-else-javascript-functional-programming/#respond Wed, 15 Nov 2023 22:24:45 +0000 https://prodsens.live/2023/11/15/doif-if-then-else-javascript-functional-programming/ doif-(if/then/else):-javascript-functional-programming

Functional programming can simplify code and make it easier to spot defects. Today we’re exploring converting imperative if…

The post doIf (if/then/else): JavaScript Functional Programming appeared first on ProdSens.live.

]]>
doif-(if/then/else):-javascript-functional-programming

Functional programming can simplify code and make it easier to spot defects. Today we’re exploring converting imperative if statements.

Terms

When we talk about if...else statements, we usually talk about the if condition, the then block, and the else block. Sometimes these we use then or else statements, but blocks are more common.

Functional Programming has origins in logic, so we see words like predicate, consequent, and alternative. These are functions for the “if”, “then”, and “else”, respectively.

  • predicate – The “if” function that asserts something is true or false.
  • consequent – The “then” function to run if the predicate is true.
  • alternative – The “else” function to run if the predicate is false.

A few other words we might see along the way:

  • nullary – A function that takes no arguments, like () => true
  • unary – A function that takes one argument, like (x) => x + 1

Building The Base

Requirements

Like any project, we start by figuring out what this function should do. The basics are pretty clear; it’s if/then/else, but with functions. Let’s write it out, anyway.

  1. It must accept predicate, consequent and alternative functions.
  2. It must return a new function. This will accept arguments and run the logic.
  3. When the new function called, it must run the predicate with the arguments.
  4. Based on the predicate output, it must run the consequent or the alternative with the arguments.
  5. It must return the output of whichever function is run.

Coding It

Let’s write it out. Using a ternary we can make this a pretty small function.

const doIf = (predicate, consequent, alternative) => {
  return (...args) => predicate(...args)
    ? consequent(...args)
    : alternative(...args);
};

Now we can compare the code to the requirements to see if they are all satisfied. Take a moment to locate where in the code each requirement is met.

Variations on a Theme

We could write this out with if and else. We could assign a variable to store the return value. Or we could shrink it to a one-liner and squeeze out every last character.

// Code Golf: Smashed down to 48 characters!
const doIf=(i,t,e)=>(...a)=>(i(...a)?t:e)(...a);

If we add variables and code blocks, we have to spend more stripping away the extra bits to follow the logic. If we shrink it down too much it’s hard to understand for different reasons. I prefer the readability of our original version. You may see that differently.

Abstraction is one of the great parts of programming. If we know what a function does, we don’t have to worry about how. This is true for built-in functions or ones we write. I haven’t read the source code for Array.prototype.map, but I know what it does, so I can use it confidently.

No matter how we write it, let’s see it in action!

Examples

Let’s start simple. Say we have a simple function used to get incrementing numbers.

const increment = (x) => x + 1;

A new requirement is added that we need to return only even numbers from increment. Seems simple, but we don’t know if the numbers passed to us will be even or odd. If we write this imperatively, it might look like this:

// Imperative increment
const increment = (x) => {
  // If it's even, add two.  
  if (x % 2 === 0) {
    return x + 2;
  }
  // Must be odd, so add one.
  return x + 1;
};

We can write this much smaller, but the same issues happen as before. Compact logic can be harder to read and harder to confirm it does what we expect.

// Move the condition to just the added number
const increment = (x) => x + (x % 2 === 0 ? 2 : 1);

// Or use a clever falsy check of the modulo value
const increment = (x) => x + (x % 2 || 2);

Let’s see how it could look using doIf.

const isEven = (x) => x % 2 === 0;
const addOne = (x) => x + 1;
const addTwo = (x) => x + 2;

const increment = doIf(isEven, addTwo, addOne);

It has more lines than the short versions of increment, but each line here is a small, reusable function, and is almost self-explanatory. It may seem like overkill for a small example but it can make a big difference as conditions and operations become more complex.

const getPreferences = doIf(isUserLoggedIn, getUserData, getDefaultPrefs);

With small, clearly-named functions, our doIf declaration tells the story of if/then/else without anything getting in the way. The conditions and operations are in separate functions, and we are left with just the logic.

Stability and Abstraction

Abstraction makes a big difference to code stability. By breaking down conditions and operations into small pieces to start, we can build up complex code that is resilient to updates.

Maybe getUserData parses some JSON. Maybe it capitalizes some values to make old and new code work together. We don’t have to know anything about those details to understand what our code is doing at a higher level.

Even if we rewrite user management and the code inside isUserLoggedIn and getUserData changes, this logic can remain the same.

Add-ons

Now that we have demonstrated the basic functionality we can add some features to make it even better.

Default Else

Sometimes we don’t need an “else”, so having to specify one is just extra noise. Adding a default is easy enough, but what should the default alternative return? We could choose undefined, which makes sense for some uses. Functional programming composition prefers to return the value passed to us rather than undefined, but we will save those details for another time. For now, we can use a helper function called identity to give us back the first argument.

// Just return what we get
const identity = (value) => value;

// Add a default value to the alternative
const doIf = (predicate, consequent, alternative = identity) => {
  return (...args) => predicate(...args)
    ? consequent(...args)
    : alternative(...args);
};

Now we can write our predicate (if) and consequent (then) functions.

const isEven = (x) => x % 2 === 0;
const addOne = (x) => x + 1;

const getNearestOdd = doIf(isEven, addOne);

getNearestOdd(10); // 11
getNearestOdd(11); // 11

Not Always Functions

Sometimes we want to return a static value instead of running a function, but we have to wrap that static value in a function for doIf Taking the preferences example from before, the supporting code might look a little like this:

// A default preference object.
const DEFAULT_PREFS = {
  theme: 'light',
};

// Each step must be a function, so make a function to get our object.
const getDefaultPrefs = () => DEFAULT_PREFS;

// Our function, isolated from the details above.
const getPreferences = doIf(isUserLoggedIn, getUserData, getDefaultPrefs);

But can we just pass the static value to doIf? It expects functions! Maybe we can do both!

// Just return what we get
const identity = (value) => value;

// Return functions or create nullary wrappers for values
const asFunction = (x) => typeof x === 'function' ? x : () => x;

// Add a default value to the alternative
// Wrap the arguments to allow static values, too.
const doIf = (predicate, consequent, alternative = identity) => {
  return (...args) => asFunction(predicate)(...args)
    ? asFunction(consequent)(...args)
    : asFunction(alternative)(...args);
};

Rather than re-writing the logic inside doIf to check the types and respond differently, we made a small, reusable function that wraps static values so the logic in doIf remains simple and easy to follow. doIf still only handles functions. Ensuring they are functions is handled by asFunction.

asFunction(predicate)(...args) might look strange, but we know asFunction always returns a function, so we can directly call it. Now we can eliminate the extra function from our example.

const DEFAULT_PREFS = {
  theme: 'light',
};

// No intermediate functions between us and the static value 
const getPreferences = doIf(isUserLoggedIn, getUserData, DEFAULT_PREFS);

This can also be helpful when we’re performing a number of similar operations.

// Needing to pass config to each doIf isn't the best,
//  but that would use utilities we haven't written, yet.
const getProjectStyles = (config) => ({
  ...STYLES_BASE,
  ...doIf(isMobile, STYLES_MOBILE, {})(config),
  ...doIf(isUltraWide, STYLES_WIIIDE, {})(config),
  ...doIf(requestedDarkTheme, STYLES_DARK, STYLES_LIGHT)(config),
  ...doIf(requestedLowMotion, STYLES_LOW_MOTION, STYLES_MOTION)(config),
});

Summary

I really appreciate how functional programming pushes us to write small functions that can be composed and, most importantly, reused. As you build up libraries of these single-purpose functions, you find yourself only writing new code, and just assembling the reusable, reliable pieces that already exist.

Even without helper functions like this, you can – and should! – break up your code. But all that imperative syntax can start to look like boilerplate as you get used to the functional style.

The post doIf (if/then/else): JavaScript Functional Programming appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/11/15/doif-if-then-else-javascript-functional-programming/feed/ 0
Top 7 Featured DEV Posts of the Week https://prodsens.live/2023/11/13/top-7-featured-dev-posts-of-the-week-3/?utm_source=rss&utm_medium=rss&utm_campaign=top-7-featured-dev-posts-of-the-week-3 https://prodsens.live/2023/11/13/top-7-featured-dev-posts-of-the-week-3/#respond Mon, 13 Nov 2023 17:24:44 +0000 https://prodsens.live/2023/11/13/top-7-featured-dev-posts-of-the-week-3/ top-7-featured-dev-posts-of-the-week

Let’s start the week on a high note with a roundup of last week’s top-tier articles spanning self-made…

The post Top 7 Featured DEV Posts of the Week appeared first on ProdSens.live.

]]>
top-7-featured-dev-posts-of-the-week

Let’s start the week on a high note with a roundup of last week’s top-tier articles spanning self-made success stories, insights into client-vendor relationships, HTML attribute mastery, TypeScript in React, COBOL adventures, and innovative approaches to resume management with Git, and more.

And let’s extend a warm welcome to three new contributors joining our esteemed Top 7 lineup. Sit back, relax, and immerse yourself in these captivating reads, brought to you by the vibrant dev.to community! 🌟📖

If you’re in need of a double dose of inspiration today, then follow along on @chaoocharles’ incredible coding odyssey. Join their journey through self-doubt to self-made success, where coding became their lifeline. This tale transcends adversity, from limited resources to forging a successful path through self-guided learning, content creation, and freelancing. It’s a unique experience that is sure to spark your coding passion! 🔥

In this engaging article, @daedtech explores a unique approach to client-vendor relationships, advocating for transparency and fairness.This post outlines the rights you should expect from your service providers, challenging industry norms and setting high standards for client satisfaction. Discover a refreshing perspective on how business relationships should be conducted in the service industry.

In this post, you’ll learn about 13 HTML attributes that can enhance your website’s visuals courtesy of @devshefali. Read on to learn more about each attribute, and chime into the comments with your own suggestions.

Follow along with @nickytonline as they walk through adding two mandatory props to the component to improve accessibility for screen readers and other assistive technologies.

“The year is 2077…Your inaugural assignment is clear yet daunting.” @srbhr has created an introductory article to COBOL, Common Business Operating Language, that combines helpful repositories with alien science fiction— and it is incredible. Save humanity from the upcoming alien threat by mastering COBOL!

In today’s competitive job market, keeping our resumes current is crucial. Yet, amid the demands of daily life, the thought of updating can feel overwhelming. Luckily, @dunkbing has provided us with strategies to implement Git on your resume to streamline your workflow, maintain version control, collaborate for feedback, and more.

Delve into a unique perspective on coding with @isaacdlyman. Formerly a fervent supporter of “anyone can code,” the author’s encounter with their therapist led to a profound shift. Unpack the myth of universal coding abilities and explore alternative career paths for those struggling in the coding realm. A must-read for anyone reassessing their journey in software engineering.

Stay plugged into the dev.to community for more captivating articles and lively discourse. Your moment to shine might be just around the bend!

Curious about where to catch the next wave of fantastic reads, discussions, and updates? The top articles from this week will also grace our weekly DEV Community Newsletter, hitting your inbox every Tuesday. Seize the opportunity to be part of the best discussions – ensure you’re opted in!

The post Top 7 Featured DEV Posts of the Week appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/11/13/top-7-featured-dev-posts-of-the-week-3/feed/ 0
How to Explain the Value of SEO to Executives — Whiteboard Friday https://prodsens.live/2023/06/09/how-to-explain-the-value-of-seo-to-executives-whiteboard-friday/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-explain-the-value-of-seo-to-executives-whiteboard-friday https://prodsens.live/2023/06/09/how-to-explain-the-value-of-seo-to-executives-whiteboard-friday/#respond Fri, 09 Jun 2023 14:25:34 +0000 https://prodsens.live/2023/06/09/how-to-explain-the-value-of-seo-to-executives-whiteboard-friday/ how-to-explain-the-value-of-seo-to-executives-—-whiteboard-friday

In today’s episode of Whiteboard Friday, Seer Interactive’s Larry Waddell discusses how you can translate the SEO work…

The post How to Explain the Value of SEO to Executives — Whiteboard Friday appeared first on ProdSens.live.

]]>
how-to-explain-the-value-of-seo-to-executives-—-whiteboard-friday

In today’s episode of Whiteboard Friday, Seer Interactive’s Larry Waddell discusses how you can translate the SEO work you do for your clients into how executives think of value — specifically, business value.

How to explain the value of SEO to executives

Click on the whiteboard image above to open a high resolution version in a new tab!

Video Transcription

Hello, Moz community, and welcome to another edition of Whiteboard Friday. I’m Larry Waddell, EVP of Business Strategy for Seer Interactive, and today I want to talk to you about how to translate the great work you do for your clients into how they think of value, specifically business value.

So let’s jump right in. Now to do it, I’m going to review two frameworks or two ways of thinking. One is the value pyramid. That’s where we’re going to start. But then we’re going to move from there to the four forms of business value, and I’ll walk you through that.

So starting with the value pyramid, and this is something I’ve used at Seer for years, and I’ve had the great privilege of leading the Analytics team at one point in time, the SEO team, thank you Wil, and the Paid Media team, thank you, Crystal, and through all of that, I’ve used a very simple construct. As you can see, there’s nothing terribly fancy here, but it’s a way to help our teams understand the work that they do and to understand the work the clients are asking us to do.

So to start, it’s a pyramid like any other, four different layers, and for SEO you can think about the bottom layer as something like link building. It’s something very important to do, extremely important, but perhaps at the bottom of the pyramid. Link building we get rankings. With rankings, we get traffic.

Traffic gets us engagement on the website. But we don’t stop there of course. Engagement on the website and traffic, now we want to focus on conversions. Now we get those conversions and depending on what our conversion value is, that gets us to revenue. So really nothing earth-shattering there. But I want to introduce a couple other concepts. So you might want to think about titles at your clients.

So if you’re down here, perhaps at the bottom of the value pyramid, maybe it’s link building, maybe it’s other low-level but very important tasks, you might be dealing with somebody who’s a specialist or a manager at your client day to day. As you move up this pyramid, where you’re talking about things like revenue and you’ve been in those meetings, you’ve had these people join your QBRs or they pop into a weekly call or a monthly call, and they have titles like director or VP or CMO.

Every once in a while, you might get a director of finance or a CFO in those meetings. You might also have noticed that those meetings tend to be more strategic. They tend to be focusing on things other than the nitty-gritty tactical that you might be grinding out day to day with your manager at the client.

These folks are worried about business problems. They’re worried about things that are impacting the trajectory of the overall business, of which SEO plays a very important part. Down here, perhaps less visibility into those things at the client, but down here we’re focused more on SEO problems, rankings, how much traffic are we getting, what are our conversions, content on the site, load speeds, and those sorts of things.

It’s not that these folks don’t care about that. They’re just perhaps removed from it, and they don’t necessarily understand how any of this stuff down here impacts the stuff that they care about unless we have a lot of explanation and we’ve all been there. So what do we do with something like this? Well, we can start to think about a hypothesis around value.

What if there’s greater perceived value on the part of these folks at the client, the higher up this pyramid you happen to be? So down here, again, important but perhaps less perceived value than strategic conversations that relate to business problems at your client. So what are the things to worry about down here?

There’s actually a lot to worry about down here. So in my experience, if you have engagements that tend to focus mostly on talking about, reporting on, and reviewing activity at the bottom of the value pyramid, you can get locked into just doing that for your client.

The way I like to think about it is this is the big kids table or the adults table perhaps. How do we get a seat at that table? Again, in my experience, if these folks don’t see a way to translate what you do into what they care about, you kind of get relegated down here.

Again, there’s nothing wrong with it. But the problem is, if we look at fee competition, it tends to be the case that there’s higher fee competition down here than there is up here. There tends to be more competitors down here. There’s less differentiation between providers down here. You’re more susceptible to being ChatGPTed, for example.

You’re more susceptible to getting big data out or automated out. You’ve seen some nibbling around the edges around things that you might characterize as tactical. More and more of it is becoming automated or good enough automation. Maybe it’s not perfect, but it’s good enough. Then I can save some money because down here there’s high fee competition.

You can see the robot there coming to get us. So the thing that we need to do is think about how we move up this pyramid, both in the work that we do and how we talk about the work that we do with clients. So, again, that’s moving up the value pyramid and tying more of our work to the business problems that these folks, VPs, CMOs, directors, CFOs care about.

Another way to think about this too is career progression. So if you start off in SEO, you might start down here. You might start doing content audits, and you might start doing link building and things like that. Again, very important things to do. But then over time, this also creates a path for you to sort of think about where you can go as you start to unpack a little bit more of how progressively more sophisticated work you can be doing for clients translates to value for these people, because it turns out these people control the budget.

So you might also have discovered that when it’s time for renewals or pitching work, that oftentimes there’s a big boss and that big boss sits up here, typically not down there. So that gets us to value. Now, when we think about conversions and we’re thinking about revenue generated from our work on a client website, we tend to focus on the revenue of that, and revenue is extremely important.

We can’t get anywhere if we’re not generating revenue or more revenue for our clients. So revenue for the win. You can see it right there. Well, yes and no, and that gets us to the four types of business value. So there are at least four.

There’s a fifth that I’ll touch on briefly in a moment. But for the most part we can increase revenue, but ah, not so fast, gross profit. We can reduce cost. We can do something which is called cost avoidance. We can help our clients avoid cost. Then there’s insurance value.

In my time at Seer, I’ve found us in projects that do one or more of these things, oftentimes without our team even realizing that they’re creating this additional value. Now down here there’s a little bit of an economics lesson, and this is called a utility curve.

I’ll get to why that’s important in a second, and it’ll help me explain why some of these things over here create value, how that actually happens. But let’s go back to increasing revenue, gross profit. So questions you can think about if you’re focused here. Are you generating more profits for your client, or are you stopping at revenue?

I suggest we take a pause to really consider that. We’ve had situations where we might be generating more revenue for the client, but it turns out that the unit economics are such that at the gross profit level, the client might be losing money on everything we help the client sell. So even though everything over here has been geared towards up and to the right, better rankings, more traffic, higher engagement, more conversions, more revenue, all for naught if the thing we’re selling has crazy shipping costs and the shipping costs are turning out to be a loser for the client.

This person might not be aware of that, but these people might. So you kind of see how understanding a little bit more of what happens at this level can help you put what you’re doing here in greater context. So when I talk about gross profit, gross profit is basically revenue minus cost of goods sold or COGS generally speaking.

That’s gross profit. The thing to bear in mind is that gross profit pays the rent, not revenue. You still have to pay for the cost of the thing that your client produces, and what’s left over is what actually covers other expenses. We don’t often think that way when we’re doing SEO projects, and we’re strictly focused on revenue.

Might want to think about gross profit or asking these kinds of questions, which is a signal. So that’s the other thing about this. We don’t have to become experts necessarily in our clients’ businesses, but maybe asking better questions once we’re in the meetings up talking about this stuff with these people that signals, “Hey, I know your business. I understand that there’s more going on than just the SEO.”

Next is reducing cost. So reducing cost increases value, and that’s where this comes in. It’s a very simple concept and well-proven that the gain that one might get from a little bit more of something doesn’t feel as good as losing a bunch really stinks.

So that’s called loss aversion. So it works in such a way that adding a little bit more profit makes the client better off. Losing profit can hurt a lot. It’s a concept that’s going to be helpful and let me sort of step you through it in more detail.

So if you reduce cost and we make recommendations to our clients all the time. We don’t always realize that those clients necessarily are saving more money from what we do. It’s a useful thing, but all of our charts over here have to go up and to the right. We don’t necessarily report on how much money I saved you.

We tend to report on how much revenue I generated. But there are sometimes conversations and recommendations that we can have with the clients that could be either new tools they can procure, or maybe there are things that we can be doing for a client, like content creation, that we can do at a lower cost than the client can do at another agency or even with an internal team.

So I gave a quick example here. So imagine you have a client that happens to be valued at 10 times their net income let’s say. If we save that client $1,000, that might be, “Oh, great.” One little thing I threw into an update at the end of the month as I’m talking about the revenue I’m generating, but the CFO will immediately recognize, “Oh, I’m valued at 10x. They just increased the value of my business by $10,000.”

That might not be something that ever enters into the conversation if we’re just thinking about the SEO work that we do, but we just created a lot of value for somebody. The other one is cost avoidance. This is a tricky one. But this basically means what are the recommendations we can make for a client that will allow them to not spend money on something in the future.

Quick example, some time ago we had a client that was faced with a choice. They were running a m-Dot site and their dot-com for desktop, and they maintained them both. But it came time to upgrade their CMS, and they had two options. One, they could upgrade both systems and continue to maintain a separate mobile and desktop experience.

But if they did that, they would have to hire additional developers and another agency to maintain both sites. The other option was to have a fully fluid site, a dynamic site that allowed them to avoid all that cost. We helped them understand which might be better for their SEO, but using this framework, also which might be better from an expense standpoint.

They chose to do option number two. They avoided all that extra expense, and that was cost avoidance. The reason why that’s tricky is because it’s hard to prove the counterfactual. We don’t know what they literally would have spent had they done both sites, but we know what they budgeted and we said, “Hey, by following this other recommendation, you avoided having to pay this.”

That’s actually budget savings. Budget savings means, back to our utility curve, that their profit went up, made them better off, possibly also allowed them to increase the value of their business. Lastly, there’s insurance, and this is one that is not terribly intuitive until you think about it.

So imagine you have a client that is contemplating a site relaunch. They have an internal SEO team, and they’re very confident in their abilities, but they might not have a lot of experience or maybe not as much experience as you in a migration or the site relaunch. So your client might engage you to have a short-term project to help augment the capabilities of their internal team, maybe check on things, maybe be there the night of the conversion, and those sorts of things.

Now it’s an additional expense. So this person here might say, “Oh, I don’t know if I can get another agency through procurement because we already have an internal team helping us on our migration.” But the CFO might say, “Oh no, this is insurance. I will gladly pay an insurance premium to avoid a massive loss if this website is generating a lot of revenue or gross profit for me,” because they do that all the time. If you think about all the insurance that a business might spend money on, explaining that SEO project or that technical SEO support project in the context of insurance might make a ton of sense to them if you’ve been invited to that table and you can explain what you do within that context.

So here, I won’t get into the details, but what I will show you is that you will gladly pay this little bit of premium, in other words, your contract to support their internal team. The client might gladly pay that to avoid the possibility of a large loss. So you just have to convince the client that your presence will actually prevent that loss.

That’s insurance and that’s value for your client. So that’s about it. To recap, think about the work that you do and how to translate that into the business challenges that these folks are grappling with. So they might just pop into your QBR or pop into your monthly meeting. They might not understand Penguin and BERT and ChatGPT or any of that stuff, but they do understand what’s going to make me more money, gross profit, what’s going to save me money, what’s going to help me avoid some nasty costs I would really rather not pay, and what’s going to insure me.

How are you going to watch my back and prevent some larger loss later? So basically back to where I started, how do you translate your SEO expertise into the language of your client executives? Thank you very much.

Learn more about creating value for clients here

Video transcription by Speechpad.com

The post How to Explain the Value of SEO to Executives — Whiteboard Friday appeared first on ProdSens.live.

]]>
https://prodsens.live/2023/06/09/how-to-explain-the-value-of-seo-to-executives-whiteboard-friday/feed/ 0