1. Wprowadzenie
Ostatnia aktualizacja: 15 września 2021 r.
Dane potrzebne do uzyskania informacji o cenach i ich optymalizacji są z natury rozproszone (różne systemy, różne lokalne realia itp.), dlatego kluczowe jest opracowanie dobrze skonstruowanej, ustandaryzowanej i czystej tabeli CDM. Obejmuje to kluczowe atrybuty do optymalizacji cen, takie jak transakcje, produkty, ceny i klienci. W tym dokumencie znajdziesz opis poniższych kroków, które pomogą Ci szybko rozpocząć analizę cen. Możesz je rozszerzać i dostosowywać do własnych potrzeb. Poniższy diagram przedstawia kroki opisane w tym dokumencie.

- Ocena źródeł danych: najpierw musisz uzyskać listę źródeł danych, które będą używane do tworzenia modelu CDM. W tym kroku Dataprep służy też do sprawdzania danych wejściowych i identyfikowania w nich problemów. Na przykład brakujące i niezgodne wartości, niespójne konwencje nazewnictwa, duplikaty, problemy z integralnością danych, wartości odstające itp.
- Ujednolicenie danych: następnie rozwiązujemy wcześniej zidentyfikowane problemy, aby zapewnić dokładność, integralność, spójność i kompletność danych. Ten proces może obejmować różne transformacje w Dataprep, takie jak formatowanie dat, standaryzacja wartości, konwersja jednostek, odfiltrowywanie niepotrzebnych pól i wartości oraz dzielenie, łączenie lub usuwanie duplikatów danych źródłowych.
- Ujednolicenie w jednej strukturze: na następnym etapie potoku każde źródło danych jest łączone w jedną szeroką tabelę w BigQuery zawierającą wszystkie atrybuty na najdrobniejszym poziomie szczegółowości. Ta zdenormalizowana struktura umożliwia wydajne zapytania analityczne, które nie wymagają łączenia.
- Dostarczanie analiz i uczenia maszynowego/AI: gdy dane są oczyszczone i sformatowane pod kątem analizy, analitycy mogą badać dane historyczne, aby zrozumieć wpływ wcześniejszych zmian cen. Dodatkowo BigQuery ML może służyć do tworzenia modeli prognozujących, które szacują przyszłą sprzedaż. Wyniki tych modeli można uwzględniać w panelach w Lookerze, aby tworzyć scenariusze „co by było, gdyby”, w których użytkownicy biznesowi mogą analizować, jak mogłaby wyglądać sprzedaż przy określonych zmianach cen.
Na poniższym diagramie przedstawiono komponenty Google Cloud użyte do utworzenia potoku analitycznego optymalizacji cen.

