379 lines
10 KiB
Markdown
379 lines
10 KiB
Markdown
# Podsumowanie Wzbogacenia Bazy Danych NORDA BIZNES
|
||
|
||
**Data:** 2025-11-24
|
||
**Status:** ✅ ZAKOŃCZONE
|
||
|
||
---
|
||
|
||
## Wykonane Zadania
|
||
|
||
### 1. ✅ Rozszerzenie Schematu Bazy Danych
|
||
|
||
**Dodano 16 nowych kolumn do tabeli `companies`:**
|
||
|
||
- `legal_form` - forma prawna (Sp. z o.o., S.A., etc.)
|
||
- `parent_organization` - organizacja nadrzędna/grupa
|
||
- `industry_sector` - sektor/branża
|
||
- `services_offered` - oferta usług (opis tekstowy)
|
||
- `operational_area` - obszar działania geograficznego
|
||
- `languages_offered` - obsługiwane języki
|
||
- `technologies_used` - używane technologie (dla firm IT)
|
||
- `founding_history` - historia założenia
|
||
- `core_values` - wartości firmy/misja
|
||
- `branch_count` - liczba oddziałów
|
||
- `employee_count_range` - przedział liczby pracowników
|
||
- `data_source` - źródło danych
|
||
- `data_quality_score` - ocena jakości danych (0-100)
|
||
- `last_verified_at` - data ostatniej weryfikacji
|
||
- `norda_biznes_url` - URL profilu na norda-biznes.info
|
||
- `norda_biznes_member_id` - ID członka (np. "m88")
|
||
|
||
**Utworzono 2 nowe tabele:**
|
||
|
||
1. **`company_contacts`** - osoby kontaktowe
|
||
- id, company_id, full_name, email, phone, role
|
||
- linkedin_url, created_at, updated_at
|
||
- Index na company_id
|
||
|
||
2. **`company_social_media`** - media społecznościowe
|
||
- id, company_id, platform, url, followers_count
|
||
- created_at, updated_at
|
||
- Index na company_id i platform
|
||
- UNIQUE constraint na (company_id, platform)
|
||
|
||
**Plik:** `extend_database_schema.py`
|
||
|
||
---
|
||
|
||
### 2. ✅ Zbieranie Danych z Norda-Biznes.info
|
||
|
||
**Systematyczne wydobycie wszystkich danych ze strony źródłowej:**
|
||
|
||
- Przeanalizowano **wszystkie 80 firm** członkowskich NORDA BIZNES
|
||
- Odwiedzono stronę profilu każdej firmy
|
||
- Wydobyto **wszystkie dostępne pola danych**
|
||
- Utworzono strukturalny plik JSON z kompletnymi danymi
|
||
|
||
**Rezultat:**
|
||
- Plik: `norda_companies_final.json` (60 KB)
|
||
- Dokumentacja: `DATA_COLLECTION_SUMMARY.md` (7.7 KB)
|
||
- 1,613 linii ustrukturyzowanych danych
|
||
|
||
**Pokrycie Danych (ze źródła norda-biznes.info):**
|
||
- Firmy z NIP: 54 (67.5%)
|
||
- Firmy ze stroną WWW: 55 (68.8%)
|
||
- Firmy z emailem: 58 (72.5%)
|
||
- Firmy z informacją o branży: 65 (81.2%)
|
||
- Firmy z opisem usług: 50 (62.5%)
|
||
- Firmy z osobami kontaktowymi: 15 (18.8%)
|
||
|
||
---
|
||
|
||
### 3. ✅ Import Danych do Bazy
|
||
|
||
**Wzbogacenie istniejących rekordów firmowych:**
|
||
|
||
```
|
||
✅ Zaktualizowano: 80 firm (100%)
|
||
👥 Dodano kontaktów: 16 osób
|
||
📱 Dodano social media: 0 linków
|
||
⏭️ Nie znaleziono: 0 firm
|
||
❌ Błędów: 0
|
||
```
|
||
|
||
**Statystyki Jakości Danych:**
|
||
- **Średnia jakość:** 48.3/100
|
||
- **Zakres:** 25-70 punktów
|
||
- **Doskonała (≥80):** 0 firm
|
||
- **Dobra (60-79):** 22 firmy (27.5%)
|
||
- **Średnia (40-59):** 33 firmy (41.3%)
|
||
- **Słaba (<40):** 23 firmy (28.8%)
|
||
|
||
**Plik:** `import_norda_data_enrichment.py`
|
||
|
||
**Algorytm Oceny Jakości:**
|
||
- Core fields (40 pkt): name, nip, email, phone, website, address_city, address_postal, industry_sector
|
||
- Business info (30 pkt): description_full, services_offered, year_established
|
||
- Additional details (20 pkt): legal_form, parent_organization, technologies_used, certifications
|
||
- Contacts & social (10 pkt): contact persons, social media links
|
||
|
||
---
|
||
|
||
## Nowa Struktura Bazy Danych
|
||
|
||
### Tabela `companies` (teraz 40+ kolumn)
|
||
|
||
**Podstawowe dane:**
|
||
- name, legal_name, slug, category_id
|
||
- nip, regon, krs
|
||
|
||
**Kontakt:**
|
||
- website, email, phone
|
||
- address_street, address_city, address_postal, address_full
|
||
|
||
**Biznesowe:**
|
||
- industry_sector, services_offered
|
||
- legal_form, parent_organization
|
||
- year_established, employees_count, employee_count_range
|
||
- capital_amount, branch_count
|
||
|
||
**Dodatkowe:**
|
||
- description_short, description_full
|
||
- operational_area, languages_offered
|
||
- technologies_used, founding_history, core_values
|
||
|
||
**Metadata:**
|
||
- status, data_quality, data_quality_score
|
||
- data_source, last_verified_at, last_updated, created_at
|
||
- norda_biznes_url, norda_biznes_member_id
|
||
|
||
### Tabela `company_contacts`
|
||
|
||
Relacja 1-to-many z `companies`:
|
||
- 16 osób kontaktowych w bazie
|
||
- Możliwość dodawania wielu kontaktów na firmę
|
||
- Pola: full_name, email, phone, role, linkedin_url
|
||
|
||
### Tabela `company_social_media`
|
||
|
||
Relacja 1-to-many z `companies`:
|
||
- Gotowa struktura na linki do social media
|
||
- Platformy: facebook, linkedin, instagram, twitter, youtube
|
||
- Możliwość śledzenia liczby followersów
|
||
|
||
---
|
||
|
||
## Rozkład Geograficzny Firm
|
||
|
||
**Top 5 Miast:**
|
||
1. **Wejherowo** - 51 firm (63.8%)
|
||
2. **Rumia** - 5 firm
|
||
3. **Reda** - 3 firmy
|
||
4. **Gdańsk** - 3 firmy
|
||
5. **Gościcino** - 2 firmy
|
||
|
||
**Pozostałe:** 16 firm w 12 innych lokalizacjach
|
||
|
||
---
|
||
|
||
## Reprezentowane Branże
|
||
|
||
**Najliczniejsze Sektory:**
|
||
- Usługi prawne (4 firmy)
|
||
- Budownictwo (3 firmy)
|
||
- IT/Software (3 firmy)
|
||
- Usługi HVAC (3 firmy)
|
||
- Deweloperzy nieruchomości (2 firmy)
|
||
- Telekomunikacja (2 firmy)
|
||
- Bankowość/Finanse (2 firmy)
|
||
|
||
**Pozostałe:** Produkcja, handel detaliczny, usługi profesjonalne, i inne
|
||
|
||
---
|
||
|
||
## Wybitne Firmy w Bazie
|
||
|
||
### Najstarsze Firmy
|
||
- **Kaszubski Bank Spółdzielczy** - założony 1906 (119 lat!)
|
||
- **Hebel Masiak i Wspólnicy** - firma prawnicza od 1980
|
||
- **Kantor Promes** - kantor walutowy od 1989
|
||
- **P&P** - firma budowlana od 1991, 110+ pracowników
|
||
|
||
### Liderzy Technologiczni
|
||
- **INPI Sp. z o.o.** - infrastruktura IT (VMware, Zabbix, Veeam)
|
||
- **VENCODE** - systemy AI dla bankowości i sektora publicznego
|
||
- **Pixlab Softwarehouse** - 20 lat doświadczenia w software
|
||
- **SEO PARTNER** - certyfikowany Partner Google
|
||
|
||
### Certyfikowane Firmy
|
||
- **P&P** - ISO 9001
|
||
- **PHU TED** - ISO 9001
|
||
- **VOLTRIM TRADE** - VDE, DIN, IEC, ISO 9001
|
||
- **SEO PARTNER** - Google Partner
|
||
|
||
---
|
||
|
||
## Kolejne Kroki - Wzbogacanie Danych
|
||
|
||
### Priorytet 1: Strony WWW Firm
|
||
**Cel:** Wzbogacić dane odwiedzając strony internetowe każdej firmy
|
||
|
||
**Do wydobycia:**
|
||
- Pełniejsze opisy usług
|
||
- Dane kontaktowe (dodatkowe telefony, emaile)
|
||
- Osoby zarządzające (prezes, zarząd)
|
||
- Certyfikaty i nagrody
|
||
- Historia firmy
|
||
- Dane finansowe (jeśli publiczne)
|
||
- Linki do social media
|
||
|
||
**Firmy ze stronami WWW:** 55 (68.8%)
|
||
|
||
**Strategia:**
|
||
1. Utworzyć skrypt `enrich_from_websites.py`
|
||
2. Dla każdej firmy ze stroną WWW:
|
||
- Pobrać stronę główną
|
||
- Znaleźć sekcje: O nas, Kontakt, Zespół
|
||
- Wydobyć strukturalne dane
|
||
- Uzupełnić brakujące pola w bazie
|
||
3. Aktualizować `data_quality_score` po każdym wzbogaceniu
|
||
|
||
### Priorytet 2: Rejestry Publiczne
|
||
**Źródła:**
|
||
- CEIDG (Centralna Ewidencja i Informacja o Działalności Gospodarczej)
|
||
- KRS (Krajowy Rejestr Sądowy)
|
||
- GUS (Główny Urząd Statystyczny)
|
||
|
||
**Do wydobycia:**
|
||
- REGON (obecnie tylko 15% firm ma w bazie)
|
||
- KRS (obecnie tylko 5% firm ma w bazie)
|
||
- Oficjalne dane firmy
|
||
- Zarząd i udziałowcy
|
||
- Kapitał zakładowy
|
||
- Rok założenia
|
||
|
||
**Strategia:**
|
||
1. API GUS dla REGON
|
||
2. API KRS dla danych rejestrowych
|
||
3. Batch processing dla wszystkich 80 firm
|
||
|
||
### Priorytet 3: Social Media
|
||
**Platformy:**
|
||
- LinkedIn (profesjonalne profile firm)
|
||
- Facebook (interakcja z klientami)
|
||
- Instagram (wizualna prezentacja)
|
||
- YouTube (filmy firmowe)
|
||
|
||
**Strategia:**
|
||
1. Wyszukać profile firm na każdej platformie
|
||
2. Zapisać w tabeli `company_social_media`
|
||
3. Śledzić metryki (followers, engagement)
|
||
|
||
### Priorytet 4: Google Business Profile
|
||
**Dane do wydobycia:**
|
||
- Oceny i recenzje
|
||
- Zdjęcia lokalu
|
||
- Godziny otwarcia
|
||
- Dodatkowe dane kontaktowe
|
||
- Lokalizacja GPS
|
||
|
||
---
|
||
|
||
## Pliki Projektu
|
||
|
||
### Skrypty Database
|
||
- `extend_database_schema.py` - rozszerzenie schematu (✅ wykonane)
|
||
- `import_norda_data_enrichment.py` - import danych z JSON (✅ wykonane)
|
||
|
||
### Dane JSON
|
||
- `norda_companies_final.json` - kompletne dane 80 firm (60 KB)
|
||
|
||
### Dokumentacja
|
||
- `PROJECT_INFO.md` - ogólna dokumentacja projektu
|
||
- `SCRIPTS_INDEX.md` - indeks wszystkich skryptów
|
||
- `DATA_COLLECTION_SUMMARY.md` - podsumowanie zbierania danych
|
||
- `DATABASE_ENRICHMENT_SUMMARY.md` - ten dokument
|
||
|
||
### Baza Danych
|
||
- `nordabiz_local.db` - SQLite database
|
||
- **80 firm** z wzbogaconymi danymi
|
||
- **16 osób** kontaktowych
|
||
- **3 tabele** główne: companies, company_contacts, company_social_media
|
||
|
||
---
|
||
|
||
## Metryki Sukcesu
|
||
|
||
### Przed Wzbogaceniem
|
||
- Podstawowe dane: nazwa, NIP, adres, telefon, email, strona WWW
|
||
- Brak strukturalnych danych o branży
|
||
- Brak osób kontaktowych
|
||
- Brak oceny jakości danych
|
||
|
||
### Po Wzbogaceniu
|
||
- ✅ 16 nowych pól biznesowych
|
||
- ✅ 16 osób kontaktowych w bazie
|
||
- ✅ Branża/sektor dla 81.2% firm
|
||
- ✅ Oferta usług dla 62.5% firm
|
||
- ✅ Ocena jakości dla 100% firm (średnia 48.3/100)
|
||
- ✅ URLs profili NORDA dla wszystkich firm
|
||
|
||
### Cel Końcowy (po dalszym wzbogacaniu)
|
||
- 🎯 Średnia jakość danych: **≥70/100**
|
||
- 🎯 REGON dla: **≥90% firm**
|
||
- 🎯 Osoby kontaktowe dla: **≥50% firm**
|
||
- 🎯 Social media dla: **≥60% firm**
|
||
- 🎯 Certyfikaty/nagrody dla: **≥30% firm**
|
||
|
||
---
|
||
|
||
## Użycie Bazy Danych
|
||
|
||
### Przykładowe Zapytania
|
||
|
||
**Firmy z najwyższą jakością danych:**
|
||
```sql
|
||
SELECT name, data_quality_score, industry_sector
|
||
FROM companies
|
||
WHERE data_quality_score >= 60
|
||
ORDER BY data_quality_score DESC
|
||
LIMIT 10;
|
||
```
|
||
|
||
**Firmy z branży IT:**
|
||
```sql
|
||
SELECT name, website, technologies_used
|
||
FROM companies
|
||
WHERE industry_sector LIKE '%IT%' OR industry_sector LIKE '%Software%'
|
||
ORDER BY name;
|
||
```
|
||
|
||
**Firmy z osobami kontaktowymi:**
|
||
```sql
|
||
SELECT c.name, cc.full_name, cc.role, cc.email, cc.phone
|
||
FROM companies c
|
||
JOIN company_contacts cc ON c.id = cc.company_id
|
||
ORDER BY c.name;
|
||
```
|
||
|
||
**Rozkład firm po miastach:**
|
||
```sql
|
||
SELECT address_city, COUNT(*) as count
|
||
FROM companies
|
||
WHERE address_city IS NOT NULL
|
||
GROUP BY address_city
|
||
ORDER BY count DESC;
|
||
```
|
||
|
||
---
|
||
|
||
## Wnioski
|
||
|
||
### Mocne Strony
|
||
1. ✅ **100% pokrycie** - wszystkie 80 firm z listy NORDA w bazie
|
||
2. ✅ **Systematyczne podejście** - strukturalny proces zbierania danych
|
||
3. ✅ **Ocena jakości** - automatyczny scoring dla każdej firmy
|
||
4. ✅ **Rozszerzalność** - łatwe dodawanie nowych źródeł danych
|
||
5. ✅ **Dokumentacja** - każdy krok udokumentowany
|
||
|
||
### Do Poprawy
|
||
1. ⚠️ **Jakość danych** - średnio 48.3/100, cel: ≥70/100
|
||
2. ⚠️ **REGON/KRS** - niska dostępność (15%/5%)
|
||
3. ⚠️ **Social media** - brak danych
|
||
4. ⚠️ **Dane finansowe** - minimalne informacje
|
||
5. ⚠️ **Zdjęcia** - brak logo i zdjęć firm
|
||
|
||
### Rekomendacje
|
||
1. **Kontynuuj wzbogacanie** - implementuj Priorytet 1-4
|
||
2. **Automatyzuj** - stwórz scheduled jobs dla periodic updates
|
||
3. **Waliduj** - regularnie sprawdzaj aktualność danych
|
||
4. **Monitoruj** - śledź metryki jakości w czasie
|
||
5. **Rozszerzaj** - dodawaj nowe źródła danych stopniowo
|
||
|
||
---
|
||
|
||
**Status projektu:** 🟢 GOTOWY DO DALSZEGO WZBOGACANIA
|
||
**Kolejny krok:** Wzbogacanie z stron WWW firm (55 firm ze stronami)
|
||
**Szacowany czas:** 2-3 godziny dla batch processing wszystkich stron
|
||
|