Co utworzysz
Pokażemy Ci, jak zaprojektować hurtownię danych do optymalizacji cen, zautomatyzować przygotowywanie danych w czasie, używać uczenia maszynowego do przewidywania wpływu zmian cen produktów oraz tworzyć raporty, które dostarczą Twojemu zespołowi przydatnych informacji.
Czego się nauczysz
- Jak połączyć Dataprep ze źródłami danych na potrzeby analizy cen, które mogą być przechowywane w relacyjnych bazach danych, plikach płaskich, Arkuszach Google i innych obsługiwanych aplikacjach.
- Jak utworzyć przepływ Dataprep, aby utworzyć tabelę CDM w hurtowni danych BigQuery.
- Jak za pomocą BigQuery ML prognozować przyszłe przychody.
- Jak tworzyć raporty w Lookerze, aby analizować historyczne trendy cenowe i sprzedażowe oraz sprawdzać wpływ przyszłych zmian cen.
Czego potrzebujesz
- Projekt Google Cloud z włączonymi płatnościami. Dowiedz się, jak sprawdzić, czy w projekcie włączone są płatności
- W projekcie musi być włączona usługa BigQuery. Jest ona automatycznie włączana w nowych projektach. W przeciwnym razie włącz ją w istniejącym projekcie. Możesz też dowiedzieć się więcej o rozpoczynaniu pracy z BigQuery w konsoli Cloud.
- W projekcie musi być też włączona usługa Dataprep. Dataprep jest włączony w Google Console w lewym menu nawigacyjnym w sekcji Big Data. Aby ją aktywować, wykonaj czynności rejestracji.
- Aby skonfigurować własne panele Looker, musisz mieć dostęp deweloperski do instancji Lookera. Aby poprosić o wersję próbną, skontaktuj się z naszym zespołem. Możesz też użyć naszego publicznego panelu, aby sprawdzić wyniki potoku danych na naszych przykładowych danych.
- Przydatna jest znajomość języka SQL i podstawowa wiedza na temat tych usług: Dataprep by Trifacta, BigQuery, Looker.
2. Tworzenie modelu CDM w BigQuery
W tej sekcji utworzysz wspólny model danych (CDM), który zapewnia skonsolidowany widok informacji potrzebnych do analizowania i sugerowania zmian cen.
- Otwórz konsolę BigQuery.
- Wybierz projekt, w którym chcesz przetestować ten wzorzec odniesienia.
- Użyj istniejącego zbioru danych lub utwórz zbiór danych BigQuery. Nadaj zbiorowi danych nazwę
Pricing_CDM. - Utwórz tabelę:
create table `CDM_Pricing`
(
Fiscal_Date DATETIME,
Product_ID STRING,
Client_ID INT64,
Customer_Hierarchy STRING,
Division STRING,
Market STRING,
Channel STRING,
Customer_code INT64,
Customer_Long_Description STRING,
Key_Account_Manager INT64,
Key_Account_Manager_Description STRING,
Structure STRING,
Invoiced_quantity_in_Pieces FLOAT64,
Gross_Sales FLOAT64,
Trade_Budget_Costs FLOAT64,
Cash_Discounts_and_other_Sales_Deductions INT64,
Net_Sales FLOAT64,
Variable_Production_Costs_STD FLOAT64,
Fixed_Production_Costs_STD FLOAT64,
Other_Cost_of_Sales INT64,
Standard_Gross_Margin FLOAT64,
Transportation_STD FLOAT64,
Warehouse_STD FLOAT64,
Gross_Margin_After_Logistics FLOAT64,
List_Price_Converged FLOAT64
);
3. Ocena źródeł danych
W tym samouczku użyjesz przykładowych źródeł danych przechowywanych w Arkuszach Google i BigQuery.
- Arkusz Google transactions, który zawiera po jednym wierszu na każdą transakcję. Zawiera szczegóły takie jak ilość sprzedanych sztuk każdego produktu, łączna sprzedaż brutto i powiązane koszty.
- Arkusz Google ceny produktów, który zawiera cenę każdego produktu dla danego klienta w poszczególnych miesiącach.
- Tabela BigQuery company_descriptions, która zawiera informacje o poszczególnych klientach.
Tę tabelę BigQuery company_descriptions można utworzyć za pomocą tej instrukcji:
create table `Company_Descriptions`
(
Customer_ID INT64,
Customer_Long_Description STRING
);
insert into `Company_Descriptions` values (15458, 'ENELTEN');
insert into `Company_Descriptions` values (16080, 'NEW DEVICES CORP.');
insert into `Company_Descriptions` values (19913, 'ENELTENGAS');
insert into `Company_Descriptions` values (30108, 'CARTOON NT');
insert into `Company_Descriptions` values (32492, 'Thomas Ed Automobiles');
4. Tworzenie przepływu
W tym kroku zaimportujesz przykładowy przepływ Dataprep, którego użyjesz do przekształcenia i ujednolicenia przykładowych zbiorów danych wymienionych w poprzedniej sekcji. Przepływ reprezentuje potok lub obiekt, który łączy zbiory danych i przepisy, które służą do ich przekształcania i łączenia.
- Pobierz pakiet przepływu Pricing Optimization Pattern z GitHuba, ale nie rozpakowuj go. Ten plik zawiera przepływ wzorca projektowego optymalizacji cen używany do przekształcania przykładowych danych.
- W Dataprep kliknij ikonę przepływów na pasku nawigacyjnym po lewej stronie. Następnie w widoku Przepływy w menu kontekstowym kliknij Importuj. Po zaimportowaniu możesz wybrać przepływ, aby go wyświetlić i edytować.

- Po lewej stronie przepływu należy połączyć Arkusze Google „Ceny produktów” i każdy z 3 arkuszy „Transakcje” jako zbiory danych. Aby to zrobić, kliknij prawym przyciskiem myszy obiekty zbioru danych Arkuszy Google i wybierz Zastąp. Następnie kliknij link Import Datasets. Kliknij ikonę ołówka „Edytuj ścieżkę”, jak pokazano na poniższym diagramie.

Zastąp bieżącą wartość linkiem do Arkuszy Google , który wskazuje transakcje i ceny produktów.
Jeśli Arkusze Google zawierają kilka kart, możesz wybrać w menu kartę, której chcesz użyć. Kliknij Edytuj i wybierz karty, których chcesz użyć jako źródła danych. Następnie kliknij Zapisz i Importuj i dodaj do przepływu. Gdy wrócisz do okna, kliknij Zastąp. W tym przepływie każdy arkusz jest reprezentowany jako osobny zbiór danych, aby zademonstrować łączenie różnych źródeł w późniejszym przepisie.

- Zdefiniuj tabele wyjściowe BigQuery:
W tym kroku powiążesz lokalizację tabeli wyjściowej CDM_Pricing BigQuery, która będzie wczytywana za każdym razem, gdy uruchomisz zadanie Dataoprep.
W widoku przepływu kliknij ikonę danych wyjściowych mapowania schematu, a w panelu Szczegóły kliknij kartę Miejsca docelowe. Następnie możesz edytować zarówno dane wyjściowe ręcznych miejsc docelowych używane do testowania, jak i dane wyjściowe zaplanowanych miejsc docelowych, które są używane, gdy chcesz zautomatyzować cały proces. Aby to zrobić, wykonaj te czynności:
- Edytowanie „Miejsc docelowych określonych ręcznie”: w panelu Szczegóły w sekcji Miejsca docelowe określone ręcznie kliknij przycisk Edytuj. Na stronie Ustawienia publikowania w sekcji Działania publikowania, jeśli działanie publikowania już istnieje, edytuj je. W przeciwnym razie kliknij przycisk Dodaj działanie. Następnie przejdź do zbiorów danych BigQuery, aby znaleźć zbiór danych
Pricing_CDMutworzony w poprzednim kroku, i wybierz tabelęCDM_Pricing. Sprawdź, czy opcja Dołączaj do tej tabeli przy każdym uruchomieniu jest zaznaczona, a potem kliknij Dodaj. Kliknij Zapisz ustawienia. - Edytowanie „Zaplanowanych miejsc docelowych”
W panelu szczegółów w sekcji Zaplanowane miejsca docelowe kliknij Edytuj.
Ustawienia są dziedziczone z miejsc docelowych ustawionych ręcznie i nie musisz wprowadzać żadnych zmian. Kliknij Zapisz ustawienia.
5. Ujednolicanie danych
Podany przepływ łączy, formatuje i oczyszcza dane transakcji, a następnie łączy wynik z opisami firm i zagregowanymi danymi o cenach na potrzeby raportowania. W tym miejscu zapoznasz się z elementami procesu, które widać na obrazie poniżej.

6. Przeglądanie przepisu na dane transakcyjne
Najpierw dowiesz się, co się dzieje w przepisie na dane transakcyjne, który służy do przygotowywania danych o transakcjach. W widoku przepływu kliknij obiekt Dane transakcji, a następnie w panelu Szczegóły kliknij przycisk Edytuj przepis.
Otworzy się strona przekształcenia z przepisem w panelu szczegółów. Przepis zawiera wszystkie kroki transformacji, które są stosowane do danych. Możesz poruszać się po przepisie, klikając poszczególne kroki, aby zobaczyć stan danych w danym miejscu przepisu.
Możesz też kliknąć menu Więcej w przypadku każdego kroku przepisu i wybrać opcję Przejdź do wybranego lub Edytuj, aby sprawdzić, jak działa przekształcenie.
- Złączenie transakcji: pierwszy krok w przepisie na dane transakcyjne polega na złączeniu transakcji przechowywanych w różnych arkuszach reprezentujących poszczególne miesiące.
- Ujednolicenie opisów klientów: następny krok w przepisie polega na ujednoliceniu opisów klientów. Oznacza to, że nazwy klientów mogą być podobne, ale z niewielkimi zmianami, dlatego chcemy je ujednolicić. Przepis pokazuje 2 potencjalne podejścia. Po pierwsze, korzysta z algorytmu standaryzacji, który można skonfigurować za pomocą różnych opcji standaryzacji, takich jak „Podobne ciągi znaków”, gdzie wartości z podobnymi znakami są grupowane razem, lub „Wymowa”, gdzie wartości o podobnym brzmieniu są grupowane razem. Możesz też wyszukać opis firmy w tabeli BigQuery wskazanej powyżej, używając identyfikatora firmy.
Możesz przejść dalej w przepisie, aby poznać różne inne techniki stosowane do czyszczenia i formatowania danych: usuwanie wierszy, formatowanie na podstawie wzorców, wzbogacanie danych za pomocą wyszukiwań, radzenie sobie z brakującymi wartościami lub zastępowanie niechcianych znaków.
7. Zapoznaj się z przepisem na dane dotyczące cen produktów
Następnie możesz sprawdzić, co się dzieje w przepisie na dane o cenach produktów, który łączy przygotowane dane o transakcjach ze zagregowanymi danymi o cenach.
U góry strony kliknij WZORZEC PROJEKTOWY OPTYMALIZACJI CEN, aby zamknąć stronę transformacji i wrócić do widoku przepływu. Następnie kliknij obiekt danych Ceny produktów i edytuj przepis.
- Rozwijanie kolumn z cenami miesięcznymi: kliknij przepis między krokami 2 i 3, aby zobaczyć, jak wyglądają dane przed rozwinięciem. Zauważysz, że dane zawierają wartość transakcji w osobnej kolumnie dla każdego miesiąca: Jan Fev Mar. Nie jest to format wygodny do stosowania agregacji (np.sumy, średniej transakcji) w SQL. Dane muszą zostać przekształcone w taki sposób, aby każda kolumna stała się wierszem w tabeli BigQuery. Przepis wykorzystuje funkcję unpivot, aby przekształcić 3 kolumny w 1 wiersz dla każdego miesiąca, co ułatwia dalsze stosowanie obliczeń grup.
- Obliczanie średniej wartości transakcji według klienta, produktu i daty: chcemy obliczyć średnią wartość transakcji dla każdego klienta, produktu i daty. Możemy użyć funkcji agregującej i wygenerować nową tabelę (opcja „Grupuj według jako nową tabelę”). W takim przypadku dane są agregowane na poziomie grupy i tracimy szczegóły poszczególnych transakcji. Możemy też zachować zarówno szczegóły, jak i wartości zagregowane w tym samym zbiorze danych (opcja „Grupuj według jako nowe kolumny”), co jest bardzo wygodne do zastosowania współczynnika (np. udział procentowy kategorii produktu w całkowitych przychodach). Możesz to sprawdzić, edytując krok 7 przepisu i wybierając opcję „Grupuj według jako nową tabelę” lub „Grupuj według jako nowe kolumny”, aby zobaczyć różnice.
- Łączenie dat cen: na koniec używane jest łączenie, aby połączyć kilka zbiorów danych w większy, dodając kolumny do początkowego zbioru danych. Na tym etapie dane o cenach są łączone z danymi wyjściowymi przepisu na dane transakcyjne na podstawie warunków „Pricing Data.Product Code” = „Transaction Data.SKU” i „Pricing Data.Price Date” = „Transaction Data.Fiscal Date”.
Więcej informacji o przekształceniach, które możesz zastosować w Dataprep, znajdziesz w arkuszu z podpowiedziami dotyczącymi przekształcania danych w Trifacta.
8. Poznaj przepis na mapowanie schematu
Ostatni przepis, Mapowanie schematu, zapewnia, że wynikowa tabela CDM jest zgodna ze schematem istniejącej wynikowej tabeli BigQuery. W tym przypadku funkcja Rapid Target służy do przeformatowania struktury danych w celu dopasowania jej do tabeli BigQuery. Wykorzystuje ona dopasowywanie przybliżone do porównania obu schematów i wprowadza automatyczne zmiany.
9. Ujednolicenie w 1 strukturze
Po skonfigurowaniu źródeł i miejsc docelowych oraz zapoznaniu się z krokami przepływów możesz uruchomić przepływ, aby przekształcić tabelę CDM i wczytać ją do BigQuery.
- Uruchom dane wyjściowe mapowania schematu: w widoku przepływu wybierz obiekt wyjściowy mapowania schematu i kliknij przycisk „Uruchom” w panelu Szczegóły. Wybierz środowisko wykonawcze „Trifacta Photon” i odznacz opcję Ignore Recipe Errors (Ignoruj błędy przepisu). Następnie kliknij przycisk Uruchom. Jeśli określona tabela BigQuery istnieje, Dataprep dołączy do niej nowe wiersze. W przeciwnym razie utworzy nową tabelę.
- Wyświetl stan zadania: Dataprep automatycznie otworzy stronę Uruchom zadanie, aby umożliwić Ci monitorowanie wykonywania zadania. Przetwarzanie i wczytywanie tabeli BigQuery powinno zająć kilka minut. Po zakończeniu zadania dane wyjściowe modelu CDM dotyczące cen zostaną wczytane do BigQuery w czystym, uporządkowanym i znormalizowanym formacie gotowym do analizy.
10. Dostarczanie analiz i technologii ML/AI
Wymagania wstępne dotyczące Analytics
Aby przeprowadzić analizy i model predykcyjny z interesującymi wynikami, utworzyliśmy większy zbiór danych, który pozwala odkrywać konkretne statystyki. Zanim przejdziesz dalej, musisz przesłać te dane do zbioru danych BigQuery.
- Pobierz duży zbiór danych z tego repozytorium GitHub.
- W konsoli Google BigQuery otwórz projekt i zbiór danych CDM_Pricing.
- Kliknij menu i otwórz zbiór danych. Utworzymy tabelę, wczytując dane z pliku lokalnego.
Kliknij przycisk + Utwórz tabelę i określ te parametry:
- Utwórz tabelę z przesłanego pliku i wybierz plik CDM_Pricing_Large_Table.csv.
- Automatyczne wykrywanie schematu, sprawdzanie schematu i parametrów wejściowych
- Opcje zaawansowane, Sposób zapisywania, Zastąp tabelę

- Kliknij Utwórz tabelę.
Po utworzeniu tabeli i przesłaniu danych w konsoli Google BigQuery powinny być widoczne szczegóły nowej tabeli, jak pokazano poniżej. Dzięki danym o cenach w BigQuery możemy łatwo zadawać bardziej złożone pytania, aby dokładniej analizować dane o cenach.

11. Sprawdzanie wpływu zmian cen
Możesz na przykład przeanalizować zmianę zachowania klientów po wcześniejszej zmianie ceny produktu.
- Najpierw tworzysz tabelę tymczasową, która zawiera po jednym wierszu za każdym razem, gdy zmieniła się cena produktu. Znajdują się w niej informacje o cenach poszczególnych produktów, np. ile produktów zamówiono w danej cenie i jaka jest łączna sprzedaż netto związana z tą ceną.
create temp table price_changes as (
select
product_id,
list_price_converged,
total_ordered_pieces,
total_net_sales,
first_price_date,
lag(list_price_converged) over(partition by product_id order by first_price_date asc) as previous_list,
lag(total_ordered_pieces) over(partition by product_id order by first_price_date asc) as previous_total_ordered_pieces,
lag(total_net_sales) over(partition by product_id order by first_price_date asc) as previous_total_net_sales,
lag(first_price_date) over(partition by product_id order by first_price_date asc) as previous_first_price_date
from (
select
product_id,list_price_converged,sum(invoiced_quantity_in_pieces) as total_ordered_pieces, sum(net_sales) as total_net_sales, min(fiscal_date) as first_price_date
from `{{my_project}}.{{my_dataset}}.CDM_Pricing` AS cdm_pricing
group by 1,2
order by 1, 2 asc
)
);
select * from price_changes where previous_list is not null order by product_id, first_price_date desc

- Następnie, gdy tymczasowa tabela będzie już gotowa, możesz obliczyć średnią zmianę ceny w przypadku poszczególnych kodów SKU:
select avg((previous_list-list_price_converged)/nullif(previous_list,0))*100 as average_price_change from price_changes;
- Na koniec możesz przeanalizować, co się dzieje po zmianie ceny, sprawdzając zależność między każdą zmianą ceny a łączną liczbą zamówionych produktów:
select
(total_ordered_pieces-previous_total_ordered_pieces)/nullif(previous_total_ordered_pieces,0)
Jako
price_changes_percent_ordered_change,
(list_price_converged-previous_list)/nullif(previous_list,0)
Jako
price_changes_percent_price_change
from price_changes
12. Tworzenie modelu prognozowania szeregów czasowych
Następnie za pomocą wbudowanych w BigQuery funkcji uczenia maszynowego możesz utworzyć model prognozowania ciągów czasowych ARIMA, aby przewidzieć liczbę sprzedanych produktów.
- Najpierw utwórz model ARIMA_PLUS.
create or replace `{{my_project}}.{{my_dataset}}.bqml_arima`
options
(model_type = 'ARIMA_PLUS',
time_series_timestamp_col = 'fiscal_date',
time_series_data_col = 'total_quantity',
time_series_id_col = 'product_id',
auto_arima = TRUE,
data_frequency = 'AUTO_FREQUENCY',
decompose_time_series = TRUE
) as
select
fiscal_date,
product_id,
sum(invoiced_quantity_in_pieces) as total_quantity
from
`{{my_project}}.{{my_dataset}}.CDM_Pricing`
group by 1,2;
- Następnie użyj funkcji ML.FORECAST, aby prognozować przyszłą sprzedaż poszczególnych produktów:
select
*
from
ML.FORECAST(model testing.bqml_arima,
struct(30 as horizon, 0.8 as confidence_level));
- Dzięki tym prognozom możesz spróbować zrozumieć, co się stanie, jeśli podniesiesz ceny. Jeśli np. podniesiesz cenę każdego produktu o 15%, możesz obliczyć szacunkowe łączne przychody w następnym miesiącu za pomocą takiego zapytania:
select
sum(forecast_value * list_price) as total_revenue
from ml.forecast(mode testing.bqml_arima,
struct(30 as horizon, 0.8 as confidence_level)) forecasts
left join (select product_id,
array_agg(list_price_converged
order by fiscal_date desc limit 1)[offset(0)] as list_price
from `leigha-bq-dev.retail.cdm_pricing` group by 1) recent_prices
using (product_id);
13. Tworzenie raportu
Teraz, gdy zdenormalizowane dane o cenach są scentralizowane w BigQuery i wiesz już, jak wykonywać na nich przydatne zapytania, możesz utworzyć raport, który umożliwi użytkownikom biznesowym przeglądanie tych informacji i podejmowanie na ich podstawie działań.
Jeśli masz już instancję Lookera, możesz zacząć analizować dane o cenach tego wzorca, korzystając z LookML w tym repozytorium GitHub. Wystarczy utworzyć nowy projekt Looker, dodać LookML i zastąpić połączenie oraz nazwy tabel w każdym z plików widoku, aby dopasować je do konfiguracji BigQuery.
W tym modelu znajdziesz tabelę derywowaną ( w tym pliku widoku), którą pokazaliśmy wcześniej, aby sprawdzić zmiany cen:
view: price_changes {
derived_table: {
sql: select
product_id,
list_price_converged,
total_ordered_pieces,
total_net_sales,
first_price_date,
lag(list_price_converged) over(partition by product_id order by first_price_date asc) as previous_list,
lag(total_ordered_pieces) over(partition by product_id order by first_price_date asc) as previous_total_ordered_pieces,
lag(total_net_sales) over(partition by product_id order by first_price_date asc) as previous_total_net_sales,
lag(first_price_date) over(partition by product_id order by first_price_date asc) as previous_first_price_date
from (
select
product_id,list_price_converged,sum(invoiced_quantity_in_pieces) as total_ordered_pieces, sum(net_sales) as total_net_sales, min(fiscal_date) as first_price_date
from ${cdm_pricing.SQL_TABLE_NAME} AS cdm_pricing
group by 1,2
order by 1, 2 asc
)
;;
}
...
}
Oprócz modelu BigQuery ML ARIMA, który pokazaliśmy wcześniej, do prognozowania przyszłej sprzedaży ( w tym pliku widoku).
view: arima_model {
derived_table: {
persist_for: "24 hours"
sql_create:
create or replace model ${sql_table_name}
options
(model_type = 'arima_plus',
time_series_timestamp_col = 'fiscal_date',
time_series_data_col = 'total_quantity',
time_series_id_col = 'product_id',
auto_arima = true,
data_frequency = 'auto_frequency',
decompose_time_series = true
) as
select
fiscal_date,
product_id,
sum(invoiced_quantity_in_pieces) as total_quantity
from
${cdm_pricing.sql_table_name}
group by 1,2 ;;
}
}
...
}
LookML zawiera też przykładowy panel. Wersję demonstracyjną panelu znajdziesz tutaj. Pierwsza część panelu zawiera ogólne informacje o zmianach w sprzedaży, kosztach, cenach i marżach. Jako użytkownik biznesowy możesz utworzyć alert, aby otrzymywać powiadomienia, gdy sprzedaż spadnie poniżej X%, ponieważ może to oznaczać, że należy obniżyć ceny.

W następnej sekcji, która jest widoczna poniżej, użytkownicy mogą sprawdzić trendy związane ze zmianami cen. Możesz tu przejść do bardziej szczegółowego widoku konkretnych produktów, aby zobaczyć dokładną rynkową cenę detaliczną i ceny, na które została zmieniona. Może to być przydatne do określania konkretnych produktów, które wymagają dalszych badań.

Na końcu raportu znajdują się wyniki naszego modelu BigQueryML. Korzystając z filtrów u góry panelu Looker, możesz łatwo wprowadzać parametry, aby symulować różne scenariusze podobne do opisanych powyżej. Na przykład sprawdź, co by się stało, gdyby liczba zamówień spadła do 75% wartości prognozowanej, a ceny wszystkich produktów wzrosły o 25%, jak pokazano poniżej.

Jest to możliwe dzięki parametrom w LookML, które są następnie uwzględniane bezpośrednio w obliczeniach miar. Dzięki temu rodzajowi raportowania możesz znaleźć optymalne ceny wszystkich produktów lub pozyskiwać szczegółowe informacje o konkretnych produktach, aby określić, gdzie należy podnieść lub obniżyć ceny, oraz jakie będą wyniki w zakresie przychodów brutto i netto.
14. Dostosowywanie się do systemów cenowych
W tym samouczku przekształcamy przykładowe źródła danych, ale podobne problemy z danymi napotkasz w przypadku komponentów z cenami, które znajdują się na różnych platformach. Komponenty z informacjami o cenach mają różne formaty eksportu (często xls, arkusze, csv, txt, relacyjne bazy danych, aplikacje biznesowe) w przypadku wyników podsumowujących i szczegółowych, z których każdy można połączyć z Dataprep. Zalecamy rozpoczęcie od opisania wymagań dotyczących przekształcenia w sposób podobny do podanych wyżej przykładów. Gdy Twoje specyfikacje zostaną wyjaśnione i określisz typy potrzebnych przekształceń, możesz je zaprojektować za pomocą Dataprep.
- Utwórz kopię przepływu Dataprep (kliknij przycisk **„…”**po prawej stronie przepływu i wybierz opcję Duplikuj), którą dostosujesz, lub po prostu zacznij od zera, używając nowego przepływu Dataprep.
- Połącz się z własnym zbiorem danych o cenach. Dataprep natywnie obsługuje formaty plików takie jak Excel, CSV, Arkusze Google i JSON. Możesz też łączyć się z innymi systemami za pomocą łączników Dataprep.
- Rozmieść zasoby danych w różnych zidentyfikowanych kategoriach przekształceń. W każdej kategorii utwórz 1 przepis. Zainspiruj się przepływem podanym w tym wzorcu projektu, aby przekształcić dane i napisać własne przepisy. Jeśli utkniesz, nie martw się – poproś o pomoc w oknie czatu w lewym dolnym rogu ekranu Dataprep.
- Połącz przepis z instancją BigQuery. Nie musisz ręcznie tworzyć tabel w BigQuery, Dataprep zrobi to za Ciebie automatycznie. Sugerujemy, aby po dodaniu danych wyjściowych do przepływu wybrać ręczne miejsce docelowe i upuszczać tabelę przy każdym uruchomieniu. Każdy przepis testuj osobno, aż uzyskasz oczekiwane wyniki. Po zakończeniu testów przekonwertuj dane wyjściowe na „Dołącz do tabeli” przy każdym uruchomieniu, aby uniknąć usunięcia wcześniejszych danych.
- Możesz opcjonalnie powiązać przepływ, aby uruchamiać go zgodnie z harmonogramem. Jest to przydatne, jeśli proces musi działać w sposób ciągły. Możesz zdefiniować harmonogram wczytywania odpowiedzi codziennie lub co godzinę w zależności od wymaganej świeżości. Jeśli zdecydujesz się uruchamiać przepływ zgodnie z harmonogramem, musisz dodać do niego wyjście miejsca docelowego harmonogramu dla każdego przepisu.
Modyfikowanie modelu uczenia maszynowego w BigQuery
Ten samouczek zawiera przykładowy model ARIMA. Podczas tworzenia modelu możesz jednak kontrolować dodatkowe parametry, aby jak najlepiej dopasować go do swoich danych. Więcej szczegółów znajdziesz w przykładzie w naszej dokumentacji. Dodatkowo możesz użyć funkcji BigQuery ML.ARIMA_EVALUATE, ML.ARIMA_COEFFICIENTS i ML.EXPLAIN_FORECAST, aby uzyskać więcej szczegółów o modelu i podejmować decyzje dotyczące optymalizacji.
Edytowanie raportów Looker
Po zaimportowaniu LookML do własnego projektu w sposób opisany powyżej możesz wprowadzać bezpośrednie zmiany, aby dodawać dodatkowe pola, modyfikować obliczenia lub parametry wprowadzane przez użytkowników oraz zmieniać wizualizacje na panelach informacyjnych zgodnie z potrzebami swojej firmy. Szczegółowe informacje o tworzeniu w LookML znajdziesz tutaj, a o wizualizacji danych w Lookerze tutaj .
15. Gratulacje
Znasz już najważniejsze kroki, które należy wykonać, aby zoptymalizować ceny produktów w sklepie.
Co dalej?
Poznaj inne wzorce referencyjne inteligentnych analiz
Więcej informacji
- Przeczytaj bloga
- Więcej informacji o Dataprep znajdziesz tutaj
- Więcej informacji o uczeniu maszynowym w BigQuery
- Więcej informacji o Lookerze znajdziesz tutaj